*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
:root{
  --noir:#0D0D0D;
  --near:#141414;
  --surface:#1C1C1C;
  --card:#232323;
  --border:rgba(255,255,255,0.07);
  --border2:rgba(255,255,255,0.13);
  --gold:#C9A84C;
  --gold2:#E8C872;
  --gold-dim:rgba(201,168,76,0.15);
  --white:#FFFFFF;
  --off:#F7F4EF;
  --muted:rgba(255,255,255,0.45);
  --soft:rgba(255,255,255,0.65);
  --tag-bg:rgba(201,168,76,0.12);
}
html{scroll-behavior:smooth;}
body{font-family:'Outfit',sans-serif;font-weight:300;background:var(--noir);color:var(--white);overflow-x:hidden;cursor:none;}

/* CURSOR */
.cursor{position:fixed;width:10px;height:10px;background:var(--gold);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:transform 0.1s,width 0.3s,height 0.3s,background 0.3s;}
.cursor-ring{position:fixed;width:36px;height:36px;border:1px solid rgba(201,168,76,0.5);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:transform 0.12s ease-out,width 0.3s,height 0.3s,border-color 0.3s;}
.cursor.hover{width:6px;height:6px;}
.cursor-ring.hover{width:54px;height:54px;border-color:var(--gold);}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:500;padding:2rem 5%;display:flex;justify-content:space-between;align-items:center;transition:all 0.5s;}
nav.scrolled{background:rgba(13,13,13,0.97);backdrop-filter:blur(20px);padding:1.2rem 5%;border-bottom:1px solid var(--border);}
.nav-logo{display:flex;flex-direction:column;gap:2px;text-decoration:none;}
.nav-logo-main{font-family:'Playfair Display',serif;font-size:1.35rem;font-weight:500;letter-spacing:0.2em;color:var(--white);}
.nav-logo-sub{font-size:0.55rem;letter-spacing:0.45em;text-transform:uppercase;color:var(--gold);}
.nav-links{display:flex;gap:2.5rem;list-style:none;}
.nav-links a{font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color 0.3s;}
.nav-links a:hover{color:var(--gold);}
.nav-right{display:flex;align-items:center;gap:1.5rem;}
.nav-tel{font-size:0.75rem;letter-spacing:0.1em;color:var(--soft);}
.nav-cta{font-size:0.65rem;font-weight:400;letter-spacing:0.22em;text-transform:uppercase;padding:0.75rem 1.8rem;background:var(--gold);border:none;color:var(--noir);cursor:none;transition:background 0.3s;}
.nav-cta:hover{background:var(--gold2);}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:none;padding:4px;}
.hamburger span{width:22px;height:1px;background:var(--white);display:block;transition:all 0.3s;}

