/* ============================================================
   Elista Enterprise — assets/css/main.css  v2.0
   ============================================================ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#061325;
  --navy-2:#0a1e3a;
  --navy-3:#102848;
  --navy-4:#163256;
  --orange:#F05A1A;
  --orange-l:#FF7840;
  --orange-d:#C04010;
  --white:#fff;
  --cream:#F4F7FB;
  --txt:#0a1a30;
  --txt-m:#3a5270;
  --txt-l:#7a90a8;
  --r:6px;
  --rl:14px;
}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--txt);overflow-x:hidden;padding-top:66px}
.hero{margin-top:-66px} /* hero is full viewport so compensate */

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:500;height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:rgba(6,19,37,.94);backdrop-filter:blur(14px);border-bottom:2px solid var(--orange)}
.logo{font-family:'Playfair Display',serif;font-size:20px;font-weight:900;color:#fff;text-decoration:none}
.logo span{color:var(--orange)}
.nav-links{display:flex;gap:4px;list-style:none;align-items:center}
.nav-links a{color:#8AAAC8;text-decoration:none;font-size:13px;font-weight:500;padding:7px 14px;border-radius:var(--r);transition:.2s;cursor:pointer;display:flex;align-items:center;gap:4px}
.nav-links a:hover,.nav-mega-trigger:hover{color:var(--orange);background:rgba(240,90,26,.1)}
.nav-contact{background:var(--orange)!important;color:#fff!important;font-weight:700!important;cursor:pointer}
.nav-contact:hover{background:var(--orange-l)!important}
.nav-chevron{transition:transform .25s;flex-shrink:0}
.has-mega.mega-open .nav-chevron{transform:rotate(180deg)}
.has-mega.mega-open > a{color:var(--orange)!important}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;z-index:10}
.burger span{display:block;width:23px;height:2px;background:#fff;border-radius:2px;transition:.3s}

/* ── MEGA DROPDOWN ── */
.mega-drop{
  position:fixed;top:68px;left:0;right:0;z-index:490;
  background:var(--navy);border-top:2px solid var(--orange);
  box-shadow:0 18px 48px rgba(0,0,0,.55);
  opacity:0;pointer-events:none;transform:translateY(-12px);
  transition:opacity .25s ease,transform .25s ease;
}
.mega-drop.open{opacity:1;pointer-events:all;transform:translateY(0)}
.mega-inner{max-width:1200px;margin:0 auto;padding:28px 5% 24px}
.mega-hdr{display:flex;align-items:baseline;gap:14px;margin-bottom:20px}
.mega-label{font-family:'Playfair Display',serif;font-size:18px;font-weight:700;color:#fff}
.mega-sub{font-size:12px;color:#7A9AB8}
.mega-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.mega-grid-prop{grid-template-columns:repeat(4,1fr)}

/* Service cards in mega */
.mega-card{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:var(--r);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);cursor:pointer;text-decoration:none;transition:.2s}
.mega-card:hover{background:rgba(240,90,26,.12);border-color:rgba(240,90,26,.35);transform:translateY(-2px)}
.mega-ico{width:38px;height:38px;flex-shrink:0;background:rgba(240,90,26,.15);border-radius:8px;display:flex;align-items:center;justify-content:center}
.mega-ico img{width:22px;height:22px;object-fit:contain}
.mega-ico svg{width:20px;height:20px}
.mega-card-txt strong{display:block;font-size:12.5px;font-weight:600;color:#fff;margin-bottom:2px;line-height:1.3}
.mega-card-txt span{font-size:11px;color:#7A9AB8;line-height:1.4;display:block}

/* Property cards in mega */
.prop-mega-card{display:flex;flex-direction:column;border-radius:var(--r);overflow:hidden;border:1px solid rgba(255,255,255,.08);background:var(--navy-3);cursor:pointer;text-decoration:none;transition:.2s}
.prop-mega-card:hover{border-color:var(--orange);transform:translateY(-3px)}
.pmc-img{height:110px;background:var(--navy-4);display:flex;align-items:center;justify-content:center;position:relative;background-size:cover;background-position:center}
.pmc-img svg{width:36px;height:36px;opacity:.3}
.pmc-info{padding:10px 12px}
.pmc-info strong{display:block;font-size:12.5px;font-weight:600;color:#fff;margin-bottom:2px}
.pmc-info span{font-size:11px;color:#6A8AAA;display:block;margin-bottom:4px}
.pmc-price{font-family:'Playfair Display',serif;font-size:13px;font-weight:700;color:var(--orange)}

.mega-footer{margin-top:18px;text-align:right;border-top:1px solid rgba(255,255,255,.07);padding-top:14px}
.mega-all{font-size:12.5px;font-weight:700;color:var(--orange);text-decoration:none;letter-spacing:.3px;transition:.2s}
.mega-all:hover{color:var(--orange-l)}

.mega-overlay{display:none;position:fixed;inset:0;z-index:480;background:rgba(0,0,0,.4);backdrop-filter:blur(2px)}
.mega-overlay.on{display:block}

/* ── WA FAB ── */
.wa-fab{position:fixed;bottom:26px;right:26px;z-index:600;width:56px;height:56px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 4px 20px rgba(37,211,102,.5);transition:transform .2s}
.wa-fab:hover{transform:scale(1.12)}
.wa-fab svg{width:28px;height:28px}

/* ── HERO ── */
.hero{position:relative;height:100vh;min-height:620px;overflow:hidden;display:flex;align-items:center}
.slider{position:absolute;inset:0;z-index:0}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease;background-size:cover;background-position:center}
.slide.active{opacity:1}
.s1{background:linear-gradient(160deg,rgba(6,19,37,.88) 0%,rgba(10,30,58,.72) 60%,rgba(22,50,86,.65) 100%),radial-gradient(ellipse at 80% 50%,rgba(240,90,26,.14) 0%,transparent 60%);background-color:#061325}
.s2{background:linear-gradient(135deg,rgba(8,22,44,.92) 0%,rgba(16,40,72,.78) 50%,rgba(6,19,37,.9) 100%),radial-gradient(ellipse at 20% 70%,rgba(240,90,26,.12) 0%,transparent 55%);background-color:#081624}
.s3{background:linear-gradient(120deg,rgba(6,19,37,.92) 0%,rgba(12,34,62,.8) 45%,rgba(22,50,86,.68) 100%),radial-gradient(ellipse at 50% 20%,rgba(240,90,26,.1) 0%,transparent 50%);background-color:#070f20}
.s4{background:linear-gradient(150deg,rgba(6,19,37,.90) 0%,rgba(14,38,68,.74) 55%,rgba(20,44,76,.72) 100%),radial-gradient(ellipse at 70% 30%,rgba(240,90,26,.13) 0%,transparent 50%);background-color:#060e1e}

.slider-dots{position:absolute;bottom:72px;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:10}
.sdot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.28);cursor:pointer;border:1.5px solid rgba(255,255,255,.28);transition:.3s}
.sdot.on{background:var(--orange);border-color:var(--orange);transform:scale(1.35)}
.sprogress{position:absolute;bottom:0;left:0;height:3px;background:var(--orange);z-index:10;width:0}
.scroll-hint{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:5px;z-index:10;animation:scrollBob 2s ease-in-out infinite}
.scroll-hint span{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.35)}
.scroll-arrow{width:18px;height:18px;border-right:2px solid rgba(255,255,255,.35);border-bottom:2px solid rgba(255,255,255,.35);transform:rotate(45deg)}
@keyframes scrollBob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(6px)}}

/* ── HERO CONTENT ── */
.hero-content{position:relative;z-index:5;padding:0 5%;max-width:820px;width:100%}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(240,90,26,.18);border:1px solid rgba(240,90,26,.45);color:#FFB088;font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;padding:7px 18px;border-radius:100px;margin-bottom:26px;opacity:0;animation:fadeUp .7s ease .1s forwards}
.hero-h1{font-family:'Playfair Display',serif;font-size:clamp(34px,5.5vw,66px);font-weight:900;line-height:1.1;color:#fff;margin-bottom:22px}
.word{display:inline-block;overflow:hidden;margin-right:.25em}
.word-inner{display:inline-block;transform:translateY(110%);animation:wordRise .7s cubic-bezier(.22,.61,.36,1) forwards}
.hero-svc-line{font-size:clamp(15px,2vw,21px);font-weight:600;color:var(--orange);margin-bottom:16px;min-height:1.5em;display:flex;align-items:center;gap:8px;opacity:0;animation:fadeUp .6s ease .9s forwards}
.tw-text{border-right:2px solid var(--orange);padding-right:3px;animation:cursorBlink 1s step-end infinite}
.svc-pre{color:rgba(255,255,255,.45);font-weight:400;font-size:.82em}
.hero-sub{font-size:15px;color:rgba(255,255,255,.5);max-width:500px;line-height:1.8;margin-bottom:32px;opacity:0;animation:fadeUp .7s ease 1.1s forwards}
.hero-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px;opacity:0;animation:fadeUp .7s ease 1.2s forwards}
.chip{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:100px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.75);font-size:12px;font-weight:500;cursor:pointer;text-decoration:none;transition:.2s}
.chip:hover{background:var(--orange);border-color:var(--orange);color:#fff;transform:translateY(-2px)}
.chip-dot{width:5px;height:5px;border-radius:50%;background:var(--orange);flex-shrink:0}
.chip:hover .chip-dot{background:#fff}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap;opacity:0;animation:fadeUp .7s ease 1.35s forwards}
.btn-p{background:var(--orange);color:#fff;font-weight:700;font-size:14px;padding:13px 30px;border-radius:var(--r);text-decoration:none;display:inline-block;border:none;cursor:pointer;transition:.2s}
.btn-p:hover{background:var(--orange-l);transform:translateY(-2px)}
.btn-o{background:transparent;color:#fff;font-weight:500;font-size:14px;padding:12px 28px;border-radius:var(--r);border:1px solid rgba(255,255,255,.28);text-decoration:none;display:inline-block;transition:.2s;cursor:pointer}
.btn-o:hover{border-color:var(--orange);color:var(--orange)}
.hero-stats{display:flex;gap:0;margin-top:44px;opacity:0;animation:fadeUp .7s ease 1.5s forwards}
.stat-item{padding:0 28px;border-right:1px solid rgba(255,255,255,.1);text-align:center}
.stat-item:first-child{padding-left:0}
.stat-item:last-child{border-right:none}
.stat-num{font-family:'Playfair Display',serif;font-size:30px;font-weight:700;color:var(--orange);line-height:1;display:block}
.stat-lbl{font-size:11px;color:rgba(255,255,255,.38);margin-top:4px;letter-spacing:.4px}

@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes wordRise{to{transform:translateY(0)}}
@keyframes cursorBlink{0%,100%{border-color:var(--orange)}50%{border-color:transparent}}

/* ── SECTIONS ── */
section{padding:84px 5%;scroll-margin-top:76px}
.s-chip{display:inline-flex;align-items:center;gap:8px;color:var(--orange-d);font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;margin-bottom:12px}
.s-chip::before{content:'';width:20px;height:2px;background:var(--orange);display:block}
.s-title{font-family:'Playfair Display',serif;font-size:clamp(24px,3.5vw,42px);font-weight:700;color:var(--txt);margin-bottom:12px;line-height:1.2}
.s-sub{font-size:15px;color:var(--txt-m);max-width:520px;line-height:1.75}

/* ── SERVICES ── */
#services{background:var(--cream)}
.srv-hdr{margin-bottom:48px}
.srv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:20px}
.sc{background:#fff;border-radius:var(--rl);padding:30px 26px;border:1px solid #dce4f0;transition:box-shadow .3s,transform .3s,border-color .3s;text-decoration:none;color:inherit;display:block;position:relative;overflow:hidden;cursor:pointer}
.sc::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.sc:hover{box-shadow:0 12px 38px rgba(6,19,37,.13);transform:translateY(-5px);border-color:#f0a080}
.sc:hover::after{transform:scaleX(1)}
.sc-ico{width:48px;height:48px;background:rgba(240,90,26,.1);border-radius:11px;display:flex;align-items:center;justify-content:center;margin-bottom:15px}
.sc-ico svg,.sc-ico img{width:23px;height:23px;object-fit:contain}
.sc h3{font-family:'Playfair Display',serif;font-size:17px;font-weight:700;color:var(--txt);margin-bottom:8px}
.sc p{font-size:13px;color:var(--txt-m);line-height:1.65;margin-bottom:14px}
.sc-arr{font-size:12px;font-weight:700;color:var(--orange-d);display:flex;align-items:center;gap:5px;transition:gap .2s}
.sc:hover .sc-arr{gap:9px}
.new-tag{position:absolute;top:14px;right:14px;background:var(--orange);color:#fff;font-size:9px;font-weight:700;letter-spacing:1px;padding:3px 9px;border-radius:100px;text-transform:uppercase}

/* ── PROPERTY ── */
#property{background:var(--navy-2)}
#property .s-chip{color:var(--orange)}
#property .s-chip::before{background:var(--orange)}
.prop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}
.pc{background:var(--navy-3);border-radius:var(--rl);overflow:hidden;border:1px solid rgba(240,90,26,.15);transition:transform .3s,border-color .3s;text-decoration:none;display:block;cursor:pointer}
.pc:hover{transform:translateY(-6px);border-color:var(--orange)}
.pc-img{height:160px;display:flex;align-items:center;justify-content:center;position:relative;background:var(--navy-4)}
.pc-img.has-bg{background-size:cover;background-position:center}
.pi1{background:linear-gradient(135deg,#0d2040 0%,#1a3860 100%)}
.pi2{background:linear-gradient(135deg,#102035 0%,#1a3050 100%)}
.pi3{background:linear-gradient(135deg,#0a1a30 0%,#162840 100%)}
.pc-img svg{width:44px;height:44px;opacity:.35}
.ptag{position:absolute;top:10px;left:10px;background:var(--orange);color:#fff;font-size:10px;font-weight:700;letter-spacing:1px;padding:3px 11px;border-radius:100px}
.pc-info{padding:16px}
.pc-info h3{font-family:'Playfair Display',serif;font-size:15px;font-weight:700;color:#fff;margin-bottom:5px}
.pc-info p{font-size:12px;color:#6A8AAA;margin-bottom:10px;line-height:1.5}
.pc-price{font-family:'Playfair Display',serif;font-size:17px;font-weight:700;color:var(--orange);margin-bottom:10px}
.pc-meta{display:flex;gap:10px;flex-wrap:wrap}
.pc-meta span{font-size:11px;color:#4A6A8A}
.prop-cta{margin-top:38px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.btn-inv{background:transparent;color:var(--orange);font-weight:600;font-size:14px;padding:12px 28px;border-radius:var(--r);border:1.5px solid var(--orange);text-decoration:none;transition:.2s;display:inline-block}
.btn-inv:hover{background:var(--orange);color:#fff}

/* ── ADDRESS STRIP ── */
.address-strip{background:var(--navy);padding:32px 5%;border-top:1px solid rgba(240,90,26,.2)}
.addr-card{max-width:900px;margin:0 auto;display:flex;align-items:center;gap:22px;background:var(--navy-2);border:1px solid rgba(240,90,26,.25);border-radius:var(--rl);padding:22px 28px}
.addr-icon{width:52px;height:52px;flex-shrink:0;background:rgba(240,90,26,.12);border-radius:12px;display:flex;align-items:center;justify-content:center}
.addr-info{flex:1}
.addr-label{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:4px}
.addr-val{font-size:14px;color:#c0d4ea;font-weight:500}
.addr-btn{background:var(--orange);color:#fff;font-weight:700;font-size:13px;padding:11px 24px;border-radius:var(--r);text-decoration:none;white-space:nowrap;transition:.2s;flex-shrink:0}
.addr-btn:hover{background:var(--orange-l);transform:translateY(-2px)}

/* ── FOOTER ── */
footer{background:var(--navy);color:#5A7A9A;padding:52px 5% 24px;border-top:3px solid var(--orange)}
.ft-g{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:38px}
.ft-logo-link{font-family:'Playfair Display',serif;font-size:19px;font-weight:900;color:#fff;text-decoration:none;display:block;margin-bottom:12px}
.ft-logo-link span{color:var(--orange)}
.ft-brand p{font-size:12.5px;line-height:1.75;max-width:240px}
.ft-contact-info{margin-top:14px;font-size:12.5px;line-height:2}
.ft-contact-info a{color:var(--orange);text-decoration:none}
.fc h5{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#fff;margin-bottom:12px}
.fc ul{list-style:none}
.fc ul li{margin-bottom:8px}
.fc ul a{color:#5A7A9A;text-decoration:none;font-size:13px;transition:.2s;cursor:pointer}
.fc ul a:hover{color:var(--orange)}
.ft-btm{border-top:1px solid rgba(255,255,255,.07);padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:12px}

/* ── SERVICE MODAL ── */
.mo{display:none;position:fixed;inset:0;z-index:900;background:rgba(4,12,26,.88);align-items:center;justify-content:center;padding:20px}
.mo.on{display:flex}
.modal{background:#fff;border-radius:var(--rl);padding:38px;max-width:490px;width:100%;position:relative;max-height:88vh;overflow-y:auto;border-top:4px solid var(--orange);animation:modalIn .3s cubic-bezier(.34,1.2,.64,1)}
@keyframes modalIn{from{opacity:0;transform:scale(.94) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}
.mc{position:absolute;top:12px;right:16px;background:none;border:none;cursor:pointer;font-size:24px;color:#aab8c8;line-height:1;transition:.2s}
.mc:hover{color:var(--orange)}
.modal h2{font-family:'Playfair Display',serif;font-size:21px;font-weight:700;color:var(--txt);margin-bottom:7px}
.modal .md{font-size:13.5px;color:var(--txt-m);margin-bottom:18px;line-height:1.65}
.modal ul{list-style:none;margin-bottom:20px}
.modal ul li{padding:8px 0;border-bottom:1px solid #edf2f8;font-size:13.5px;color:var(--txt-m);display:flex;gap:9px;align-items:flex-start}
.modal ul li::before{content:'▸';color:var(--orange);font-size:10px;margin-top:3px;flex-shrink:0}

/* ── PROPERTY MODAL ── */
.prop-modal{max-width:520px;padding:0;overflow-y:auto;max-height:90vh}
.pm-close-btn{
  position:sticky;
  top:0;
  float:right;
  z-index:10;
  margin:12px 12px 0 0;
  background:rgba(6,19,37,.85);
  border:1px solid rgba(255,255,255,.2);
  color:#fff;
  width:36px;height:36px;
  border-radius:50%;
  font-size:20px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  transition:.2s;
  backdrop-filter:blur(6px);
}
.pm-close-btn:hover{background:var(--orange);border-color:var(--orange)}
.pm-img-wrap{width:100%;height:220px;background:var(--navy-3);background-size:cover;background-position:center;position:relative}
.pm-tag-wrap{padding:18px 28px 0}
.pm-tag{display:inline-block;background:var(--orange);color:#fff;font-size:10px;font-weight:700;letter-spacing:1px;padding:3px 12px;border-radius:100px}
.prop-modal h2{font-family:'Playfair Display',serif;font-size:20px;font-weight:700;color:var(--txt);padding:8px 28px 4px;margin:0}
.pm-location{font-size:13px;color:var(--txt-m);padding:0 28px 12px;display:flex;align-items:center;gap:5px}
.pm-stats{display:flex;gap:16px;padding:0 28px 14px;flex-wrap:wrap}
.pm-stats span{font-size:12.5px;color:var(--txt-m);background:#f4f7fb;padding:5px 12px;border-radius:100px}
.prop-modal .md{padding:0 28px 14px}
.pm-price-row{display:flex;align-items:center;justify-content:space-between;padding:16px 28px 28px;border-top:1px solid #edf2f8;margin-top:4px}
.pm-price-lbl{font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--txt-l);margin-bottom:3px}
.pm-price{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;color:var(--orange)}

/* ── CONTACT MODAL ── */
.contact-overlay{display:none;position:fixed;inset:0;z-index:1000;background:rgba(4,12,26,.92);align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(6px)}
.contact-overlay.on{display:flex}
.contact-modal{background:#fff;border-radius:20px;max-width:780px;width:100%;max-height:92vh;overflow-y:auto;position:relative;border-top:5px solid var(--orange);animation:modalIn .35s cubic-bezier(.34,1.2,.64,1);display:grid;grid-template-columns:1fr 1.15fr}
.cm-left{background:var(--navy);padding:44px 36px;border-radius:15px 0 0 15px;display:flex;flex-direction:column;justify-content:center}
.cm-left h2{font-family:'Playfair Display',serif;font-size:26px;font-weight:900;color:#fff;margin-bottom:10px;line-height:1.2}
.cm-left p{font-size:14px;color:#7A9AB8;line-height:1.7;margin-bottom:32px}
.cm-ci{display:flex;gap:13px;align-items:flex-start;margin-bottom:20px}
.cm-ci-ico{width:38px;height:38px;flex-shrink:0;background:rgba(240,90,26,.15);border-radius:9px;display:flex;align-items:center;justify-content:center}
.cm-lbl{font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:2px}
.cm-val{font-size:14px;color:#c0d4ea;font-weight:500}
.cm-val a{color:var(--orange-l);text-decoration:none}
.wa-big{display:inline-flex;align-items:center;gap:10px;background:#25D366;color:#fff;font-weight:700;font-size:14px;padding:12px 22px;border-radius:var(--r);text-decoration:none;margin-top:20px;transition:.2s;align-self:flex-start}
.wa-big:hover{background:#1db954;transform:translateY(-2px)}
.cm-right{padding:40px 36px}
.cm-right h3{font-family:'Playfair Display',serif;font-size:20px;font-weight:700;color:var(--txt);margin-bottom:22px}
.cm-close{position:absolute;top:14px;right:18px;background:rgba(0,0,0,.1);border:none;cursor:pointer;font-size:20px;color:#aaa;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:.2s;z-index:10}
.cm-close:hover{background:var(--orange);color:#fff}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fg{margin-bottom:15px}
.fg label{display:block;font-size:11px;font-weight:700;color:var(--txt-m);margin-bottom:5px;text-transform:uppercase;letter-spacing:.3px}
.fg input,.fg select,.fg textarea{width:100%;padding:10px 13px;border:1px solid #d0dce8;border-radius:var(--r);font-family:'DM Sans',sans-serif;font-size:13.5px;color:var(--txt);background:#f9fbfd;outline:none;transition:.2s}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--orange);background:#fff}
.fg textarea{resize:vertical;min-height:90px}
.f-btn{width:100%;padding:13px;background:var(--navy);color:#fff;border:none;border-radius:var(--r);font-family:'DM Sans',sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:.2s}
.f-btn:hover{background:var(--orange)}
.ok{display:none;padding:12px;font-size:13px;margin-top:12px;text-align:center;border-radius:var(--r)}
.ok.success{background:rgba(29,185,84,.1);border:1px solid rgba(29,185,84,.3);color:#0a7a3a}
.ok.error{background:rgba(220,50,50,.08);border:1px solid rgba(220,50,50,.25);color:#8a1010}

/* ── CATEGORY PAGE ── */
.cat-hero{background:var(--navy);padding:100px 5% 48px;border-bottom:2px solid var(--orange)}
.cat-hero h1{font-family:'Playfair Display',serif;font-size:clamp(28px,4vw,48px);font-weight:900;color:#fff;margin-bottom:10px}
.cat-hero p{color:#7A9AB8;font-size:15px}
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:52px 5%}
.pagination{display:flex;justify-content:center;gap:8px;padding:0 5% 52px}
.pagination a,.pagination span{padding:9px 16px;border-radius:var(--r);font-size:13px;font-weight:600;text-decoration:none;border:1px solid #dce4f0;color:var(--txt-m);transition:.2s}
.pagination a:hover,.pagination .current{background:var(--orange);color:#fff;border-color:var(--orange)}

/* ── RESPONSIVE ── */
/* ══════════════════════════════════
   RESPONSIVE — ALL DEVICES
══════════════════════════════════ */

/* Tablet Landscape — 1024px */
@media(max-width:1024px){
  .prop-grid,.mega-grid,.cat-grid{grid-template-columns:repeat(2,1fr)}
  .mega-grid-prop{grid-template-columns:repeat(2,1fr)}
  .ft-g{grid-template-columns:1fr 1fr 1fr}
  .mega-inner{padding:22px 4% 18px}
  .srv-grid{grid-template-columns:repeat(2,1fr)}
}

/* Tablet Portrait — 768px */
@media(max-width:768px){
  /* Nav */
  .nav-links{display:none;position:absolute;top:66px;left:0;right:0;background:rgba(6,19,37,.99);flex-direction:column;padding:14px 18px;gap:3px;z-index:499}
  .nav-links.open{display:flex}
  .burger{display:flex}

  /* Mega drop */
  .mega-drop{top:66px;max-height:80vh;overflow-y:auto}
  .mega-grid{grid-template-columns:repeat(2,1fr)}
  .mega-grid-prop{grid-template-columns:repeat(2,1fr)}

  /* Hero */
  .hero-content{padding:0 6%}
  .hero-stats{gap:0;flex-wrap:wrap;justify-content:flex-start}
  .stat-item{padding:0 20px 0 0;border-right:1px solid rgba(255,255,255,.1);margin-bottom:12px}
  .stat-item:last-child{border-right:none}

  /* Grids */
  .prop-grid{grid-template-columns:repeat(2,1fr)}
  .srv-grid{grid-template-columns:repeat(2,1fr)}
  .cat-grid{grid-template-columns:repeat(2,1fr)}

  /* Contact modal */
  .contact-modal{grid-template-columns:1fr;max-width:500px}
  .cm-left{border-radius:15px 15px 0 0;padding:28px 24px}
  .cm-right{padding:24px}

  /* Add property modal */
  .apf-grid{grid-template-columns:1fr}
  .apf-full{grid-column:1}

  /* Footer */
  .ft-g{grid-template-columns:1fr 1fr}

  /* Address */
  .addr-card{flex-direction:column;text-align:center;gap:14px}
  .addr-btn{width:100%;text-align:center}

  /* Property page CTA */
  .prop-page-cta-inner{flex-direction:column;align-items:flex-start}
  .prop-cta-btns{flex-wrap:wrap}
}

/* Mobile Large — 600px */
@media(max-width:600px){
  /* Hero */
  .hero-content{padding-top:80px}
  .hero-chips{flex-wrap:wrap;gap:7px}
  .hero-btns{flex-direction:column;align-items:flex-start;gap:10px}
  .hero-stats{flex-direction:column;gap:12px}
  .stat-item{border-right:none;border-bottom:1px solid rgba(255,255,255,.07);padding:0 0 10px;width:100%}
  .stat-item:last-child{border-bottom:none}

  /* Grids → single col */
  .prop-grid,.srv-grid,.cat-grid{grid-template-columns:1fr}
  .mega-grid,.mega-grid-prop{grid-template-columns:1fr}

  /* Prop CTA */
  .prop-cta{flex-direction:column;align-items:flex-start}

  /* Footer */
  .ft-g{grid-template-columns:1fr}

  /* Filter bar */
  .filter-bar{flex-direction:column;align-items:flex-start;gap:14px}
  .filter-meta{margin-left:0;flex-direction:row;align-items:center;gap:12px}
  .filter-pills{gap:5px}
  .fpill{font-size:11px;padding:5px 11px}
  .filter-bar-wrap{position:relative;top:0}

  /* Modals */
  .modal{padding:24px 18px}
  .contact-modal{border-radius:14px}
  .cm-left{padding:22px 18px}
  .cm-right{padding:20px 18px}
  .f2{grid-template-columns:1fr}

  /* Property modal */
  .pm-img-wrap{height:160px}
  .prop-modal h2,.pm-tag-wrap,.pm-location,.pm-stats,.prop-modal .md,.pm-price-row{padding-left:18px;padding-right:18px}
  .pm-price-row{flex-direction:column;align-items:flex-start;gap:12px}
  .pm-price-row .btn-p{width:100%;text-align:center}
}

/* Mobile Small — 480px */
@media(max-width:480px){
  /* Nav */
  nav{padding:0 4%}
  .logo{font-size:17px}

  /* Hero */
  .hero-content{padding:80px 4% 0}
  .hero-badge{font-size:9px;padding:6px 12px}
  .hero-chips{display:none}
  .hero-sub{font-size:13px}
  .btn-p,.btn-o{width:100%;text-align:center;display:block}

  /* Sections */
  section{padding:56px 4%}
  .s-title{font-size:22px}

  /* Service cards */
  .sc{padding:22px 18px}

  /* Property cards */
  .pc-img{height:140px}
  .pc-info{padding:13px}
  .pc-price{font-size:15px}

  /* Footer */
  footer{padding:36px 4% 20px}
  .ft-g{gap:24px}

  /* Address */
  .address-strip{padding:20px 4%}
  .addr-card{padding:16px}
  .addr-val{font-size:13px}

  /* Admin FAB */
  .admin-add-btn{bottom:86px;right:16px;font-size:11px;padding:8px 13px}
  .wa-fab{bottom:20px;right:16px;width:48px;height:48px}

  /* Prop page hero */
  .prop-page-hero{padding:80px 4% 36px}

  /* Filter */
  .filter-bar{padding:14px 4%}
  .cat-section{padding:28px 4% 40px}
}

/* Mobile XS — 360px */
@media(max-width:360px){
  .logo{font-size:15px}
  .hero-h1{font-size:28px}
  .stat-num{font-size:24px}
  .pc-price{font-size:14px}
  .prop-page-hero h1{font-size:24px}
  .filter-pills{gap:4px}
  .fpill{font-size:10px;padding:4px 9px}
}

/* ── ADD PROPERTY MODAL ── */
.add-prop-modal{max-width:640px}
.apf-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.apf-full{grid-column:1/-1}

/* ── ADMIN FAB ── */
.admin-add-btn{position:fixed;bottom:96px;right:26px;z-index:600;background:var(--navy);color:#fff;font-size:12px;font-weight:700;padding:10px 16px;border-radius:100px;border:2px solid var(--orange);cursor:pointer;display:flex;align-items:center;gap:7px;text-decoration:none;box-shadow:0 4px 20px rgba(0,0,0,.4);transition:.2s}
.admin-add-btn:hover{background:var(--orange);transform:translateY(-2px)}
.admin-add-btn::before{content:'＋';font-size:16px}
