/* ═══════════════════════════════════════════════════════════════
   MERIDIAN ESTATES — Template 2
   Aesthetic: Editorial Cream Luxury · Charcoal & Gold
═══════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Montserrat:wght@300;400;500;600;700&display=swap');

:root {
  --cream:      #F4EFE6;
  --cream2:     #EDE7DC;
  --cream3:     #E4DDD0;
  --ink:        #1A1714;
  --ink2:       #23201C;
  --ink3:       #2E2B26;
  --gold:       #B8935A;
  --gold-l:     #CBA96E;
  --gold-dim:   rgba(184,147,90,.12);
  --t1:         #1A1714;
  --t2:         #5A554F;
  --t3:         #96918A;
  --t4:         #C4BFBA;
  --border:     rgba(184,147,90,.14);
  --border2:    rgba(184,147,90,.26);
  --border-c:   rgba(26,23,20,.09);
  --sh:         0 2px 20px rgba(26,23,20,.06);
  --sh2:        0 12px 56px rgba(26,23,20,.12);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family:'Montserrat',sans-serif; background:var(--cream); color:var(--t1); overflow-x:hidden; -webkit-font-smoothing:antialiased; }
img { display:block; max-width:100%; }
a { text-decoration:none; color:inherit; }
::selection { background:var(--gold); color:var(--cream); }

@keyframes fadeUp   { from{opacity:0;transform:translateY(32px)} to{opacity:1;transform:none} }
@keyframes heroZoom { from{transform:scale(1)} to{transform:scale(1.07)} }
@keyframes pulse    { 0%{opacity:0;transform:translateY(-6px)} 50%{opacity:1} 100%{opacity:0;transform:translateY(8px)} }
@keyframes carousel { from{transform:translateX(0)} to{transform:translateX(-50%)} }

.reveal { opacity:0; transform:translateY(28px); transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1); }
.reveal.in { opacity:1; transform:none; }

/* ── NAV ─────────────────────────────────────────────────────── */
#nav { position:fixed;top:0;left:0;right:0;z-index:900;display:flex;align-items:center;justify-content:space-between;padding:1.75rem 2.5rem;background:transparent;transition:background .4s,padding .35s; }
#nav.solid { background:rgba(244,239,230,.97);backdrop-filter:blur(24px) saturate(160%);border-bottom:1px solid var(--border);padding:1rem 2.5rem;box-shadow:0 2px 20px rgba(26,23,20,.05); }

.nav-left { display:flex;align-items:center;gap:.85rem; }
.nav-menu-text { font-size:.56rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:rgba(244,239,230,.75);transition:color .25s; }
#nav.solid .nav-menu-text { color:var(--t2); }
.nav-hamburger { display:flex;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px; }
.nav-hamburger span { display:block;width:24px;height:1.5px;background:rgba(244,239,230,.9);transition:all .3s; }
#nav.solid .nav-hamburger span { background:var(--t1); }
.nav-hamburger.open span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
.nav-hamburger.open span:nth-child(2) { opacity:0;transform:scaleX(0); }
.nav-hamburger.open span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }

.nav-links-center { display:flex;gap:2.25rem;list-style:none;position:absolute;left:50%;transform:translateX(-50%); }
.nav-links-center a { font-size:.58rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:rgba(244,239,230,.65);position:relative;padding-bottom:3px;transition:color .2s; }
.nav-links-center a::after { content:'';position:absolute;left:0;bottom:-1px;width:0;height:1px;background:var(--gold);transition:width .28s cubic-bezier(.16,1,.3,1); }
.nav-links-center a:hover,.nav-links-center a.active { color:var(--gold); }
.nav-links-center a:hover::after,.nav-links-center a.active::after { width:100%; }
#nav.solid .nav-links-center a { color:var(--t2); }
#nav.solid .nav-links-center a:hover,#nav.solid .nav-links-center a.active { color:var(--gold); }

.nav-logo { font-family:'Cormorant',serif;font-size:1.12rem;font-weight:300;letter-spacing:.06em;color:rgba(244,239,230,.9);line-height:1;text-align:right;transition:color .25s; }
#nav.solid .nav-logo { color:var(--ink); }
.nav-logo-sub { font-family:'Montserrat',sans-serif;font-size:.38rem;font-weight:700;letter-spacing:.32em;text-transform:uppercase;display:block;color:rgba(244,239,230,.35);margin-top:2px;transition:color .25s; }
#nav.solid .nav-logo-sub { color:var(--t3); }

.nav-mobile { display:none;position:fixed;inset:0;z-index:890;background:var(--ink);flex-direction:column;align-items:center;justify-content:center;gap:2rem; }
.nav-mobile.open { display:flex; }
.nav-mobile a { font-family:'Cormorant',serif;font-size:3.2rem;font-weight:300;color:var(--cream);letter-spacing:.03em;transition:color .22s; }
.nav-mobile a:hover { color:var(--gold); }
.nav-mobile-close { position:absolute;top:1.5rem;right:2rem;font-size:1.8rem;color:rgba(244,239,230,.3);cursor:pointer;background:none;border:none;transition:color .2s; }
.nav-mobile-close:hover { color:var(--cream); }