/* HERO */
.hero{height:100vh;position:relative;display:flex;align-items:center;overflow:hidden;}
.hero-bg{position:absolute;inset:0;z-index:0;}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease;background-size:cover;background-position:center;}
.hero-slide.active{opacity:1;}
.hero-slide::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,rgba(13,13,13,0.82) 0%,rgba(13,13,13,0.3) 60%,transparent 100%);}
.hero-content{position:relative;z-index:2;padding:0 5%;max-width:780px;}
.hero-tag{display:inline-flex;align-items:center;gap:0.75rem;font-size:0.62rem;letter-spacing:0.35em;text-transform:uppercase;color:var(--gold);margin-bottom:2rem;animation:fade-up 1s 0.3s both;}
.hero-tag::before{content:'';width:40px;height:1px;background:var(--gold);}
.hero-title{font-family:'Playfair Display',serif;font-size:clamp(3rem,7vw,6.5rem);font-weight:400;line-height:1.05;margin-bottom:1.8rem;animation:fade-up 1s 0.5s both;}
.hero-title em{font-style:italic;color:var(--gold);}
.hero-desc{font-size:1rem;font-weight:300;line-height:1.85;color:rgba(255,255,255,0.6);max-width:440px;margin-bottom:3rem;animation:fade-up 1s 0.7s both;}
.hero-btns{display:flex;gap:1.2rem;align-items:center;animation:fade-up 1s 0.9s both;}
.btn-gold{font-size:0.68rem;font-weight:400;letter-spacing:0.22em;text-transform:uppercase;padding:1.1rem 2.8rem;background:var(--gold);border:1px solid var(--gold);color:var(--noir);cursor:none;transition:all 0.35s;text-decoration:none;display:inline-block;}
.btn-gold:hover{background:var(--gold2);border-color:var(--gold2);}
.btn-outline{font-size:0.68rem;font-weight:400;letter-spacing:0.22em;text-transform:uppercase;padding:1.1rem 2.8rem;background:transparent;border:1px solid rgba(255,255,255,0.3);color:var(--white);cursor:none;transition:all 0.35s;text-decoration:none;display:inline-block;}
.btn-outline:hover{border-color:var(--gold);color:var(--gold);}
.hero-indicators{position:absolute;bottom:3rem;left:5%;z-index:2;display:flex;gap:0.5rem;}
.indicator{width:24px;height:2px;background:rgba(255,255,255,0.25);border:none;cursor:none;transition:all 0.4s;}
.indicator.active{width:48px;background:var(--gold);}
.hero-stats{position:absolute;bottom:3rem;right:5%;z-index:2;display:flex;gap:3rem;}
.hero-stat{text-align:right;}
.hero-stat strong{display:block;font-family:'Playfair Display',serif;font-size:2rem;font-weight:400;color:var(--white);}
.hero-stat span{font-size:0.6rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--gold);}
@keyframes fade-up{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:translateY(0);}}

/* SEARCH PANEL */
.search-panel{background:var(--surface);border-top:1px solid var(--border);padding:0 5%;}
.search-inner{display:flex;align-items:stretch;gap:1px;}
.search-field{flex:1;padding:1.5rem 1.8rem;background:var(--card);display:flex;flex-direction:column;gap:0.4rem;transition:background 0.3s;cursor:none;}
.search-field:hover{background:#2A2A2A;}
.search-field label{font-size:0.58rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);}
.search-field select,.search-field input{background:transparent;border:none;outline:none;font-family:'Outfit',sans-serif;font-size:0.88rem;font-weight:300;color:var(--white);width:100%;cursor:none;}
.search-field select option{background:var(--card);}
.search-btn{font-size:0.65rem;font-weight:500;letter-spacing:0.22em;text-transform:uppercase;padding:0 2.5rem;background:var(--gold);border:none;color:var(--noir);cursor:none;transition:background 0.3s;min-width:160px;}
.search-btn:hover{background:var(--gold2);}

/* SECTIONS */
section{padding:8rem 5%;}
.eyebrow{font-size:0.62rem;letter-spacing:0.35em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;display:flex;align-items:center;gap:1rem;}
.eyebrow::before{content:'';width:30px;height:1px;background:var(--gold);}
.section-title{font-family:'Playfair Display',serif;font-size:clamp(2.2rem,4.5vw,4rem);font-weight:400;line-height:1.1;color:var(--white);margin-bottom:1.5rem;}
.section-title em{font-style:italic;color:var(--gold);}
.section-sub{font-size:0.92rem;line-height:1.85;color:var(--muted);max-width:500px;}

/* FEATURED */
.featured{background:var(--near);}
.featured-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:4rem;}
.view-all{font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);text-decoration:none;display:flex;align-items:center;gap:0.75rem;transition:gap 0.3s;}
.view-all::after{content:'→';}
.view-all:hover{gap:1.2rem;}

