/* ==================================================================
   NEOPOLIS PROJECTS — DESIGN SYSTEM
   Display face: 'Lora' (serif, headings) · Body/UI face: 'Inter' (sans)
   ================================================================== */
:root{
  --ink:#0A141F;          /* near-black navy — header, footer, hero overlay */
  --navy:#0F2A47;         /* primary navy — headings, buttons, icons */
  --navy-2:#173A5E;       /* hover navy */
  --navy-3:#0A1E33;       /* deep navy for badges/footer variants */
  --gold:#C9A063;         /* champagne gold — accents, badges, prices */
  --gold-deep:#A67C3D;    /* darker gold — hover states */
  --gold-light:#E8C68F;   /* light gold — text on dark backgrounds */
  --cream:#F8F4EC;        /* warm cream section background */
  --grey-bg:#F5F6F8;      /* cool light-grey section background */
  --border:#E7E3DA;
  --text:#1C2530;
  --muted:#68707C;
  --white:#FFFFFF;
  --radius:12px;
  --shadow:0 10px 30px rgba(10,20,32,.08);
  --maxw:1200px;
}

*{box-sizing:border-box;}
body{margin:0;font-family:'Inter',Arial,sans-serif;color:var(--text);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;}
img,svg{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
button{font-family:inherit;}

h1,h2,h3{font-family:'Lora',Georgia,serif;color:var(--navy);margin:0 0 12px;line-height:1.22;font-weight:600;}
h1{font-size:clamp(30px,4.4vw,44px);font-weight:600;}
h2{font-size:clamp(22px,3vw,30px);font-weight:600;}
h3{font-size:19px;font-weight:600;}
h4,h5{font-family:'Inter',Arial,sans-serif;color:var(--navy);margin:0 0 8px;font-weight:700;line-height:1.3;}
h4{font-size:15.5px;}
h5{font-size:13.5px;}
p{margin:0 0 12px;}

.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.section{padding:64px 0;}
.section.grey{background:var(--grey-bg);}
.section.beige{background:var(--cream);}
.eyebrow{display:inline-block;color:var(--gold-deep);font-family:'Inter',sans-serif;font-weight:700;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px;}
.btn{display:inline-block;padding:13px 26px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;border:2px solid transparent;transition:.2s;font-family:'Inter',sans-serif;}
.btn-gold{background:var(--gold);color:var(--navy-3);}
.btn-gold:hover{background:var(--gold-deep);}
.btn-outline{background:transparent;border-color:#ffffff88;color:#fff;}
.btn-outline:hover{background:#ffffff22;}
.btn-navy{background:var(--navy);color:#fff;border-color:var(--navy);}
.btn-navy:hover{background:var(--navy-2);}
.btn-outline-navy{background:transparent;border-color:var(--border);color:var(--navy);}
.btn-outline-navy:hover{border-color:var(--navy);}
.btn-outline-gold{background:transparent;border-color:var(--gold);color:var(--gold-deep);}
.btn-outline-gold:hover{background:var(--cream);}
.view-all{color:var(--navy);font-weight:600;font-size:14px;white-space:nowrap;font-family:'Inter',sans-serif;}
.view-all::after{content:" →";}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:28px;flex-wrap:wrap;}
.section-head p{color:var(--muted);font-size:14px;margin:6px 0 0;max-width:560px;}

/* ---------- Header ---------- */
header.site-header {
        position: sticky;
        top: 0;
        z-index: 9999;
        background: #fff;
        border-bottom: 1px solid #e8e8e8;
    }

    .site-header .topbar {
        min-height: 76px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 25px;
    }

    .logo {
        display: flex;
        flex-direction: column;
        text-decoration: none;
        line-height: 1;
        min-width: 185px;
    }

    .logo .word {
        font-size: 24px;
        font-weight: 800;
        letter-spacing: 1.5px;
        color: #171717;
    }

    .logo small {
        margin-top: 5px;
        font-size: 10px;
        font-weight: 600;
        letter-spacing: 2px;
        color: #a67c2d;
    }

    .main-nav {
        flex: 1;
        display: flex;
        justify-content: flex-end;
    }

    .main-nav ul {
        display: flex;
        align-items: center;
        gap: 27px;
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .main-nav li {
        position: relative;
    }

    .main-nav a {
        display: flex;
        align-items: center;
        gap: 5px;
        padding: 28px 0;
        color: #222;
        font-size: 14px;
        font-weight: 600;
        text-decoration: none;
        white-space: nowrap;
        transition: .2s ease;
    }

    .main-nav a:hover {
        color: #a67c2d;
    }

    .main-nav .has-dropdown>a span {
        font-size: 15px;
        line-height: 1;
    }

    .dropdown-menu {
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translateX(-50%) translateY(10px);
        width: 220px;
        padding: 10px;
        background: #fff;
        border: 1px solid #e8e8e8;
        box-shadow: 0 12px 35px rgba(0, 0, 0, .10);
        border-radius: 8px;
        opacity: 0;
        visibility: hidden;
        transition: .2s ease;
    }

    .has-dropdown:hover .dropdown-menu {
        opacity: 1;
        visibility: visible;
        transform: translateX(-50%) translateY(0);
    }

    .dropdown-menu a {
        display: block;
        padding: 10px 12px;
        font-size: 13px;
        border-radius: 5px;
    }

    .dropdown-menu a:hover {
        background: #f8f5ef;
    }

    .menu-enquire a {
        min-height: 40px;
        padding: 0 17px;
        background: #b18a45;
        color: #fff !important;
        border-radius: 5px;
        justify-content: center;
    }

    .menu-enquire a:hover {
        background: #96702f;
        color: #fff !important;
    }

    .header-actions {
        display: flex;
        align-items: center;
    }

    .nav-toggle {
        display: none;
        width: 40px;
        height: 40px;
        padding: 0;
        border: 1px solid #ddd;
        background: #fff;
        border-radius: 5px;
        font-size: 21px;
        cursor: pointer;
    }

    @media(max-width:1100px) {
        .main-nav ul {
            gap: 18px;
        }

        .main-nav a {
            font-size: 13px;
        }

        .logo {
            min-width: 165px;
        }
    }

    @media(max-width:900px) {
        .site-header .topbar {
            min-height: 68px;
        }

        .main-nav {
            display: none;
            position: absolute;
            top: 68px;
            left: 0;
            right: 0;
            width: 100%;
            background: #fff;
            border-top: 1px solid #eee;
            box-shadow: 0 12px 25px rgba(0, 0, 0, .08);
        }

        .main-nav.active {
            display: block;
        }

        .main-nav ul {
            display: block;
            padding: 10px 20px 18px;
        }

        .main-nav li {
            border-bottom: 1px solid #f0f0f0;
        }

        .main-nav li:last-child {
            border-bottom: 0;
        }

        .main-nav a {
            padding: 14px 5px;
            justify-content: space-between;
        }

        .dropdown-menu {
            position: static;
            width: 100%;
            padding: 0 0 8px;
            transform: none;
            border: 0;
            box-shadow: none;
            opacity: 1;
            visibility: visible;
            display: none;
        }

        .has-dropdown:hover .dropdown-menu {
            transform: none;
        }

        .has-dropdown.open .dropdown-menu {
            display: block;
        }

        .dropdown-menu a {
            padding: 9px 15px;
            font-size: 13px;
        }

        .menu-enquire a {
            margin-top: 10px;
            padding: 12px 15px;
            justify-content: center;
        }

        .nav-toggle {
            display: flex;
            align-items: center;
            justify-content: center;
        }
    }

    @media(max-width:520px) {
        .site-header .topbar {
            padding: 0 14px;
            gap: 8px;
        }

        .logo {
            min-width: 0;
        }

        .logo .word {
            font-size: 19px;
        }

        .logo small {
            font-size: 8px;
            letter-spacing: 1.3px;
        }
    }

/* ---------- Hero (illustrated dusk skyline) ---------- */
.hero{position:relative;min-height:600px;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--ink);}
.hero-bg{position:absolute;inset:0;z-index:0;}
.hero-bg img{width:100%;height:100%;object-fit:cover;display:block;}
.hero-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(6,12,20,.92) 0%,rgba(6,12,20,.72) 34%,rgba(6,12,20,.25) 62%,rgba(6,12,20,.15) 100%),linear-gradient(0deg,rgba(6,12,20,.55) 0%,transparent 45%);}
.hero-inner{position:relative;z-index:2;width:100%;padding:64px 0 0;}
.hero-content{max-width:640px;}
.hero-content p.lead{color:#dbe3ec;font-size:16px;max-width:520px;}
.hero-cta{display:flex;gap:14px;margin:20px 0;flex-wrap:wrap;}
.hero-loc{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--gold-light);font-weight:600;margin-bottom:6px;}
.hero-trust{display:flex;gap:26px;margin-top:24px;flex-wrap:wrap;}
.hero-trust div{font-family:'Lora',serif;font-weight:700;font-size:20px;color:#fff;}
.hero-trust span{display:block;font-family:'Inter',sans-serif;font-weight:500;font-size:11.5px;color:#a9bed4;margin-top:2px;}
.hero-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}

/* search bar */
.search-bar{background:#fff;border-radius:12px;box-shadow:0 20px 45px rgba(0,0,0,.28);display:flex;align-items:stretch;padding:6px;gap:0;flex-wrap:wrap;margin-top:8px;}
.search-bar .sf{flex:1 1 200px;display:flex;align-items:center;padding:10px 16px;border-right:1px solid var(--border);min-width:0;}
.search-bar .sf:last-of-type{border-right:0;}
.search-bar input,.search-bar select{border:0;outline:0;font-size:13.5px;font-family:'Inter',sans-serif;color:var(--text);width:100%;background:transparent;appearance:none;cursor:pointer;}
.search-bar select{background-image:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%2368707C%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 9l6 6 6-6%22/%3E%3C/svg%3E');background-repeat:no-repeat;background-position:right center;background-size:14px;padding-right:18px;}
.search-bar input::placeholder{color:var(--muted);}
.search-bar input{cursor:text;}
.search-bar .sf.grow{flex:2 1 220px;}
.search-bar .go{flex:0 0 auto;margin:4px;}
@media(max-width:900px){.search-bar{flex-direction:column;}.search-bar .sf{border-right:0;border-bottom:1px solid var(--border);}}

.filter-chips{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 90px;}
.filter-chips span{background:#ffffff14;border:1px solid #ffffff33;color:#fff;font-size:12.5px;font-weight:500;padding:8px 16px;border-radius:30px;backdrop-filter:blur(2px);}

/* ---------- Quick facts ---------- */
.quickfacts{background:#fff;box-shadow:var(--shadow);border-radius:var(--radius);margin-top:-70px;position:relative;z-index:10;padding:24px 8px;}
.quickfacts .container{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;}
.qf-item{display:flex;gap:10px;align-items:flex-start;padding:0 12px;border-right:1px solid var(--border);}
.qf-item:last-child{border-right:0;}
.qf-item .ic{width:32px;height:32px;flex:none;display:flex;align-items:center;justify-content:center;color:var(--gold-deep);}
.qf-item .ic svg{width:26px;height:26px;}
.qf-item h4{font-size:17px;margin:0 0 2px;color:var(--navy);font-family:'Lora',serif;font-weight:600;}
.qf-item span{font-size:12px;color:var(--muted);}
@media(max-width:900px){.quickfacts .container{grid-template-columns:repeat(3,1fr);row-gap:18px;}.qf-item{border-right:0;}}
@media(max-width:560px){.quickfacts .container{grid-template-columns:repeat(2,1fr);}}

/* ---------- Grid helpers ---------- */
.grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:start;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;}
@media(max-width:1000px){.grid-2{grid-template-columns:1fr;}.grid-3{grid-template-columns:1fr 1fr;}.grid-5{grid-template-columns:repeat(3,1fr);}}
@media(max-width:640px){.grid-3,.grid-4,.grid-5{grid-template-columns:1fr 1fr;}}

/* ---------- Project cards ---------- */
/* ===================== NEOPOLIS PROJECTS ===================== */

#neo-projects-section{
  width:100%;
  padding:55px 20px;
  background:#f7f8fa;
  box-sizing:border-box;
}

#neo-projects-section *,
#neo-projects-section *::before,
#neo-projects-section *::after{
  box-sizing:border-box;
}

.neo-projects-container{
  width:100%;
  max-width:1240px;
  margin:0 auto;
}

/* HEADING */

.neo-projects-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:25px;
  margin-bottom:25px;
}

.neo-projects-heading > div{
  min-width:0;
}

.neo-projects-heading span{
  display:block;
  margin-bottom:6px;
  color:#c18b2c;
  font-size:9px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:1.5px;
}

.neo-projects-heading h2{
  margin:0;
  color:#0a2463;
  font-size:29px;
  line-height:1.25;
  font-weight:800;
}

.neo-projects-heading p{
  max-width:720px;
  margin:8px 0 0;
  color:#64748b;
  font-size:12px;
  line-height:1.6;
}

.neo-view-all{
  flex:none;
  padding:10px 16px;
  border:1px solid #0a2463;
  border-radius:30px;
  color:#0a2463;
  background:#fff;
  font-size:11px;
  font-weight:700;
  text-decoration:none;
  white-space:nowrap;
  transition:.2s ease;
}

.neo-view-all:hover{
  color:#fff;
  background:#0a2463;
}

/* TABS */

.neo-tabs{
  display:flex;
  gap:7px;
  width:100%;
  margin-bottom:22px;
  padding:5px;
  overflow-x:auto;
  border:1px solid #e2e8f0;
  border-radius:10px;
  background:#fff;
  scrollbar-width:none;
}

.neo-tabs::-webkit-scrollbar{
  display:none;
}

.neo-tabs button{
  flex:none;
  border:0;
  border-radius:7px;
  padding:9px 15px;
  background:transparent;
  color:#64748b;
  font-family:inherit;
  font-size:10px;
  font-weight:700;
  cursor:pointer;
  white-space:nowrap;
  transition:.2s ease;
}

.neo-tabs button:hover{
  color:#0a2463;
  background:#f1f5f9;
}

.neo-tabs button.active{
  color:#fff;
  background:#0a2463;
}

/* GRID */

.neo-project-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

/* CARD */

.neo-project-card{
  display:block;
  min-width:0;
  overflow:hidden;
  border:1px solid #e2e8f0;
  border-radius:14px;
  background:#fff;
  box-shadow:0 3px 12px rgba(15,23,42,.04);
  transition:transform .25s ease,box-shadow .25s ease;
}

.neo-project-card:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 30px rgba(10,36,99,.11);
}

/* IMAGE */

.neo-project-image{
  position:relative;
  width:100%;
  height:205px;
  overflow:hidden;
  background:#e2e8f0;
}

.neo-project-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease;
}