/* ── Sticky search ───────────────────────────────────────────── */
#sticky-search { position:fixed;top:0;left:0;right:0;z-index:880;background:rgba(244,239,230,.97);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);padding:.7rem 2.5rem;transform:translateY(-110%);transition:transform .44s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 24px rgba(26,23,20,.08); }
#sticky-search.visible { transform:translateY(0); }
.sticky-inner { max-width:1100px;margin:0 auto;display:flex;align-items:stretch;border:1px solid var(--border);overflow:hidden; }
.sticky-field { flex:1;padding:.55rem 1rem;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:2px; }
.sticky-field label { font-size:.46rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);line-height:1; }
.sticky-field input,.sticky-field select { background:transparent;border:none;outline:none;font-family:'Montserrat',sans-serif;font-size:.76rem;font-weight:300;color:var(--t1);width:100%;cursor:pointer; }
.sticky-sbtn { padding:0 1.5rem;background:var(--gold);color:var(--cream);border:none;cursor:pointer;font-size:.58rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;transition:background .2s; }
.sticky-sbtn:hover { background:var(--gold-l); }

/* ── Eyebrow / Section labels ────────────────────────────────── */
.eyebrow { font-size:.56rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:.8rem;margin-bottom:.9rem; }
.eyebrow::before { content:'';flex-shrink:0;width:26px;height:1px;background:var(--gold); }

.display-title { font-family:'Cormorant',serif;font-size:clamp(2.4rem,4.5vw,4rem);font-weight:300;letter-spacing:-.01em;line-height:1.06;color:var(--ink); }
.display-title em { font-style:italic;color:var(--gold); }

/* ── Buttons ─────────────────────────────────────────────────── */
.btn-ink { display:inline-flex;align-items:center;gap:.6rem;font-family:'Montserrat',sans-serif;font-size:.6rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;padding:.95rem 2.25rem;background:var(--ink);color:var(--cream);border:1px solid var(--ink);cursor:pointer;transition:background .25s,transform .2s,box-shadow .2s; }
.btn-ink:hover { background:var(--ink2);transform:translateY(-2px);box-shadow:var(--sh2); }
.btn-outline { display:inline-flex;align-items:center;gap:.6rem;font-family:'Montserrat',sans-serif;font-size:.6rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;padding:.95rem 2.25rem;background:transparent;color:var(--t1);border:1px solid var(--border-c);cursor:pointer;transition:all .25s; }
.btn-outline:hover { border-color:var(--ink);background:var(--ink);color:var(--cream); }
.btn-gold { display:inline-flex;align-items:center;gap:.6rem;font-family:'Montserrat',sans-serif;font-size:.6rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;padding:.95rem 2.25rem;background:var(--gold);color:var(--cream);border:none;cursor:pointer;transition:background .25s,transform .2s; }
.btn-gold:hover { background:var(--gold-l);transform:translateY(-2px); }

/* ── Card shared ─────────────────────────────────────────────── */
.prop-card { cursor:pointer;transition:transform .42s cubic-bezier(.34,1.56,.64,1); }
.prop-card:hover { transform:translateY(-8px); }
.prop-img { position:relative;overflow:hidden; }
.prop-img img { width:100%;height:100%;object-fit:cover;transition:transform .7s ease; }
.prop-card:hover .prop-img img { transform:scale(1.04); }
.prop-tag { position:absolute;top:1rem;left:1rem;z-index:3;font-size:.48rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;background:var(--gold);color:var(--cream);padding:.26rem .72rem; }
.prop-price { font-size:.82rem;font-weight:500;color:var(--gold);letter-spacing:.04em;margin-bottom:.2rem;margin-top:1.1rem; }
.prop-name { font-family:'Cormorant',serif;font-size:1.4rem;font-weight:400;color:var(--ink);line-height:1.15;letter-spacing:.01em;margin-bottom:.2rem; }
.prop-address-line { font-size:.66rem;font-weight:400;color:var(--t2);letter-spacing:.04em;margin-bottom:.85rem; }
.prop-meta { display:flex;border-top:1px solid var(--border-c);padding-top:.7rem; }
.prop-met { flex:1;display:flex;flex-direction:column;gap:.1rem;border-right:1px solid var(--border-c);padding:0 .65rem; }
.prop-met:first-child { padding-left:0; }
.prop-met:last-child { border-right:none; }
.prop-met-n { font-size:.82rem;font-weight:500;color:var(--ink); }
.prop-met-l { font-size:.46rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--t3); }