/* PROPERTY CARDS */
.props-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;}
.prop-card{background:var(--card);overflow:hidden;position:relative;cursor:none;}
.prop-card.large{grid-column:span 2;}
.prop-img{position:relative;overflow:hidden;}
.prop-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.8s cubic-bezier(0.25,0.46,0.45,0.94);display:block;}
.prop-card:hover .prop-img img{transform:scale(1.08);}
.prop-img .img-h{height:320px;}
.prop-img .img-h-lg{height:420px;}
.prop-badge{position:absolute;top:1.5rem;left:1.5rem;font-size:0.58rem;letter-spacing:0.2em;text-transform:uppercase;padding:0.45rem 1rem;z-index:1;}
.badge-new{background:var(--gold);color:var(--noir);}
.badge-excl{background:rgba(13,13,13,0.85);color:var(--gold);border:1px solid var(--gold);}
.badge-sold{background:rgba(255,255,255,0.1);color:var(--white);border:1px solid rgba(255,255,255,0.3);}
.prop-fav{position:absolute;top:1.5rem;right:1.5rem;width:38px;height:38px;background:rgba(13,13,13,0.7);border:1px solid rgba(255,255,255,0.2);display:flex;align-items:center;justify-content:center;cursor:none;z-index:1;transition:all 0.3s;font-size:1rem;}
.prop-fav:hover,.prop-fav.active{background:var(--gold);border-color:var(--gold);color:var(--noir);}
.prop-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(13,13,13,0.9) 0%,transparent 100%);padding:2rem 1.8rem 1.8rem;transform:translateY(100%);transition:transform 0.4s ease;}
.prop-card:hover .prop-overlay{transform:translateY(0);}
.prop-actions{display:flex;gap:0.75rem;}
.prop-act-btn{flex:1;font-size:0.6rem;letter-spacing:0.18em;text-transform:uppercase;padding:0.7rem;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);color:var(--white);cursor:none;transition:all 0.3s;}
.prop-act-btn:hover{background:var(--gold);border-color:var(--gold);color:var(--noir);}
.prop-body{padding:1.8rem;}
.prop-location{font-size:0.62rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin-bottom:0.6rem;}
.prop-name{font-family:'Playfair Display',serif;font-size:1.35rem;font-weight:400;color:var(--white);margin-bottom:0.4rem;line-height:1.2;}
.prop-name-lg{font-size:1.7rem;}
.prop-desc-short{font-size:0.8rem;color:var(--muted);line-height:1.6;margin-bottom:1.2rem;}
.prop-specs{display:flex;gap:1.2rem;margin-bottom:1.5rem;}
.spec{display:flex;align-items:center;gap:0.4rem;font-size:0.75rem;color:rgba(255,255,255,0.5);}
.spec-icon{font-size:0.85rem;}
.prop-footer{display:flex;justify-content:space-between;align-items:center;padding-top:1.2rem;border-top:1px solid var(--border);}
.prop-price{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:400;color:var(--gold);}
.prop-price span{font-family:'Outfit',sans-serif;font-size:0.7rem;font-weight:300;color:var(--muted);display:block;}
.prop-ref{font-size:0.62rem;letter-spacing:0.15em;color:rgba(255,255,255,0.25);}

/* FILTER TABS */
.filter-tabs{display:flex;gap:1px;margin-bottom:3rem;flex-wrap:wrap;}
.filter-tab{font-size:0.65rem;letter-spacing:0.18em;text-transform:uppercase;padding:0.7rem 1.5rem;background:var(--card);border:1px solid var(--border);color:var(--muted);cursor:none;transition:all 0.3s;}
.filter-tab.active,.filter-tab:hover{background:var(--gold-dim);border-color:var(--gold);color:var(--gold);}

/* CATALOG */
.catalog{background:var(--noir);}
.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:3rem;}

/* STATS BAND */
.stats-band{background:var(--gold);padding:4rem 5%;}
.stats-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;}
.stat-item{padding:2rem 2.5rem;background:rgba(0,0,0,0.08);text-align:center;}
.stat-num{font-family:'Playfair Display',serif;font-size:3rem;font-weight:400;color:var(--noir);line-height:1;}
.stat-label{font-size:0.62rem;letter-spacing:0.28em;text-transform:uppercase;color:rgba(13,13,13,0.6);margin-top:0.5rem;}