.neo-project-card:hover .neo-project-image img{
  transform:scale(1.04);
}

/* STATUS */

.neo-status{
  position:absolute;
  top:11px;
  left:11px;
  z-index:2;
  padding:6px 9px;
  border-radius:5px;
  color:#fff;
  font-size:8px;
  line-height:1;
  font-weight:800;
  box-shadow:0 3px 8px rgba(0,0,0,.12);
}

.neo-new{
  background:#0a2463;
}

.neo-under{
  background:#f59e0b;
}

.neo-upcoming{
  background:#64748b;
}

.neo-ready{
  background:#10b981;
}

/* HEART */

.neo-heart{
  position:absolute;
  top:10px;
  right:10px;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.96);
  color:#0a2463;
  font-size:20px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 3px 10px rgba(0,0,0,.15);
  transition:.2s ease;
}

.neo-heart:hover{
  color:#d69e2e;
  transform:scale(1.08);
}

.neo-heart.active{
  color:#dc2626;
}

/* BODY */

.neo-project-body{
  padding:14px;
}

.neo-project-body h3{
  margin:0 0 5px;
  padding:0;
  font-size:15px;
  line-height:1.3;
  font-weight:800;
}

.neo-project-body h3 a{
  color:#0a2463;
  text-decoration:none;
}