/* ── Forms ───────────────────────────────────────────────────── */
.form-group { margin-bottom:1.5rem; }
.form-label { font-size:.5rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--t2);display:block;margin-bottom:.6rem; }
.form-input,.form-textarea,.form-select { width:100%;background:transparent;border:none;border-bottom:1px solid var(--border-c);font-family:'Montserrat',sans-serif;font-size:.85rem;font-weight:300;color:var(--t1);padding:.7rem 0;outline:none;transition:border-color .22s;border-radius:0; }
.form-input:focus,.form-textarea:focus,.form-select:focus { border-color:var(--gold); }
.form-input::placeholder,.form-textarea::placeholder { color:var(--t4); }
.form-textarea { min-height:120px;resize:vertical; }
.form-select { cursor:pointer; }
.form-select option { background:var(--cream); }
.form-row { display:grid;grid-template-columns:1fr 1fr;gap:1.25rem; }
.submit-btn { width:100%;margin-top:.75rem;font-family:'Montserrat',sans-serif;font-size:.6rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:1.1rem;background:var(--ink);color:var(--cream);border:none;cursor:pointer;transition:background .22s,transform .2s; }
.submit-btn:hover { background:var(--gold);transform:translateY(-1px); }

/* ── Footer ──────────────────────────────────────────────────── */
#footer { background:var(--ink);padding:5.5rem 3.5rem 2.5rem; }
.footer-inner { max-width:1200px;margin:0 auto; }
.footer-grid { display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:4rem;padding-bottom:4rem;border-bottom:1px solid rgba(244,239,230,.07); }
.footer-brand-name { font-family:'Cormorant',serif;font-size:1.55rem;font-weight:300;color:var(--cream);letter-spacing:.05em; }
.footer-brand-name em { font-style:italic;color:var(--gold); }
.footer-brand-tagline { font-size:.42rem;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:rgba(244,239,230,.2);margin:5px 0 1rem; }
.footer-brand p { font-size:.76rem;font-weight:300;color:rgba(244,239,230,.32);line-height:1.85;max-width:220px; }
.footer-col h4 { font-size:.5rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:1.4rem; }
.footer-col ul { list-style:none;display:flex;flex-direction:column;gap:.72rem; }
.footer-col ul li a { font-size:.76rem;font-weight:300;color:rgba(244,239,230,.35);letter-spacing:.03em;transition:color .2s; }
.footer-col ul li a:hover { color:var(--cream); }
.footer-bottom { display:flex;align-items:center;justify-content:space-between;padding-top:2.25rem;flex-wrap:wrap;gap:1rem; }
.footer-copy { font-size:.66rem;font-weight:300;color:rgba(244,239,230,.2); }
.footer-socials { display:flex;gap:.8rem; }
.footer-socials a { width:34px;height:34px;border:1px solid rgba(244,239,230,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;color:rgba(244,239,230,.28);font-size:.7rem;transition:all .2s; }
.footer-socials a:hover { border-color:var(--gold);color:var(--gold); }

/* ── Floating pill CTA ───────────────────────────────────────── */
#lc-pill { position:fixed;bottom:1.75rem;left:50%;transform:translateX(-50%);z-index:800;background:var(--gold);color:var(--cream);font-family:'Montserrat',sans-serif;font-size:.56rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;padding:.9rem 2.25rem;border-radius:999px;box-shadow:0 8px 36px rgba(184,147,90,.38);white-space:nowrap;cursor:pointer;border:none;display:none;align-items:center;gap:.7rem;transition:all .25s; }
#lc-pill:hover { background:var(--gold-l);transform:translateX(-50%) translateY(-2px);box-shadow:0 14px 48px rgba(184,147,90,.45); }

.wrap { max-width:1200px;margin:0 auto; }

/* ── Scrollbar ───────────────────────────────────────────────── */
::-webkit-scrollbar { width:4px; }
::-webkit-scrollbar-track { background:var(--cream2); }
::-webkit-scrollbar-thumb { background:var(--gold-dim);border-radius:2px; }
::-webkit-scrollbar-thumb:hover { background:var(--gold); }

/* ═══════════ RESPONSIVE ═══════════ */
@media(max-width:1024px) {
  .footer-grid { grid-template-columns:1fr 1fr;gap:2.5rem; }
  .nav-links-center { display:none; }
}
@media(max-width:768px) {
  .wrap { padding:0 1.25rem; }
  .footer-grid { grid-template-columns:1fr;gap:2rem; }
  #footer { padding:3.5rem 1.25rem 2rem; }
  .footer-bottom { flex-direction:column;text-align:center; }
  .nav-links-center { display:none; }
}

/* NEWSLETTER_MOBILE_FIX */
@media(max-width:768px){.newsletter-inner{flex-direction:column!important;gap:2rem!important;}.newsletter-inner>*{max-width:100%!important;}#newsletter{padding:4rem 1.5rem!important;}}
