/* =============================================
   AMERICAN REALTY MEXICO — SHARED STYLES
   ============================================= */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --navy:#0A1628;--navy2:#142238;--blue:#1A5276;--blue2:#2874A6;
  --teal:#148F8F;--teal2:#1ABC9C;--gold:#C8960C;--gold2:#F0B429;
  --white:#fff;--off:#F8F9FA;--cream:#F4F1EB;--gray:#5D6D7E;
  --light:#EAF0F6;--border:#D5D8DC;--text:#1A252F;--red:#C0392B;
  --green:#27AE60;
}

html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;color:var(--text);background:var(--white);font-size:16px;line-height:1.6}
h1,h2,h3,h4{font-family:'Playfair Display',serif}
a{text-decoration:none;color:inherit}

/* ---- TOPBAR ---- */
.topbar{background:var(--navy);padding:.45rem 2rem;display:flex;justify-content:space-between;align-items:center;font-size:.78rem;color:rgba(255,255,255,.65)}
.tb-right{display:flex;gap:1.75rem;align-items:center}
.tb-phone{color:var(--gold2)!important;font-weight:600;font-size:.82rem}
.tb-badge{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.8);padding:.15rem .55rem;border-radius:2px;font-size:.65rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}

/* ---- NAV ---- */
nav{background:#fff;border-bottom:1px solid var(--border);padding:0 2rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:1000;box-shadow:0 2px 12px rgba(0,0,0,.05)}
.nav-logo{display:flex;flex-direction:column;padding:.75rem 0;cursor:pointer}
.nav-logo-main{font-family:'Playfair Display',serif;font-weight:700;font-size:1.25rem;color:var(--navy);line-height:1}
.nav-logo-main span{color:var(--teal)}
.nav-logo-sub{font-size:.6rem;color:var(--gray);letter-spacing:.1em;text-transform:uppercase;margin-top:.1rem}
.nav-links{display:flex;align-items:center}
.nav-links a{padding:.9rem .7rem;font-size:.72rem;font-weight:500;color:var(--navy);letter-spacing:.03em;text-transform:uppercase;border-bottom:2px solid transparent;transition:all .2s;cursor:pointer;white-space:nowrap}
.nav-links a:hover{color:var(--teal);border-color:var(--teal)}
.nav-links a.active{color:var(--teal);border-color:var(--teal)}
.nav-cta{background:var(--teal)!important;color:#fff!important;padding:.5rem 1.1rem!important;border-radius:3px;border-bottom:none!important;font-weight:600!important;margin-left:.5rem}
.nav-phone{color:var(--blue)!important;font-weight:600!important;border-bottom:none!important}

/* ---- BUTTONS ---- */
.btn-teal{background:var(--teal);color:#fff;padding:.82rem 1.7rem;border-radius:3px;font-weight:600;font-size:.83rem;text-transform:uppercase;letter-spacing:.05em;transition:all .2s;display:inline-block;border:2px solid var(--teal)}
.btn-teal:hover{background:var(--teal2);border-color:var(--teal2)}
.btn-outline-w{background:transparent;color:#fff;padding:.82rem 1.7rem;border-radius:3px;font-weight:500;font-size:.83rem;text-transform:uppercase;letter-spacing:.05em;border:2px solid rgba(255,255,255,.3);display:inline-block;transition:all .2s}
.btn-outline-w:hover{border-color:#fff}
.btn-white{background:#fff;color:var(--teal);padding:.82rem 1.9rem;border-radius:3px;font-weight:700;font-size:.83rem;text-transform:uppercase;letter-spacing:.05em;border:2px solid #fff;display:inline-block;transition:all .2s}
.btn-white:hover{background:transparent;color:#fff}
.btn-ow{background:transparent;color:#fff;padding:.82rem 1.9rem;border-radius:3px;font-weight:600;font-size:.83rem;text-transform:uppercase;letter-spacing:.05em;border:2px solid rgba(255,255,255,.4);display:inline-block;transition:all .2s}
.btn-ow:hover{border-color:#fff}

/* ---- SECTIONS / LAYOUT ---- */
section{padding:4.5rem 2rem}
.wrap{max-width:1200px;margin:0 auto}
.stag{font-size:.67rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin-bottom:.55rem}
.stit{font-family:'Playfair Display',serif;font-size:clamp(1.6rem,2.8vw,2.3rem);font-weight:700;color:var(--navy);line-height:1.2;margin-bottom:.85rem}
.stit em{color:var(--teal);font-style:italic}
.sintro{font-size:.95rem;color:var(--gray);font-weight:300;line-height:1.75;max-width:600px}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.reveal.vis{opacity:1;transform:none}
.card{background:#fff;border:1px solid var(--border);border-radius:4px;transition:box-shadow .25s,transform .2s}
.card:hover{box-shadow:0 6px 24px rgba(0,0,0,.09);transform:translateY(-2px)}

/* ---- PAGE HERO BANNER (interior pages) ---- */
.page-hero{background:var(--navy);padding:3.5rem 2rem;text-align:center}
.page-hero .stag{color:var(--gold2)}
.page-hero h1{font-size:clamp(1.9rem,3.5vw,2.75rem);font-weight:700;color:#fff;margin-bottom:.75rem;line-height:1.15}
.page-hero h1 em{color:var(--gold2);font-style:italic}
.page-hero p{font-size:.95rem;color:rgba(255,255,255,.65);font-weight:300;max-width:560px;margin:0 auto}

/* ---- TRUST BAR ---- */
.trust-bar{background:var(--navy2);padding:.85rem 2rem;border-bottom:1px solid rgba(255,255,255,.07)}
.trust-in{max-width:1200px;margin:0 auto;display:flex;justify-content:space-around;flex-wrap:wrap;gap:.65rem}
.ti{display:flex;align-items:center;gap:.4rem;font-size:.7rem;font-weight:600;color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:.05em}
.ti-dot{width:5px;height:5px;border-radius:50%;background:var(--teal2);flex-shrink:0}

/* ---- PRICE NAV ---- */
.price-nav{background:var(--off);border-bottom:2px solid var(--border);padding:.85rem 2rem;position:sticky;top:58px;z-index:990}
.price-nav-in{max-width:1200px;margin:0 auto;display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.price-nav-label{font-size:.68rem;font-weight:700;color:var(--gray);text-transform:uppercase;letter-spacing:.1em;margin-right:.5rem}
.pn-btn{background:#fff;border:1.5px solid var(--border);color:var(--navy);padding:.35rem .9rem;border-radius:3px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}
.pn-btn:hover,.pn-btn.active{background:var(--teal);border-color:var(--teal);color:#fff}
.pn-land{background:rgba(200,150,12,.1);border-color:var(--gold);color:var(--gold)}
.pn-land:hover,.pn-land.active{background:var(--gold);border-color:var(--gold);color:#fff}

/* ---- HERO (home) ---- */
.hero{background:var(--navy);position:relative;overflow:hidden}
.hero-inner{max-width:1200px;margin:0 auto;padding:3.5rem 2rem 0;display:grid;grid-template-columns:1fr 420px;gap:3rem;align-items:start;position:relative;z-index:1}
.hero-eye{font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold2);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}
.hero-eye::before{content:'';width:24px;height:1px;background:var(--gold2)}
.hero h1{font-size:clamp(1.9rem,3.5vw,3rem);font-weight:700;color:#fff;line-height:1.12;margin-bottom:1rem}
.hero h1 em{color:var(--gold2);font-style:italic}
.hero-sub{font-size:.95rem;color:rgba(255,255,255,.7);font-weight:300;line-height:1.75;margin-bottom:1.75rem;max-width:500px}
.hero-actions{display:flex;gap:.85rem;flex-wrap:wrap;margin-bottom:2rem}
.hero-phone{display:flex;align-items:center;gap:.5rem;font-size:.83rem;color:rgba(255,255,255,.5);margin-bottom:2rem}
.hero-phone a{color:var(--gold2);font-weight:600}
.hero-stats{display:flex;gap:2.5rem;padding-top:1.75rem;border-top:1px solid rgba(255,255,255,.1)}
.hstat-num{font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;color:#fff;line-height:1}
.hstat-num em{color:var(--gold2);font-style:normal;font-size:1rem}
.hstat-label{font-size:.65rem;color:rgba(255,255,255,.45);text-transform:uppercase;letter-spacing:.08em;margin-top:.2rem;font-weight:500}

/* ---- SEARCH CARD ---- */
.hero-search{background:#fff;border-radius:6px 6px 0 0;padding:1.5rem;box-shadow:0 -4px 24px rgba(0,0,0,.2);align-self:flex-end}
.hs-title{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:600;color:var(--navy);margin-bottom:.2rem}
.hs-sub{font-size:.75rem;color:var(--gray);margin-bottom:1.1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}
.sf{margin-bottom:.7rem}
.sf label{display:block;font-size:.63rem;font-weight:600;color:var(--navy);margin-bottom:.2rem;text-transform:uppercase;letter-spacing:.05em}
.sf select{width:100%;padding:.58rem .78rem;border:1.5px solid var(--border);border-radius:3px;font-family:'Inter',sans-serif;font-size:.88rem;color:var(--text);background:#fff;-webkit-appearance:none}
.sf select:focus{outline:none;border-color:var(--teal)}
.sf-row{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.btn-search{width:100%;background:var(--navy);color:#fff;border:none;padding:.82rem;border-radius:3px;font-family:'Inter',sans-serif;font-size:.83rem;font-weight:600;cursor:pointer;text-transform:uppercase;letter-spacing:.05em;transition:background .2s;margin-top:.25rem}
.btn-search:hover{background:var(--teal)}
.search-or{text-align:center;font-size:.73rem;color:var(--gray);margin:.75rem 0}
.btn-wa{display:flex;align-items:center;justify-content:center;gap:.45rem;background:#25D366;color:#fff;padding:.72rem;border-radius:3px;font-weight:600;font-size:.78rem;cursor:pointer;border:none;width:100%}

/* ---- HOME SECTION CARDS ---- */
.section-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:2.5rem}
.sc{background:#fff;border:1px solid var(--border);border-radius:6px;padding:2rem 1.75rem;display:flex;flex-direction:column;transition:box-shadow .25s,transform .2s;text-decoration:none;color:inherit;border-top:4px solid var(--teal)}
.sc:hover{box-shadow:0 8px 28px rgba(0,0,0,.1);transform:translateY(-3px)}
.sc.gold-top{border-top-color:var(--gold)}
.sc-ico{font-size:2rem;margin-bottom:1rem}
.sc h3{font-family:'Playfair Display',serif;font-size:1.15rem;color:var(--navy);margin-bottom:.5rem}
.sc p{font-size:.85rem;color:var(--gray);line-height:1.7;flex:1;margin-bottom:1.1rem}
.sc-link{font-size:.73rem;font-weight:700;color:var(--teal);text-transform:uppercase;letter-spacing:.08em}
.sc.gold-top .sc-link{color:var(--gold)}

/* ---- LIFESTYLE BROWSE ---- */
.life-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.2rem}
.life-card{padding:1.6rem;cursor:pointer;border-left:3px solid transparent;transition:all .25s}
.life-card:hover{border-left-color:var(--teal)}
.life-ico{font-size:1.6rem;margin-bottom:.75rem}
.life-card h3{font-family:'Playfair Display',serif;font-size:1.05rem;color:var(--navy);margin-bottom:.35rem}
.life-card p{font-size:.83rem;color:var(--gray);line-height:1.65;margin-bottom:.65rem}
.life-count{font-size:.7rem;font-weight:600;color:var(--teal);text-transform:uppercase;letter-spacing:.07em}
.life-card.land-card{border-left-color:var(--gold)!important}
.life-card.land-card:hover{background:rgba(200,150,12,.03)}

/* ---- DEVELOPMENTS ---- */
.dev-section{background:var(--navy)}
.dev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:2.5rem}
.dev-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:4px;overflow:hidden;cursor:pointer;transition:all .25s}
.dev-card:hover{background:rgba(255,255,255,.09);transform:translateY(-2px)}
.dev-badge{font-family:'Inter',sans-serif;font-size:.63rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.28rem .85rem;text-align:center}
.dev-badge.available{background:var(--teal);color:#fff}
.dev-badge.land{background:var(--gold);color:var(--navy)}
.dev-badge.presale{background:var(--blue2);color:#fff}
.dev-body{padding:1.35rem}
.dev-name{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:700;color:#fff;margin-bottom:.2rem}
.dev-sub{font-size:.7rem;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.07em;margin-bottom:.85rem}
.dev-price{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:700;color:var(--gold2);margin-bottom:.75rem}
.dev-price span{font-size:.75rem;color:rgba(255,255,255,.45);font-family:'Inter',sans-serif;font-weight:400}
.dev-feats{list-style:none;margin-bottom:1.1rem}
.dev-feats li{font-size:.8rem;color:rgba(255,255,255,.65);padding:.22rem 0;display:flex;align-items:flex-start;gap:.4rem;border-bottom:1px solid rgba(255,255,255,.06)}
.dev-feats li::before{content:'✓';color:var(--teal2);font-size:.75rem;flex-shrink:0;margin-top:.1rem}
.dev-cta{display:block;text-align:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#fff;padding:.6rem;border-radius:3px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;transition:background .2s}
.dev-cta:hover{background:var(--teal)}
.dev-scarcity{font-size:.7rem;color:var(--gold2);text-align:center;margin-top:.5rem;font-style:italic}

/* ---- LAND + BUILD ---- */
.landbuild-section{background:linear-gradient(135deg,#0a1628 0%,#142238 100%)}
.lb-layout{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;margin-top:2.5rem}
.lb-step{display:flex;gap:1.1rem;margin-bottom:1.5rem;align-items:flex-start}
.lb-num{width:36px;height:36px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-weight:700;font-size:1rem;color:var(--navy);flex-shrink:0}
.lb-step h4{font-size:.92rem;font-weight:600;color:#fff;margin-bottom:.3rem}
.lb-step p{font-size:.83rem;color:rgba(255,255,255,.6);line-height:1.65}
.lb-box{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-left:3px solid var(--gold);border-radius:4px;padding:1.75rem}
.lb-box h3{font-family:'Playfair Display',serif;font-size:1.3rem;color:#fff;margin-bottom:.65rem}
.lb-box p{font-size:.88rem;color:rgba(255,255,255,.6);line-height:1.7;margin-bottom:1rem}
.lb-savings{background:rgba(240,180,41,.1);border:1px solid rgba(240,180,41,.2);border-radius:3px;padding:1rem;margin-top:1.25rem}
.lb-savings .num{font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;color:var(--gold2)}
.lb-savings .lab{font-size:.72rem;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.07em;margin-top:.15rem}

/* ---- BELOW MARKET ---- */
.below-section{background:var(--off)}
.bm-layout{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.bm-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem}
.bm-stat{background:#fff;border:1.5px solid var(--border);border-radius:4px;padding:1.25rem;text-align:center}
.bm-num{font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;color:var(--navy)}
.bm-num em{color:var(--teal);font-style:normal;font-size:1rem}
.bm-lab{font-size:.65rem;color:var(--gray);text-transform:uppercase;letter-spacing:.07em;margin-top:.2rem}
.bm-story{background:#fff;border:1px solid var(--border);border-radius:4px;padding:2rem}
.bm-story blockquote{font-family:'Playfair Display',serif;font-size:1.2rem;font-style:italic;color:var(--teal);border-left:3px solid var(--gold2);padding-left:1rem;line-height:1.5;margin-bottom:1.1rem}
.bm-story p{font-size:.88rem;color:var(--gray);line-height:1.75;margin-bottom:.75rem}
.bm-story strong{color:var(--navy)}

/* ---- TRUST / WHY ---- */
.trust-section{background:#fff}
.trust-layout{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.cred-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin-top:1.75rem}
.cred{background:var(--off);border:1px solid var(--border);border-radius:4px;padding:1.2rem}
.cred.gold{border-color:var(--gold2)}
.cred-icon{font-size:1.1rem;margin-bottom:.4rem}
.cred h4{font-size:.83rem;font-weight:700;color:var(--navy);margin-bottom:.3rem}
.cred p{font-size:.75rem;color:var(--gray);line-height:1.55}
.tulum-warn{background:var(--off);border:1px solid var(--border);border-left:3px solid var(--red);border-radius:4px;padding:1.6rem}
.tulum-warn h3{font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--navy);margin-bottom:.75rem}
.tulum-warn p{font-size:.85rem;color:var(--gray);line-height:1.7;margin-bottom:.65rem}
.tulum-warn .highlight{background:rgba(192,57,43,.06);border:1px solid rgba(192,57,43,.15);border-radius:3px;padding:.85rem;font-size:.83rem;color:var(--red);line-height:1.6;margin-top:1rem}

/* ---- PROCESS ---- */
.proc-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:2.2rem;position:relative}
.proc-grid::before{content:'';position:absolute;top:1.9rem;left:10%;right:10%;height:1px;background:var(--border);z-index:0}
.proc-step{text-align:center;padding:0 .5rem;position:relative;z-index:1}
.proc-circle{width:40px;height:40px;background:var(--teal);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto .75rem;font-size:.82rem;font-weight:700;color:#fff}
.proc-step h4{font-size:.8rem;font-weight:700;color:var(--navy);margin-bottom:.3rem}
.proc-step p{font-size:.73rem;color:var(--gray);line-height:1.5}

/* ---- COMPARE TABLE ---- */
.compare-table{width:100%;border-collapse:collapse;margin-top:1.75rem}
.compare-table th{background:var(--navy);color:#fff;padding:.75rem .9rem;text-align:left;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.compare-table td{padding:.7rem .9rem;font-size:.83rem;border-bottom:1px solid var(--border)}
.compare-table tr:last-child td{border-bottom:none}
.compare-table .bad{color:var(--red);font-weight:600}
.compare-table .good{color:var(--teal);font-weight:600}
.compare-table .label{color:var(--gray)}

/* ---- TESTIMONIALS ---- */
.test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:2.2rem}
.test-card{padding:1.6rem}
.test-stars{color:var(--gold2);font-size:.82rem;margin-bottom:.55rem;letter-spacing:.08em}
.test-q{font-size:.88rem;color:var(--text);line-height:1.75;font-style:italic;margin-bottom:1rem}
.test-author strong{display:block;font-size:.78rem;font-weight:700;color:var(--navy)}
.test-author span{font-size:.72rem;color:var(--gray)}
.test-source{font-size:.65rem;color:var(--teal);font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-top:.25rem}

/* ---- NEIGHBORHOODS ---- */
.hood-section{background:var(--navy2)}
.hood-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.07);margin-top:2.2rem;border:1px solid rgba(255,255,255,.07)}
.hood{background:var(--navy2);padding:1.6rem;transition:background .25s;cursor:pointer}
.hood:hover{background:var(--navy)}
.hood h3{font-family:'Playfair Display',serif;font-size:1rem;color:#fff;margin-bottom:.35rem}
.hood p{font-size:.78rem;color:rgba(255,255,255,.5);line-height:1.6;margin-bottom:.65rem}
.hood a{font-size:.68rem;font-weight:600;color:var(--gold2);text-transform:uppercase;letter-spacing:.07em}

/* ---- CTA FINAL ---- */
.cta-final{background:var(--teal);padding:4.5rem 2rem;text-align:center}
.cta-final h2{font-family:'Playfair Display',serif;font-size:clamp(1.75rem,3vw,2.5rem);color:#fff;font-weight:700;margin-bottom:.65rem}
.cta-final h2 em{color:var(--gold2)}
.cta-final p{color:rgba(255,255,255,.8);font-size:.95rem;margin-bottom:2rem;font-weight:300;max-width:540px;margin-left:auto;margin-right:auto}
.cta-btns{display:flex;gap:.85rem;justify-content:center;flex-wrap:wrap;margin-bottom:2.5rem}
.cta-contacts{display:flex;gap:3rem;justify-content:center;flex-wrap:wrap}
.cc .lab{font-size:.63rem;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.18rem;font-weight:600}
.cc a{font-size:.9rem;color:var(--gold2);font-weight:600}

/* ---- FOOTER ---- */
footer{background:#06111E;padding:2.75rem 2rem}
.fi{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2.25rem}
.fb{font-family:'Playfair Display',serif;font-weight:700;font-size:1.1rem;color:#fff;margin-bottom:.25rem}
.fb span{color:var(--teal2)}
.ft{font-size:.78rem;color:rgba(255,255,255,.35);line-height:1.65}
.fb-badges{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.65rem}
.fb-b{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.45);padding:.18rem .55rem;border-radius:2px;font-size:.6rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}
.fc h4{font-size:.63rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.38);margin-bottom:.75rem}
.fc ul{list-style:none}
.fc li{font-size:.78rem;padding:.18rem 0}
.fc li a{color:rgba(255,255,255,.35);transition:color .2s;cursor:pointer}
.fc li a:hover{color:var(--teal2)}
.fbot{max-width:1200px;margin:1.5rem auto 0;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.07);display:flex;justify-content:space-between;font-size:.7rem;color:rgba(255,255,255,.22)}

/* ---- WA FLOAT ---- */
.wa{position:fixed;bottom:1.75rem;right:1.75rem;background:#25D366;color:#fff;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37,211,102,.4);z-index:200;font-size:1.35rem;transition:transform .2s}
.wa:hover{transform:scale(1.1)}

/* ---- RESPONSIVE ---- */
@media(max-width:960px){
  .hero-inner{grid-template-columns:1fr}
  .bm-layout,.lb-layout,.trust-layout{grid-template-columns:1fr}
  .life-grid,.dev-grid,.test-grid,.hood-grid,.cred-grid{grid-template-columns:1fr}
  .section-cards{grid-template-columns:1fr 1fr}
  .proc-grid{grid-template-columns:repeat(2,1fr)}
  .proc-grid::before{display:none}
  .fi{grid-template-columns:1fr 1fr}
  .bm-stats{grid-template-columns:1fr 1fr}
  .nav-links a:not(.nav-cta):not(.nav-phone){display:none}
  .tb-badges{display:none}
}
@media(max-width:600px){
  .section-cards{grid-template-columns:1fr}
  .fi{grid-template-columns:1fr}
}

/* ---------- Listing detail page (/listing/<slug>/) ---------- */

a.dev-card{color:inherit;text-decoration:none;display:block}
a.dev-card:hover{text-decoration:none}
a.life-card{color:inherit;text-decoration:none;display:block}

.listing-detail{padding:3rem 0 4rem;background:var(--off);--section-accent:#148F8F;--section-accent-soft:#E6F4F4}
.listing-detail--properties{--section-accent:#148F8F;--section-accent-soft:#E6F4F4}
.listing-detail--land-build{--section-accent:#C8960C;--section-accent-soft:#FCF3D9}
.listing-detail--below-market{--section-accent:#C0392B;--section-accent-soft:#FBE6E2}
.listing-detail .wrap{max-width:1080px}

/* ----- Gallery ----- */
/* Fixed large container; images letterbox into it with black bars. By default
 * images do NOT upscale (rendered at natural size). JS adds .img-fit when the
 * image's bigger dimension is >= 50% of the container, allowing fit-to-fill. */
.listing-gallery{display:flex;background:#0A1628;border-radius:10px;overflow:hidden;margin-bottom:1.75rem;box-shadow:0 6px 20px rgba(10,22,40,.08);align-items:stretch;height:540px;max-height:70vh}
.listing-gallery .gallery-main{flex:1;min-width:0;background:#000;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.listing-gallery .gallery-main-img{display:block;max-width:100%;max-height:100%;width:auto;height:auto}
.listing-gallery .gallery-main-img.img-fit{width:100%;height:100%;max-width:none;max-height:none;object-fit:contain}
.listing-gallery .gallery-thumbs{width:120px;background:#111;overflow-y:auto;display:flex;flex-direction:column;gap:4px;padding:6px;flex-shrink:0;box-sizing:border-box}
.listing-gallery .gallery-thumb{width:100%;height:80px;object-fit:cover;cursor:pointer;border-radius:3px;opacity:.55;border:2px solid transparent;box-sizing:border-box;flex-shrink:0;display:block;transition:opacity .15s,border-color .15s}
.listing-gallery .gallery-thumb.active,.listing-gallery .gallery-thumb:hover{opacity:1}
.listing-gallery .gallery-thumb.active{border-color:var(--section-accent)}

/* ----- Header (title + features + prices) ----- */
.listing-header{background:#fff;border:1.5px solid #E5E8EC;border-left:6px solid var(--section-accent);border-radius:10px;padding:1.75rem 1.75rem 1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 12px rgba(10,22,40,.04)}
.listing-section-pill{display:inline-block;background:var(--section-accent-soft);color:var(--section-accent);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;padding:.32rem .8rem;border-radius:4px;margin-bottom:.85rem}
.listing-title{font-family:'Playfair Display',serif;font-size:2.4rem;color:#0A1628;line-height:1.1;margin-bottom:.65rem;font-weight:700}
.listing-features{color:#5D6D7E;font-size:1.02rem;margin-bottom:1.25rem;line-height:1.6}
.listing-prices{display:flex;flex-wrap:wrap;gap:.55rem;margin:0}
.prop-price-pill{background:var(--section-accent-soft);border:1.5px solid var(--section-accent);border-radius:4px;padding:.55rem 1.1rem;font-size:1rem;font-weight:700;color:var(--section-accent);min-height:44px;display:inline-flex;align-items:center;letter-spacing:.01em}

/* ----- Cards grid ----- */
.listing-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.listing-card{background:#fff;border:1.5px solid #E5E8EC;border-radius:10px;padding:1.4rem 1.5rem;box-shadow:0 2px 10px rgba(10,22,40,.04);transition:box-shadow .15s,border-color .15s;position:relative;overflow:hidden}
.listing-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--section-accent);opacity:.85}
.listing-card:hover{border-color:var(--section-accent);box-shadow:0 4px 18px rgba(10,22,40,.08)}
.listing-card-icon{font-size:1.4rem;line-height:1;margin-bottom:.6rem}
.listing-card h4{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--section-accent);margin-bottom:.5rem}
.listing-card-value{font-size:1rem;color:#1A252F;font-weight:500;line-height:1.45}
.listing-card--wide{grid-column:1 / -1}

/* ----- Tags inside card ----- */
.listing-card--tags .listing-tags{display:flex;flex-wrap:wrap;gap:.4rem}
.prop-tag{background:var(--section-accent-soft);border:1px solid var(--section-accent);border-radius:3px;padding:.32rem .7rem;font-size:.82rem;color:var(--section-accent);font-weight:600;min-height:32px;display:inline-flex;align-items:center}

/* ----- Description card ----- */
.listing-desc{font-size:.98rem;line-height:1.75;color:#1A252F}
.listing-desc h2,.listing-desc h3{font-family:'Playfair Display',serif;margin:1rem 0 .4rem;color:#0A1628}
.listing-desc ul{padding-left:1.25rem;margin:.4rem 0}
.listing-desc li{margin-bottom:.3rem}
.listing-desc p{margin-bottom:.75rem}
.listing-desc p:last-child{margin-bottom:0}

/* ----- Contact card ----- */
.listing-contact{display:flex;flex-direction:column;gap:.5rem}
.listing-contact a{color:var(--section-accent);font-size:.95rem;text-decoration:none;font-weight:600;display:inline-flex;align-items:center;padding:.25rem 0;word-break:break-word}
.listing-contact a:hover{text-decoration:underline}
.listing-card--wide.listing-card--contact .listing-contact{flex-direction:row;flex-wrap:wrap;gap:.85rem 2rem}
.listing-card--wide.listing-card--contact .listing-contact a{background:var(--section-accent-soft);border:1.5px solid var(--section-accent);border-radius:6px;padding:.7rem 1.2rem;font-size:1rem}
.listing-card--wide.listing-card--contact .listing-contact a:hover{background:var(--section-accent);color:#fff;text-decoration:none}

/* ----- Map card ----- */
.listing-card--map{padding:1.4rem 1.5rem 1.5rem}
#listing-map{height:400px;min-height:400px;border-radius:6px;border:1px solid #D5D8DC;margin-top:.5rem;background:#EAF0F6;position:relative;z-index:0;isolation:isolate}

@media (max-width:960px){
  .listing-cards{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:760px){
  .listing-detail{padding:2rem 0 3rem}
  .listing-detail .wrap{padding:0 1rem}
  .listing-title{font-size:1.8rem}
  .listing-header{padding:1.4rem 1.25rem 1.2rem}
  .listing-gallery{flex-direction:column;margin-bottom:1.25rem}
  .listing-gallery .gallery-main-img{height:auto;max-height:50vh}
  .listing-gallery .gallery-thumbs{width:100%;flex-direction:row;overflow-x:auto;overflow-y:hidden;max-height:none;height:90px}
  .listing-gallery .gallery-thumb{width:90px;height:70px;flex-shrink:0}
  .listing-prices{gap:.4rem}
  .listing-cards{grid-template-columns:1fr;gap:1rem}
  .listing-card{padding:1.15rem 1.25rem}
  .listing-crumbs .crumb-current{max-width:100%}
  #listing-map,.listing-card--map #listing-map{height:280px;min-height:280px}
}