/* SERVICES */
.services{background:var(--near);}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:4rem;}
.service-item{padding:2.5rem 2rem;background:var(--card);border-top:2px solid transparent;transition:all 0.35s;cursor:none;}
.service-item:hover{border-top-color:var(--gold);background:#2A2A2A;}
.svc-icon{font-size:2rem;margin-bottom:1.5rem;}
.svc-title{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:400;color:var(--white);margin-bottom:0.75rem;}
.svc-desc{font-size:0.8rem;line-height:1.7;color:var(--muted);}

/* TEAM */
.team{background:var(--noir);}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:4rem;}
.team-card{overflow:hidden;cursor:none;}
.team-img{position:relative;overflow:hidden;height:360px;}
.team-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(30%);transition:filter 0.5s,transform 0.6s;}
.team-card:hover .team-img img{filter:grayscale(0%);transform:scale(1.04);}
.team-info{padding:1.5rem;background:var(--card);}
.team-name{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:400;color:var(--white);margin-bottom:0.25rem;}
.team-role{font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin-bottom:0.75rem;}
.team-contact{font-size:0.75rem;color:var(--muted);}

/* TESTIMONIALS */
.testimonials{background:var(--surface);}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:4rem;}
.testi-card{padding:2.5rem;background:var(--card);border-bottom:2px solid transparent;transition:border-color 0.35s;}
.testi-card:hover{border-bottom-color:var(--gold);}
.testi-stars{color:var(--gold);font-size:0.9rem;letter-spacing:0.1em;margin-bottom:1.2rem;}
.testi-text{font-family:'Playfair Display',serif;font-style:italic;font-size:1.05rem;line-height:1.65;color:rgba(255,255,255,0.8);margin-bottom:1.5rem;}
.testi-author{display:flex;align-items:center;gap:1rem;}
.testi-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid var(--gold);}
.testi-name{font-size:0.85rem;font-weight:500;color:var(--white);}
.testi-meta{font-size:0.7rem;color:var(--muted);}