.neo-project-body h3 a:hover{
  color:#d69e2e;
}

.neo-location{
  margin-bottom:8px;
  color:#64748b;
  font-size:10px;
  line-height:1.3;
}

.neo-meta{
  margin-bottom:6px;
  color:#475569;
  font-size:10px;
  line-height:1.4;
}

.neo-price{
  margin:9px 0 7px;
  color:#0a2463;
  font-size:14px;
  line-height:1.3;
  font-weight:800;
}

.neo-price sup{
  font-size:8px;
}

.neo-info{
  margin-bottom:4px;
  color:#94a3b8;
  font-size:9px;
  line-height:1.3;
}

/* BUTTONS */

.neo-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-top:12px;
}

.neo-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:7px 8px;
  border-radius:6px;
  font-size:9px;
  line-height:1;
  font-weight:800;
  text-decoration:none !important;
  transition:.2s ease;
}

.neo-btn-navy{
  border:1px solid #0a2463;
  color:#0a2463 !important;
  background:#fff;
}

.neo-btn-navy:hover{
  color:#fff !important;
  background:#0a2463;
}

.neo-btn-gold{
  border:1px solid #d69e2e;
  color:#b17b18 !important;
  background:#fff;
}

.neo-btn-gold:hover{
  color:#fff !important;
  background:#d69e2e;
}

/* HIDDEN FILTER CARDS */

.neo-project-card.neo-hidden{
  display:none;
}

/* BOTTOM BUTTON */

.neo-project-bottom{
  display:flex;
  justify-content:center;
  margin-top:28px;
}

.neo-all-projects-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:11px 20px;
  border-radius:30px;
  background:#0a2463;
  color:#fff !important;
  font-size:10px;
  font-weight:800;
  text-decoration:none !important;
  transition:.2s ease;
}

.neo-all-projects-btn:hover{
  background:#d69e2e;
}

/* TABLET */

@media(max-width:1050px){

  #neo-projects-section{
    padding:45px 18px;
  }

  .neo-project-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .neo-project-image{
    height:200px;
  }

}

/* MOBILE */

@media(max-width:750px){

  #neo-projects-section{
    padding:40px 14px;
  }

  .neo-projects-heading{
    display:block;
    margin-bottom:20px;
  }

  .neo-projects-heading h2{
    font-size:24px;
  }

  .neo-projects-heading p{
    font-size:11px;
  }

  .neo-view-all{
    display:inline-flex;
    margin-top:12px;
  }

  .neo-project-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }

  .neo-project-image{
    height:175px;
  }

  .neo-project-body{
    padding:12px;
  }

  .neo-project-body h3{
    font-size:13px;
  }

}

/* SMALL MOBILE */

@media(max-width:480px){

  .neo-project-grid{
    grid-template-columns:1fr;
    gap:14px;
  }

  .neo-project-image{
    height:210px;
  }

  .neo-project-body{
    padding:14px;
  }

  .neo-project-body h3{
    font-size:15px;
  }

  .neo-location{
    font-size:10px;
  }

  .neo-meta{
    font-size:10px;
  }

  .neo-price{
    font-size:15px;
  }

  .neo-actions{
    grid-template-columns:1fr 1fr;
  }

}