/* MAP SECTION */
.map-section{background:var(--near);padding:0;}
.map-inner{display:grid;grid-template-columns:1fr 1fr;}
.map-info{padding:6rem 5%;}
.map-embed{background:#1A1A1A;position:relative;overflow:hidden;}
.map-embed iframe{width:100%;height:100%;min-height:500px;border:none;filter:grayscale(80%) invert(90%) contrast(90%);}
.zone-list{margin-top:2.5rem;display:flex;flex-direction:column;gap:1px;}
.zone-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.2rem;background:var(--card);transition:background 0.3s;cursor:none;}
.zone-item:hover{background:#2A2A2A;}
.zone-name{font-size:0.8rem;font-weight:400;color:var(--white);}
.zone-count{font-size:0.7rem;color:var(--gold);}

/* CONTACT */
.contact-section{background:var(--noir);}
.contact-inner{display:grid;grid-template-columns:1fr 1.2fr;gap:6rem;align-items:start;}
.contact-info p{font-size:0.88rem;line-height:1.9;color:var(--muted);margin-bottom:2.5rem;}
.contact-detail{margin-bottom:1.5rem;}
.contact-detail dt{font-size:0.58rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--gold);margin-bottom:0.3rem;}
.contact-detail dd{font-size:0.9rem;color:var(--soft);}
.contact-form{display:flex;flex-direction:column;gap:2px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:2px;}
.cf-field{background:var(--card);padding:1.3rem 1.5rem;transition:background 0.3s;}
.cf-field:focus-within{background:#2A2A2A;}
.cf-field label{display:block;font-size:0.58rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin-bottom:0.4rem;}
.cf-field input,.cf-field select,.cf-field textarea{width:100%;background:transparent;border:none;outline:none;font-family:'Outfit',sans-serif;font-size:0.88rem;font-weight:300;color:var(--white);}
.cf-field textarea{min-height:90px;resize:none;}
.cf-field select option{background:var(--card);}
.form-submit{font-size:0.68rem;font-weight:500;letter-spacing:0.22em;text-transform:uppercase;padding:1.2rem;background:var(--gold);border:none;color:var(--noir);cursor:none;margin-top:0.5rem;transition:background 0.35s;}
.form-submit:hover{background:var(--gold2);}
.form-privacy{font-size:0.72rem;color:rgba(255,255,255,0.3);padding:1rem 0;line-height:1.6;}

/* FOOTER */
footer{background:var(--near);border-top:1px solid var(--border);}
.footer-top{padding:5rem 5% 3rem;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:4rem;}
.footer-brand{}
.footer-brand .brand-name{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:400;color:var(--white);letter-spacing:0.1em;margin-bottom:0.3rem;}
.footer-brand .brand-tagline{font-size:0.6rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem;}
.footer-brand p{font-size:0.8rem;line-height:1.8;color:var(--muted);max-width:280px;}
.footer-social{display:flex;gap:0.75rem;margin-top:1.5rem;}
.soc-btn{width:36px;height:36px;border:1px solid var(--border2);display:flex;align-items:center;justify-content:center;font-size:0.7rem;color:var(--muted);text-decoration:none;transition:all 0.3s;cursor:none;}
.soc-btn:hover{border-color:var(--gold);color:var(--gold);}
.footer-col h4{font-size:0.65rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:0.75rem;}
.footer-col ul a{font-size:0.8rem;color:var(--muted);text-decoration:none;transition:color 0.3s;}
.footer-col ul a:hover{color:var(--white);}
.footer-bottom{padding:1.5rem 5%;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;}
.footer-bottom p{font-size:0.7rem;color:rgba(255,255,255,0.25);}
.footer-bottom-links{display:flex;gap:2rem;}
.footer-bottom-links a{font-size:0.65rem;color:rgba(255,255,255,0.25);text-decoration:none;letter-spacing:0.1em;transition:color 0.3s;}
.footer-bottom-links a:hover{color:var(--gold);}

/* PROPERTY MODAL */
.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,0.92);z-index:800;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.4s;padding:2rem;}
.modal-bg.open{opacity:1;pointer-events:all;}
.prop-modal{background:var(--near);width:min(95vw,1000px);max-height:90vh;overflow-y:auto;position:relative;transform:scale(0.95);transition:transform 0.4s;}
.modal-bg.open .prop-modal{transform:scale(1);}
.modal-close-btn{position:sticky;top:0;z-index:1;display:flex;justify-content:flex-end;padding:1.2rem 1.5rem;background:var(--near);}
.mcb{background:none;border:1px solid var(--border2);color:var(--muted);font-size:0.8rem;padding:0.5rem 1.2rem;cursor:none;letter-spacing:0.1em;transition:all 0.3s;}
.mcb:hover{border-color:var(--gold);color:var(--gold);}
.modal-gallery{display:grid;grid-template-columns:2fr 1fr;gap:2px;}
.modal-gallery img{width:100%;height:100%;object-fit:cover;display:block;}
.modal-gallery .main-img{height:360px;}
.modal-gallery .side-imgs{display:grid;gap:2px;}
.modal-gallery .side-imgs img{height:178px;}
.modal-body{padding:3rem;}
.modal-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;}
.modal-title-area .m-loc{font-size:0.65rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--gold);margin-bottom:0.5rem;}
.modal-title-area h2{font-family:'Playfair Display',serif;font-size:2.2rem;font-weight:400;color:var(--white);line-height:1.15;}
.modal-price-area{text-align:right;}
.modal-price{font-family:'Playfair Display',serif;font-size:2rem;color:var(--gold);}
.modal-price-sub{font-size:0.7rem;color:var(--muted);margin-top:0.2rem;}
.modal-specs{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;margin-bottom:2.5rem;}
.ms-item{background:var(--card);padding:1.2rem;text-align:center;}
.ms-icon{font-size:1.4rem;margin-bottom:0.4rem;}
.ms-val{font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--white);}
.ms-lbl{font-size:0.6rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--gold);margin-top:0.2rem;}
.modal-desc{font-size:0.88rem;line-height:1.9;color:var(--muted);margin-bottom:2rem;}
.modal-features{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem;margin-bottom:2.5rem;}
.mf-item{display:flex;align-items:center;gap:0.6rem;font-size:0.78rem;color:rgba(255,255,255,0.6);}
.mf-item::before{content:'◆';font-size:0.4rem;color:var(--gold);}
.modal-ctas{display:flex;gap:1px;}
.modal-ctas button{flex:1;font-size:0.68rem;letter-spacing:0.2em;text-transform:uppercase;padding:1.1rem;cursor:none;font-family:'Outfit',sans-serif;font-weight:400;transition:all 0.3s;}
.mcta-prim{background:var(--gold);border:none;color:var(--noir);}
.mcta-prim:hover{background:var(--gold2);}
.mcta-sec{background:transparent;border:1px solid var(--border2);color:var(--muted);}
.mcta-sec:hover{border-color:var(--gold);color:var(--gold);}

/* TOAST */
.toast{position:fixed;bottom:2rem;right:2rem;background:var(--gold);color:var(--noir);padding:1rem 2rem;font-size:0.8rem;font-weight:500;letter-spacing:0.1em;z-index:1000;transform:translateY(100px);opacity:0;transition:all 0.4s;}
.toast.show{transform:translateY(0);opacity:1;}

/* MOBILE NAV PANEL */
.mobile-menu{position:fixed;inset:0;background:var(--noir);z-index:600;display:flex;flex-direction:column;justify-content:center;padding:5%;opacity:0;pointer-events:none;transition:opacity 0.4s;transform:translateX(100%);transition:all 0.4s;}
.mobile-menu.open{opacity:1;pointer-events:all;transform:translateX(0);}
.mobile-nav-links{list-style:none;display:flex;flex-direction:column;gap:2rem;}
.mobile-nav-links a{font-family:'Playfair Display',serif;font-size:2.5rem;font-weight:400;color:var(--white);text-decoration:none;transition:color 0.3s;}
.mobile-nav-links a:hover{color:var(--gold);}
.mobile-close{position:absolute;top:2rem;right:5%;background:none;border:none;color:var(--white);font-size:2rem;cursor:none;}

/* WHATSAPP */
.wa-float{position:fixed;bottom:2.5rem;left:2.5rem;width:52px;height:52px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:400;cursor:none;box-shadow:0 4px 20px rgba(37,211,102,0.35);font-size:1.5rem;text-decoration:none;transition:transform 0.3s;}
.wa-float:hover{transform:scale(1.1);}

@media(max-width:1100px){
  .props-grid,.catalog-grid{grid-template-columns:1fr 1fr;}
  .prop-card.large{grid-column:span 1;}
  .prop-img .img-h-lg{height:320px;}
}
@media(max-width:900px){
  .nav-links,.nav-tel,.nav-cta{display:none;}
  .hamburger{display:flex;}
  .props-grid,.catalog-grid{grid-template-columns:1fr;}
  .services-grid,.team-grid,.testi-grid{grid-template-columns:1fr 1fr;}
  .stats-inner{grid-template-columns:1fr 1fr;}
  .map-inner,.contact-inner{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr 1fr;gap:2.5rem;}
  .footer-bottom{flex-direction:column;gap:1rem;text-align:center;}
  .testimonial{padding:5rem 8%;}
  .search-inner{flex-direction:column;}
  .search-btn{padding:1.2rem;}
  .modal-gallery{grid-template-columns:1fr;}
  .modal-specs{grid-template-columns:repeat(3,1fr);}
  .form-row{grid-template-columns:1fr;}
  .hero-stats{display:none;}
  body{cursor:auto;}
  .cursor,.cursor-ring{display:none;}
}