/* REDUCED MOTION */

@media(prefers-reduced-motion:reduce){

  .neo-project-card,
  .neo-project-image img,
  .neo-heart,
  .neo-btn,
  .neo-view-all{
    transition:none;
  }

}

/* ---------- At a glance / why premium ---------- */
.glance{background:var(--navy);color:#fff;border-radius:var(--radius);padding:26px;}
.glance h2{color:#fff;}
.glance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px;}
.glance-grid div{background:#ffffff0d;border:1px solid #ffffff22;border-radius:10px;padding:16px 10px;text-align:center;font-size:12.5px;font-weight:600;}
.glance-grid div .ic{width:30px;height:30px;margin:0 auto 8px;color:var(--gold-light);}
.why-panel{background:var(--navy);color:#fff;border-radius:var(--radius);padding:26px;display:flex;flex-direction:column;gap:14px;justify-content:center;}
.why-panel h2{color:#fff;}
.check-list li{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:#e8eef5;margin-bottom:10px;}
.check-list li svg{flex:none;color:var(--gold-light);margin-top:2px;}

/* ---------- Icon-row features (Find Your Ideal Home / Why Neopolis) ---------- */
.icon-row{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;}
.icon-row.cols-5{grid-template-columns:repeat(5,1fr);}
.icon-feature{text-align:left;}
.icon-feature .ic{width:44px;height:44px;color:var(--gold-deep);margin-bottom:12px;}
.icon-feature .ic svg{width:100%;height:100%;}
.icon-feature h4{font-size:14.5px;margin-bottom:2px;}
.icon-feature span{font-size:12.5px;color:var(--muted);}
.icon-feature a.view{font-size:12px;color:var(--gold-deep);font-weight:600;}
@media(max-width:900px){.icon-row{grid-template-columns:repeat(3,1fr);row-gap:26px;}}
@media(max-width:560px){.icon-row{grid-template-columns:1fr 1fr;}}

/* ---------- Tabs ---------- */
.tabbar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:24px;border-bottom:1px solid var(--border);}
.tabbar button{background:none;border:0;padding:10px 18px;font-size:13.5px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;font-family:'Inter',sans-serif;}
.tabbar button.active{color:var(--navy);border-color:var(--gold);background:#fff;border:1px solid var(--border);border-bottom:1px solid #fff;border-radius:8px 8px 0 0;}

.carousel-wrap{position:relative;}
.carousel-arrow{position:absolute;top:50%;right:-14px;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;background:#fff;box-shadow:var(--shadow);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--navy);z-index:3;}
@media(max-width:700px){.carousel-arrow{display:none;}}

/* ---------- Location/connectivity list ---------- */
.conn-list li{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px dashed var(--border);font-size:14px;}
.conn-list li span.d{color:var(--gold-deep);font-weight:600;font-size:13px;}
.note-box{margin-top:12px;background:var(--cream);border-left:3px solid var(--gold);padding:10px 12px;font-size:12.5px;color:var(--muted);border-radius:6px;}
.map-embed{border-radius:10px;overflow:hidden;border:1px solid var(--border);aspect-ratio:4/3;background:#e7ebf0 url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22400%22 height=%22300%22%3E%3Crect width=%22400%22 height=%22300%22 fill=%22%23e7ebf0%22/%3E%3Cpath d=%22M0 220 L60 200 120 240 200 190 260 230 340 200 400 220%22 stroke=%22%23c7d0d9%22 stroke-width=%228%22 fill=%22none%22/%3E%3Ccircle cx=%22200%22 cy=%22140%22 r=%2210%22 fill=%22%23C9A063%22/%3E%3C/svg%3E') center/cover;display:flex;align-items:center;justify-content:center;}
.zone-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;}
.zone-list li{display:flex;align-items:center;gap:8px;font-size:13.5px;padding:6px 0;}
.zone-list li .dot{width:9px;height:9px;border-radius:50%;background:var(--gold);flex:none;}

/* ---------- Developer strip / logo cards ---------- */
.dev-strip{display:grid;grid-template-columns:repeat(8,1fr);gap:14px;}
.dev-logo{background:#fff;border:1px solid var(--border);border-radius:10px;padding:18px 8px 14px;text-align:center;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;gap:8px;}
.dev-logo .mark{font-family:'Lora',serif;font-weight:700;font-size:14px;color:var(--navy);letter-spacing:.02em;}
.dev-logo .count{font-size:11px;color:var(--muted);}
@media(max-width:960px){.dev-strip{grid-template-columns:repeat(4,1fr);row-gap:16px;}}
@media(max-width:560px){.dev-strip{grid-template-columns:repeat(2,1fr);}}

/* ---------- Type/status/lifestyle chips ---------- */
.chip-grid{display:flex;flex-wrap:wrap;gap:10px;}
.chip{border:1px solid var(--border);background:#fff;padding:9px 16px;border-radius:30px;font-size:13.5px;font-weight:600;color:var(--navy);}
.lifestyle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.lifestyle-grid .lc{border-radius:10px;overflow:hidden;position:relative;height:110px;background:linear-gradient(135deg,var(--gold),var(--navy));}
.lifestyle-grid .lc span{position:absolute;bottom:8px;left:10px;color:#fff;font-weight:600;font-size:13px;text-shadow:0 1px 3px #0006;}

/* ---------- Amenity nearby row ---------- */
.amenity-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);}
.amenity-card .ic{width:40px;height:40px;border-radius:10px;background:var(--cream);color:var(--gold-deep);display:flex;align-items:center;justify-content:center;margin-bottom:12px;}

/* ---------- Kokapet split (image + floating badges) ---------- */
.kokapet-split{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px;align-items:stretch;}
.kokapet-card{background:var(--cream);border-radius:var(--radius);padding:32px;display:flex;flex-direction:column;justify-content:center;}
.kokapet-card p{color:var(--muted);font-size:14px;}
.kokapet-visual{position:relative;border-radius:var(--radius);overflow:hidden;min-height:260px;}
.kokapet-visual img{width:100%;height:100%;object-fit:cover;}
.floating-badges{position:absolute;left:14px;right:14px;bottom:14px;display:flex;gap:10px;flex-wrap:wrap;}
.floating-badges .fb{background:#fffffff2;backdrop-filter:blur(3px);border-radius:8px;padding:9px 13px;font-size:11.5px;font-weight:600;color:var(--navy);display:flex;align-items:center;gap:7px;box-shadow:var(--shadow);}
.floating-badges .fb .ic{width:16px;height:16px;color:var(--gold-deep);flex:none;}
@media(max-width:900px){.kokapet-split{grid-template-columns:1fr;}}

/* ---------- Budget slider + Compare ---------- */
 #budget-wrap {
        padding: 60px 0;
        background: #f8fafc;
    }

    #budget-wrap .container {
        width: 100%;
    }

    .budget-compare {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 24px;
        align-items: stretch;
    }

    .budget-card,
    .compare-card,
    .emi-card {
        background: #fff;
        border: 1px solid #e5eaf1;
        border-radius: 18px;
        padding: 26px;
        box-shadow: 0 5px 20px rgba(10, 36, 99, .06);
        display: flex;
        flex-direction: column;
        min-width: 0;
    }

    .budget-card h2,
    .compare-card h3,
    .emi-card h3 {
        margin: 0 0 8px;
        color: #0a2463;
        font-size: 22px;
        line-height: 1.3;
    }

    .card-desc {
        margin: 0 0 20px;
        color: #64748b;
        font-size: 14px;
        line-height: 1.6;
    }

    .budget-scale {
        display: flex;
        justify-content: space-between;
        gap: 8px;
        margin: 8px 0;
        color: #64748b;
        font-size: 12px;
    }

    .range-slider {
        width: 100%;
        height: 6px;
        margin: 8px 0 0;
        cursor: pointer;
        accent-color: #0a2463;
    }

    .budget-current {
        margin-top: 16px;
        padding: 11px 14px;
        background: #f1f5f9;
        border-radius: 9px;
        color: #334155;
        font-size: 14px;
        text-align: center;
    }

    .budget-current strong {
        color: #0a2463;
    }

    .budget-pills {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 16px;
    }

    .budget-pill {
        border: 0;
        background: #edf2f7;
        color: #1e293b;
        padding: 8px 15px;
        border-radius: 30px;
        font-size: 13px;
        font-weight: 600;
        cursor: pointer;
        transition: .2s ease;
    }

    .budget-pill:hover {
        background: #dce5f0;
    }

    .budget-pill.active {
        background: #0a2463;
        color: #fff;
    }

    .compare-fields,
    .emi-fields {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .compare-fields label,
    .emi-fields label {
        display: block;
    }

    .compare-fields label span,
    .emi-fields label span {
        display: block;
        margin-bottom: 5px;
        color: #334155;
        font-size: 13px;
        font-weight: 600;
    }

    .compare-fields select,
    .emi-fields input {
        width: 100%;
        height: 44px;
        padding: 0 13px;
        border: 1px solid #d5dce5;
        border-radius: 9px;
        background: #fff;
        color: #1e293b;
        font-size: 14px;
        outline: none;
        box-sizing: border-box;
    }

    .compare-fields select:focus,
    .emi-fields input:focus {
        border-color: #0a2463;
        box-shadow: 0 0 0 3px rgba(10, 36, 99, .08);
    }

    .compare-btn,
    .emi-btn {
        width: 100%;
        min-height: 46px;
        border: 0;
        border-radius: 40px;
        font-size: 15px;
        font-weight: 700;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        transition: .2s ease;
    }

    .compare-btn {
        margin-top: auto;
        padding: 12px 20px;
        background: #0a2463;
        color: #fff;
    }

    .compare-btn:hover {
        background: #071b4d;
    }

    .compare-btn svg {
        width: 20px;
        height: 20px;
        flex: none;
    }

    .compare-message {
        min-height: 20px;
        margin-top: 10px;
        color: #64748b;
        font-size: 13px;
        text-align: center;
    }

    .emi-card {
        border-top: 4px solid #d69e2e;
    }

    .emi-fields {
        margin-bottom: 16px;
    }

    .emi-btn {
        padding: 12px;
        background: #d69e2e;
        color: #fff;
    }

    .emi-btn:hover {
        background: #b9821e;
    }

    .emi-result {
        margin-top: 14px;
        padding: 14px;
        background: #f8fafc;
        border: 1px dashed #d69e2e;
        border-radius: 10px;
        text-align: center;
    }

    .emi-result span {
        display: block;
        margin-bottom: 5px;
        color: #64748b;
        font-size: 12px;
        font-weight: 600;
    }

    .emi-result strong {
        color: #0a2463;
        font-size: 21px;
    }

    @media(max-width:1024px) {
        .budget-compare {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .emi-card {
            grid-column: 1 / -1;
        }
    }

    @media(max-width:700px) {
        #budget-wrap {
            padding: 40px 0;
        }

        .budget-compare {
            grid-template-columns: 1fr;
            gap: 16px;
        }

        .budget-card,
        .compare-card,
        .emi-card {
            padding: 20px;
            border-radius: 14px;
        }

        .budget-card h2,
        .compare-card h3,
        .emi-card h3 {
            font-size: 20px;
        }

        .emi-card {
            grid-column: auto;
        }

        .budget-scale {
            font-size: 11px;
        }

        .budget-pills {
            gap: 7px;
        }

        .budget-pill {
            padding: 7px 12px;
            font-size: 12px;
        }
    }

    @media(max-width:420px) {

        .budget-scale span:nth-child(3),
        .budget-scale span:nth-child(4) {
            display: none;
        }

        .budget-scale {
            justify-content: space-between;
        }

        .budget-pill {
            flex: 1 1 auto;
            text-align: center;
        }
    }

/* ---------- Compare table (used on project/developer pages) ---------- */
.compare-links{display:flex;flex-direction:column;gap:8px;}
.compare-links li{font-size:13.5px;padding:8px 0;border-bottom:1px dashed var(--border);}
.compare-links b{color:var(--navy);}

/* ---------- Updates / FAQ / internal links / enquire (4 col) ---------- */
.updates li{display:flex;flex-direction:column;gap:10px;padding:0;}
.updates .thumb2{width:100%;height:110px;border-radius:8px;overflow:hidden;}
.updates .thumb2 img{width:100%;height:100%;object-fit:cover;}
.updates .date{font-size:11px;color:var(--gold-deep);font-weight:700;letter-spacing:.03em;text-transform:uppercase;}
.updates h5{margin:4px 0 2px;font-size:14px;color:var(--navy);font-weight:600;font-family:'Lora',serif;line-height:1.35;}
.updates a.read{font-size:12.5px;font-weight:600;color:var(--navy);}
.updates-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;}
@media(max-width:900px){.updates-grid{grid-template-columns:repeat(3,1fr);row-gap:24px;}}
@media(max-width:640px){.updates-grid{grid-template-columns:1fr 1fr;}}

.accordion-item{border-bottom:1px solid var(--border);}
.accordion-item summary{cursor:pointer;padding:12px 4px;font-size:14px;font-weight:600;color:var(--navy);list-style:none;display:flex;justify-content:space-between;align-items:center;}
.accordion-item summary::-webkit-details-marker{display:none;}
.accordion-item summary::after{content:"+";font-size:20px;color:var(--gold-deep);}
.accordion-item[open] summary::after{content:"–";}
.accordion-item p{padding:0 4px 14px;font-size:13.5px;margin:0;color:var(--muted);}

.link-hub{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.link-hub a{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--navy);background:#fff;border:1px solid var(--border);padding:10px;border-radius:8px;}

.enquire-box{background:var(--navy);border-radius:var(--radius);padding:22px;color:#fff;}
.enquire-box h2{color:#fff;}
.four-col{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;align-items:start;}
@media(max-width:960px){.four-col{grid-template-columns:1fr 1fr;}}
@media(max-width:640px){.four-col{grid-template-columns:1fr;}}

/* ---------- Enquire Now hero-style section ---------- */
.enquire-split{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:#fff;border-radius:var(--radius);overflow:hidden;}
.enquire-split .art{background:linear-gradient(135deg,var(--navy-2),var(--navy-3));min-height:260px;}
.enquire-split .form-side{padding:34px;}
.enquire-split h2{color:#fff;}
.divied{display:block;width:60px;height:3px;background:var(--gold);margin:8px 0 18px;}
@media(max-width:800px){.enquire-split{grid-template-columns:1fr;}.enquire-split .art{display:none;}}

/* ---------- Newsletter bar ---------- */
.newsletter-bar{background:var(--ink);color:#fff;padding:30px 0;}
.newsletter-bar .container{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.newsletter-bar h3{color:#fff;margin:0 0 4px;font-size:19px;}
.newsletter-bar p{color:#a9b6c4;font-size:13px;margin:0;}
.newsletter-form{display:flex;gap:0;background:#fff;border-radius:8px;overflow:hidden;min-width:360px;}
.newsletter-form input{border:0;outline:0;padding:13px 16px;font-size:13.5px;flex:1;font-family:'Inter',sans-serif;}
.newsletter-form button{border:0;padding:13px 24px;background:var(--gold);color:var(--navy-3);font-weight:700;cursor:pointer;font-family:'Inter',sans-serif;}
@media(max-width:700px){.newsletter-form{min-width:0;width:100%;}}

/* ---------- Forms ---------- */
.cform .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.cform input,.cform select,.cform textarea{width:100%;padding:11px 13px;border-radius:6px;border:1px solid #ffffff33;background:#ffffff10;color:inherit;font-size:14px;margin-bottom:12px;font-family:inherit;}
.cform.on-light input,.cform.on-light select,.cform.on-light textarea{background:#fff;border-color:var(--border);color:var(--text);}
.cform ::placeholder{color:currentColor;opacity:.6;}
.cform textarea{min-height:80px;resize:vertical;}
.cform .phone-group{display:flex;gap:8px;}
.cform .phone-group select{flex:0 0 120px;}
.cform button{width:100%;}
.cform button:disabled{opacity:.7;cursor:wait;}
.form-success{background:#ffffff14;border:1px solid #ffffff30;border-radius:8px;padding:18px;text-align:center;}
.form-success strong{display:block;color:var(--gold-light);font-size:15px;margin-bottom:4px;}
.form-success span{font-size:13px;color:#dfe8f2;}
.on-light .form-success{background:var(--cream);border-color:var(--border);}
.on-light .form-success strong{color:var(--gold-deep);}
.on-light .form-success span{color:var(--muted);}
body.modal-open{overflow:hidden;}

/* ---------- Sidebar sticky enquire ---------- */
.sidebar-contact{position:fixed;right:0;top:38%;z-index:400;display:flex;}
.sidebar-contact .toggle{writing-mode:vertical-rl;transform:rotate(180deg);background:var(--gold);color:#fff;font-weight:700;font-size:13px;padding:14px 8px;border-radius:0px 8px 8px 0px;cursor:pointer;letter-spacing:.03em;}
.sidebar-contact .panel{width:290px;max-height:80vh;overflow:auto;background:var(--navy);color:#fff;padding:20px;border-radius:0px 0 0 0px;display:none;box-shadow:-8px 0 24px rgba(0,0,0,.2);}
.sidebar-contact.open .panel{display:block;}
.sidebar-contact .panel p{color:#cfe0f0;font-size:12.5px;}

/* ---------- Modals ---------- */
.modal-overlay{position:fixed;inset:0;background:rgba(10,20,32,.65);display:none;align-items:center;justify-content:center;z-index:900;padding:20px;}
.modal-overlay.open{display:flex;}
.modal-box{background:var(--navy);color:#fff;border-radius:var(--radius);max-width:560px;width:100%;max-height:90vh;overflow:auto;padding:30px;position:relative;}
.modal-box h4{color:#fff;}
.modal-close{position:absolute;top:14px;right:16px;background:#ffffff1a;border:0;color:#fff;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:16px;}

/* ---------- Footer ---------- */
footer.site-footer{background:var(--ink);color:#c9d5e2;}
.footer-top{padding:50px 0 30px;display:grid;grid-template-columns:1.4fr repeat(6,1fr);gap:24px;}
.footer-top h5{color:#fff;font-size:14px;margin-bottom:14px;}
.footer-top ul li{margin-bottom:8px;font-size:13px;}
.footer-top ul li a:hover{color:var(--gold-light);}
.footer-brand p{font-size:13px;color:#95a4b5;}
.socials{display:flex;gap:10px;margin-top:14px;}
.socials a{width:32px;height:32px;border-radius:50%;background:#ffffff12;display:flex;align-items:center;justify-content:center;}
.footer-bottom{border-top:1px solid #ffffff14;padding:16px 0;font-size:12.5px;color:#8391a3;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;}
@media(max-width:900px){.footer-top{grid-template-columns:1fr 1fr 1fr;}}
@media(max-width:600px){.footer-top{grid-template-columns:1fr 1fr;}}

/* ==================================================================
   PROJECT PAGE COMPONENTS (single-project / developer pages)
   ================================================================== */
.pill{display:inline-block;background:var(--gold);color:#fff;font-size:11.5px;font-weight:700;padding:5px 12px;border-radius:30px;margin:0 8px 8px 0;}
.pill.outline{background:transparent;border:1px solid #ffffff55;color:#fff;}
.pill.navy{background:var(--navy);color:#fff;}

.price-highlight{display:inline-flex;flex-direction:column;background:var(--navy);color:#fff;border-radius:10px;padding:16px 22px;margin:6px 0 18px;}
.price-highlight .amt{font-family:'Lora',serif;font-weight:700;font-size:26px;color:var(--gold-light);}
.price-highlight .cap{font-size:11.5px;color:#cfe0f0;margin-top:2px;font-family:'Inter',sans-serif;}

.data-table{width:100%;border-collapse:collapse;font-size:13.5px;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
.data-table th,.data-table td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--border);}
.data-table th{color:var(--navy);font-family:'Inter',sans-serif;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.03em;background:var(--grey-bg);}
.data-table td{color:var(--muted);}
.data-table tr:last-child td{border-bottom:0;}
@media(max-width:640px){.data-table{font-size:12.5px;}.data-table th,.data-table td{padding:9px 8px;}}

.fp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.fp-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
.fp-card .fp-thumb{height:140px;background:linear-gradient(135deg,var(--cream),#fff);display:flex;align-items:center;justify-content:center;color:var(--gold-deep);font-family:'Lora',serif;font-weight:700;font-size:14px;border-bottom:1px solid var(--border);text-align:center;padding:10px;}
.fp-card .fp-body{padding:14px 16px;}
.fp-card h4{font-size:14.5px;margin-bottom:6px;}
.fp-card p{font-size:12.5px;margin-bottom:12px;}
@media(max-width:900px){.fp-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:640px){.fp-grid{grid-template-columns:1fr;}}

.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.gallery-grid div{aspect-ratio:4/3;border-radius:10px;background:linear-gradient(135deg,var(--navy),var(--gold));display:flex;align-items:flex-end;padding:8px;color:#fff;font-size:11px;font-weight:600;}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:640px){.gallery-grid{grid-template-columns:1fr 1fr;}}

.timeline{border-left:2px solid var(--border);margin-left:6px;}
.timeline li{position:relative;padding:0 0 22px 22px;list-style:none;}
.timeline li::before{content:"";position:absolute;left:-7px;top:2px;width:12px;height:12px;border-radius:50%;background:var(--gold);border:2px solid #fff;box-shadow:0 0 0 2px var(--border);}
.timeline .tdate{font-size:11.5px;font-weight:700;color:var(--gold-deep);display:block;margin-bottom:2px;}
.timeline .ttext{font-size:13.5px;color:var(--text);}

.doc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.doc-card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:18px 12px;text-align:center;box-shadow:var(--shadow);}
.doc-card .ic{font-size:22px;margin-bottom:8px;}
.doc-card h5{font-size:13px;margin:0 0 10px;color:var(--navy);}
@media(max-width:900px){.doc-grid{grid-template-columns:1fr 1fr;}}

.spec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.spec-block h4{font-size:14px;color:var(--gold-deep);text-transform:uppercase;letter-spacing:.03em;margin-bottom:10px;}
.spec-block ul li{font-size:13.5px;color:var(--muted);padding:5px 0;border-bottom:1px dashed var(--border);}
@media(max-width:900px){.spec-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:640px){.spec-grid{grid-template-columns:1fr;}}

.proscons{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
@media(max-width:640px){.proscons{grid-template-columns:1fr;}}

.stat-strip{display:flex;gap:28px;flex-wrap:wrap;margin:8px 0 20px;}
.stat-strip div{font-family:'Lora',serif;font-weight:700;font-size:20px;color:var(--navy);}
.stat-strip span{display:block;font-family:'Inter',sans-serif;font-weight:500;font-size:11.5px;color:var(--muted);margin-top:2px;}

.skip-link{position:absolute;left:-999px;top:0;background:var(--gold);color:#fff;padding:10px;z-index:1000;}
.skip-link:focus{left:10px;top:10px;}
:focus-visible{outline:3px solid var(--gold-light);outline-offset:2px;}
@media (prefers-reduced-motion: reduce){*{scroll-behavior:auto !important;transition:none !important;}}
.breadcrumbs{font-size:12.5px;color:var(--muted);padding:14px 0 0;}
.breadcrumbs a{color:var(--navy);font-weight:600;}


    /* ===================== NEOPOLIS LOCATION ===================== */

    #neo-location-section {
        display: block;
        width: 100%;
        padding: 60px 20px;
        background: #f7f8fa;
        box-sizing: border-box;
    }

    #neo-location-section *,
    #neo-location-section *::before,
    #neo-location-section *::after {
        box-sizing: border-box;
    }

    .neo-location-container {
        width: 100%;
        max-width: 1200px;
        margin: 0 auto;
    }

    /* HEADING */

    .neo-location-heading {
        width: 100%;
        max-width: 760px;
        margin: 0 auto 32px;
        text-align: center;
    }

    .neo-location-label {
        display: block;
        margin: 0 0 7px;
        color: #c18b2c;
        font-size: 10px;
        line-height: 1.2;
        font-weight: 800;
        letter-spacing: 1.6px;
    }

    .neo-location-heading h2 {
        display: block;
        margin: 0;
        padding: 0;
        color: #0a2463;
        font-size: 30px;
        line-height: 1.25;
        font-weight: 800;
    }

    .neo-location-heading p {
        margin: 10px 0 0;
        color: #64748b;
        font-size: 13px;
        line-height: 1.6;
    }

    /* MAIN GRID */

    .neo-location-grid {
        display: grid;
        grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
        gap: 30px;
        width: 100%;
        align-items: center;
    }

    /* CONTENT */

    .neo-location-content {
        width: 100%;
        min-width: 0;
    }

    .neo-location-title {
        display: flex;
        align-items: center;
        gap: 13px;
        margin: 0 0 20px;
    }

    .neo-location-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 46px;
        width: 46px;
        height: 46px;
        border-radius: 12px;
        background: #0a2463;
        color: #fff;
    }

    .neo-location-icon svg {
        display: block;
        width: 22px;
        height: 22px;
    }

    .neo-location-title>div:last-child>span {
        display: block;
        margin: 0 0 3px;
        color: #b8862b;
        font-size: 8px;
        line-height: 1.2;
        font-weight: 800;
        letter-spacing: 1.4px;
    }

    .neo-location-title h3 {
        margin: 0;
        padding: 0;
        color: #0a2463;
        font-size: 23px;
        line-height: 1.2;
        font-weight: 800;
    }

    .neo-location-content>p {
        margin: 0 0 14px;
        color: #4a5568;
        font-size: 13px;
        line-height: 1.75;
        text-align: justify;
    }

    .neo-location-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        margin-top: 5px;
        padding: 11px 18px;
        border-radius: 30px;
        background: #0a2463;
        color: #fff !important;
        font-size: 11px;
        line-height: 1;
        font-weight: 700;
        text-decoration: none !important;
        transition: all .2s ease;
    }

    .neo-location-button:hover {
        background: #d69e2e;
        color: #fff !important;
        transform: translateY(-2px);
    }

    .neo-location-button span {
        font-size: 16px;
        line-height: 1;
    }

    /* MAP CARD */

    .neo-map-card {
        width: 100%;
        min-width: 0;
        padding: 10px;
        border: 1px solid #e2e8f0;
        border-radius: 18px;
        background: #fff;
        box-shadow: 0 10px 30px rgba(10, 36, 99, .07);
    }

    /* MAP HEADER */

    .neo-map-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        width: 100%;
        padding: 7px 8px 12px 10px;
    }

    .neo-map-header small {
        display: block;
        margin: 0 0 3px;
        color: #94a3b8;
        font-size: 7px;
        line-height: 1.2;
        font-weight: 800;
        letter-spacing: 1.2px;
    }

    .neo-map-header strong {
        display: block;
        color: #1e293b;
        font-size: 12px;
        line-height: 1.3;
        font-weight: 700;
    }

    .neo-map-badge {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        flex: none;
        padding: 6px 9px;
        border-radius: 20px;
        background: #f0fdf4;
        color: #15803d;
        font-size: 8px;
        line-height: 1;
        font-weight: 700;
    }

    .neo-map-badge i {
        display: block;
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: #22c55e;
    }

    /* MAP */

    .neo-map {
        position: relative;
        width: 100%;
        height: 285px;
        overflow: hidden;
        border-radius: 12px;
        background: #e2e8f0;
    }

    .neo-map iframe {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
        border: 0;
    }

    /* MAP LABEL */

    .neo-map-location {
        position: absolute;
        left: 14px;
        bottom: 14px;
        z-index: 5;
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 8px 12px 8px 8px;
        border: 1px solid rgba(255, 255, 255, .8);
        border-radius: 9px;
        background: rgba(255, 255, 255, .95);
        box-shadow: 0 5px 15px rgba(0, 0, 0, .12);
    }

    .neo-map-pin {
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 27px;
        width: 27px;
        height: 27px;
        border-radius: 7px;
        background: #0a2463;
        color: #fff;
    }

    .neo-map-pin svg {
        display: block;
        width: 14px;
        height: 14px;
    }

    .neo-map-location strong {
        display: block;
        margin: 0;
        color: #0a2463;
        font-size: 10px;
        line-height: 1.2;
    }

    .neo-map-location span {
        display: block;
        margin-top: 2px;
        color: #64748b;
        font-size: 8px;
        line-height: 1.2;
    }

    /* FEATURES */

    .neo-location-features {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        width: 100%;
        margin-top: 10px;
        padding-top: 10px;
        border-top: 1px solid #edf0f4;
    }

    .neo-feature {
        display: flex;
        align-items: center;
        gap: 7px;
        min-width: 0;
        padding: 3px 8px;
        border-right: 1px solid #edf0f4;
    }

    .neo-feature:last-child {
        border-right: 0;
    }

    .neo-feature-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 27px;
        width: 27px;
        height: 27px;
        border-radius: 7px;
        background: #f1f5f9;
        color: #0a2463;
    }

    .neo-feature-icon svg {
        display: block;
        width: 14px;
        height: 14px;
    }

    .neo-feature div:last-child {
        min-width: 0;
    }

    .neo-feature strong {
        display: block;
        overflow: hidden;
        margin: 0;
        color: #334155;
        font-size: 8px;
        line-height: 1.2;
        font-weight: 800;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    .neo-feature span {
        display: block;
        overflow: hidden;
        margin-top: 2px;
        color: #94a3b8;
        font-size: 7px;
        line-height: 1.2;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    /* TABLET */

    @media(max-width:950px) {

        #neo-location-section {
            padding: 50px 18px;
        }

        .neo-location-grid {
            grid-template-columns: 1fr;
            gap: 25px;
        }

        .neo-location-content {
            max-width: 900px;
            margin: 0 auto;
        }

        .neo-map-card {
            max-width: 900px;
            margin: 0 auto;
        }

    }

    /* MOBILE */

    @media(max-width:650px) {

        #neo-location-section {
            padding: 40px 14px;
        }

        .neo-location-heading {
            margin-bottom: 22px;
        }

        .neo-location-heading h2 {
            font-size: 23px;
        }

        .neo-location-heading p {
            font-size: 11px;
        }

        .neo-location-title {
            margin-bottom: 15px;
        }

        .neo-location-title h3 {
            font-size: 20px;
        }

        .neo-location-content>p {
            font-size: 12px;
            line-height: 1.65;
            text-align: left;
        }

        .neo-map {
            height: 240px;
        }

        .neo-location-features {
            grid-template-columns: repeat(2, 1fr);
        }

        .neo-feature {
            min-height: 42px;
            padding: 6px;
        }

        .neo-feature:nth-child(2) {
            border-right: 0;
        }

        .neo-feature:nth-child(-n+2) {
            border-bottom: 1px solid #edf0f4;
        }

    }

    /* SMALL MOBILE */

    @media(max-width:420px) {

        .neo-location-heading h2 {
            font-size: 21px;
        }

        .neo-location-title h3 {
            font-size: 19px;
        }

        .neo-map {
            height: 215px;
        }

        .neo-map-header {
            padding-left: 6px;
            padding-right: 6px;
        }

        .neo-map-badge {
            font-size: 7px;
        }

    }