:root {
  --olive:#6B8E23;
  --sage:#A9B388;
  --deep:#3E4D2B;
  --green:#7FA662;
  --pale:#E6F2E1;
  --ink:#20291b;
  --muted:#6c7465;
  --cream:#fafaf6;
  --white:#fff;
  --line:#e6eadf;
  
}
* {
  box-sizing:border-box;
  margin:0;
  padding:0;
}
html {
  scroll-behavior:smooth;
}
body {
  font-family: var(--body-font);
  color:var(--ink);
  background:var(--white);
  overflow-x:hidden;
  font-size: 18px !important;
}
/* =========================================================
   PRIME URBAN — UNIVERSAL TYPOGRAPHY
   IMPORTANT VERSION
   ========================================================= */

:root {
    --heading-font: 'Playfair Display', serif;
    --body-font: 'Montserrat', sans-serif;
}

h1, h2, h3, h4 {
    font-family: var(--heading-font);
}
/* =========================================================
   UNIVERSAL HEADINGS
   ========================================================= */

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-heading);
    color: var(--deep);
    margin-top: 0;
}


/* ---------------------------------------------------------
   H1 — MAIN PAGE / HERO
   --------------------------------------------------------- */

h1 {
    margin-bottom: 16px;

    font-size: 50px !important;
    font-weight: 600;
    line-height: 1.05;
    letter-spacing: -1px;
}


/* ---------------------------------------------------------
   H2 — MAIN SECTION
   --------------------------------------------------------- */

h2 {
    margin-bottom: 14px;

    font-size: 40px !important;
    font-weight: 600;
    line-height: 1.12;
    letter-spacing: -0.6px;
}


/* ---------------------------------------------------------
   H3 — CARD / SUB SECTION
   --------------------------------------------------------- */

h3 {
    margin-bottom: 8px;
    font-size:24px !important;
    font-weight: 600;
    line-height: 1.18;
    font-family: "Playfair Display", Georgia, serif !important;
}


/* ---------------------------------------------------------
   H4
   --------------------------------------------------------- */

h4 {
    margin-bottom: 7px;

    font-size: 24px !important;
    font-weight: 700;
    line-height: 1.25;
}


/* ---------------------------------------------------------
   H5
   --------------------------------------------------------- */

h5 {
    margin-bottom: 6px;

    font-size: 20px !important;
    font-weight: 700;
    line-height: 1.3;
}


/* ---------------------------------------------------------
   H6
   --------------------------------------------------------- */

h6 {
    margin-bottom: 5px;

    font-size: 16px !important;
    font-weight: 700;
    line-height: 1.35;
}


/* =========================================================
   BODY TEXT
   ========================================================= */

p {
    font-family: var(--font-body);
    font-size: 15px !important;
    line-height: 1.65;
}


/* Small text */

small {
    font-family: var(--font-body);

    font-size: 12px !important;
    line-height: 1.5;
}


/* =========================================================
   HEADING HIGHLIGHT
   ========================================================= */

h1 em,
h2 em,
h3 em,
.section-heading em {
    color: var(--olive);
    font-style: normal;
}


/* =========================================================
   TABLET — MAX 900px
   ========================================================= */

@media (max-width: 900px) {

    h1 {
        font-size: 44px !important;
    }

    h2 {
        font-size: 34px !important;
    }

    h3 {
        font-size: 26px !important;
    }

    h4 {
        font-size: 22px !important;
    }

    h5 {
        font-size: 18px !important;
    }

    h6 {
        font-size: 16px !important;
    }

    p {
        font-size: 15px !important;
    }

    small {
        font-size: 11px !important;
    }
}


/* =========================================================
   MOBILE — MAX 560px
   ========================================================= */

@media (max-width: 560px) {

    h1 {
        font-size: 36px !important;
        line-height: 1.08;
    }

    h2 {
        font-size: 29px !important;
        line-height: 1.12;
    }

    h3 {
        font-size: 22px !important;
        line-height: 1.2;
    }

    h4 {
        font-size: 19px !important;
    }

    h5 {
        font-size: 17px !important;
    }

    h6 {
        font-size: 15px !important;
    }

    p {
        font-size: 14px !important;
        line-height: 1.65;
    }

    small {
        font-size: 11px !important;
    }
}


/* =========================================================
   EXTRA SMALL MOBILE — MAX 400px
   ========================================================= */

@media (max-width: 400px) {

    h1 {
        font-size: 32px !important;
    }

    h2 {
        font-size: 27px !important;
    }

    h3 {
        font-size: 20px !important;
    }

    h4 {
        font-size: 18px !important;
    }

    h5 {
        font-size: 16px !important;
    }

    h6 {
        font-size: 14px !important;
    }

    p {
        font-size: 14px !important;
    }
}

/* Icon end  */
img {
  max-width:100%;
  display:block;
}
a {
  color:inherit; text-decoration: none;
}
.container-fluid {
  width:98%;
  margin:0 auto;
  position:relative;
}
.container {
  width:min(1820px,90%);
  margin:auto;
}


.site-header {
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(62,77,43,.1);
  height:130px;
  padding:20px 0;
}
.nav-wrap {
  height:76px;
  display:flex;
  align-items:center;
  gap:28px;
}
.brand {
  text-decoration:none;
  display:grid;
  grid-template-columns:auto auto auto;
  align-items:center;
  width:max-content;
  color:var(--deep);
  line-height:.8;
  letter-spacing:-1px;
}
.brand-prime {
  font-size:25px;
}
.brand-u {
  font-size:36px;
  font-weight:700;
  color:var(--olive);
  margin:0 2px;
}
.brand-urban {
  font-size:25px;
}
.brand-prime img {
  width:100%;
}
.brand small {
  grid-column:1/-1;
  text-align:center;
  letter-spacing:2px;
  color:#6e765f;
  margin-top:5px;
}
.desktop-nav {
  display:flex;
  gap:28px;
  margin-left:auto;
}
.desktop-nav a,.nav-phone {
  font-size:16px;
  font-weight:700;
  text-decoration:none;
  color:#404a35;
}
.desktop-nav a {
  position:relative;
}
.desktop-nav a:after {
  content:"";
  position:absolute;
  left:0;
  bottom:-8px;
  width:0;
  height:2px;
  background:var(--olive);
  transition:.3s;
}
.desktop-nav a:hover:after {
  width:100%;
}
.nav-phone {
  display:flex;
  align-items:center;
  gap:7px;
}
.nav-phone span {
  color:#2d2e29;
  font-size:18px;
}
.menu-toggle {
  display:none;
  border:0;
  background:none;
  font-size:25px;
  color:var(--deep);
  margin-left:auto;
}
.mobile-nav {
  display:none;
}

.hero-button {
  width:55% !important;
}
/* .hero-bg{position:absolute;inset:0;background:url("https://images.unsplash.com/photo-1545324418-cc1a3fa10c00?auto=format&fit=crop&w=2200&q=90") center/cover no-repeat;transform:scale(1.03);animation:heroZoom 10s ease-out forwards}

.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,39,13,.93) 0%,rgba(29,48,17,.82) 38%,rgba(29,48,17,.34) 72%,rgba(20,30,14,.55))} */.hero-grid {
  position:relative;
  z-index:2;
  min-height:680px;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:60px;
  align-items:center;
}

.eyebrow-hero {
  display:inline-block;
  font-size:14px;
  letter-spacing:2px;
  font-weight:800;
  text-transform:uppercase;
  color:#fff707;
  margin-bottom:14px;
}
.eyebrow {
  display:inline-block;
  font-size:14px;
  letter-spacing:2px;
  font-weight:600;
  text-transform:uppercase;
  color:#79b924;
  margin-bottom:14px;
}
.eyebrow-white {
  display:inline-block;
  font-size:14px;
  letter-spacing:2px;
  font-weight:800;
  text-transform:uppercase;
  color:#fff;
  margin-bottom:14px;
}
.eyebrow\.green {
  color:var(--olive);
}

.hero h1 {
  font-size:clamp(48px,6vw,76px);
  line-height:.98;
  letter-spacing:-2px;
  margin-bottom:14px;
}
.hero h1 em {
  font-style:normal;
  color:#d1f786;
}
.section h2 em {
  font-style:normal;
  color:#506a1c;
}
.hero-motto {
  font-family:cursive;
  font-size:22px;
  color:#ddf1b6;
  margin-bottom:18px;
}
.hero-text {
  font-size:17px;
  line-height:1.7;
  max-width:650px;
  color:#ddf1b6;
}
.hero-text strong {
  color:#fff;
}
.hero-actions {
  display:flex;
  gap:12px;
  margin:28px 0;
}
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:13px 20px;
  border-radius:7px;
  border:1px solid transparent;
  text-decoration:none;
  font-weight:400;
  font-size:12px;
  letter-spacing:.5px;
  cursor:pointer;
  transition:.25s;
}
.btn-primary {
  background:var(--olive);
  color:#fff;
  font-size: 18px;
}
.btn-primary:hover {
  background:#58741d;
  transform:translateY(-2px);
  box-shadow:0 10px 25px rgba(107,142,35,.25);
}
.btn-ghost,
.btn-light {
  border-color:rgba(255,255,255,.5);
  color:#fff;
  background:rgba(255,255,255,.08);
  font-size:18px;
}
.btn-ghost:hover,.btn-light:hover {
  background:rgba(255,255,255,.18);
}
.btn-outline {
  border-color:var(--olive);
  color:var(--deep);
  background:#fff;
  font-size:18px;
  font-weight:400;
}
.btn-outline:hover {
  background:var(--olive);
  color:#fff;
}
.full {
  width:100%;
  font-weight:500;
}
.trust-row {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:15px;
  margin-top:34px;
}
.trust-row>div {
  display:grid;
  grid-template-columns:31px 1fr;
  column-gap:7px;
  align-items:center;
}
.trust-icon {
  grid-row:1/3;
  width:28px;
  height:28px;
  border:1px solid #c8d69e;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#dce9b5;
}
.trust-row b {
  font-size:18px;
  line-height:1.1;
  font-weight:400;
  color: #fff;
}
.trust-row small {
  font-size:12px;
  color:#cbd7bc;
  text-transform:uppercase;
}
.lead-form {
  background:#fff;
  color:var(--ink);
  border-radius:10px;
  padding:30px;
  box-shadow:0 25px 60px rgba(0,0,0,.25);
  width:80%;
  margin-left:auto;
}
.form-kicker {
  font-size:16px;
  letter-spacing:2px;
  color:var(--olive);
  font-weight:800;
}
.lead-form h2 {
  color:var(--deep);
  font-size:29px;
  margin:7px 0;
}
.lead-form>p {
  font-size:14px;
  color:var(--muted);
  margin-bottom:18px;
}
.lead-form label {
  display:block;
  font-size:14px;
  font-weight:700;
  color:#68705f;
  margin:10px 0;
}
.lead-form input,.lead-form select,.enquiry-card input,.enquiry-card select {
  width:100%;
  border:1px solid #e1e5dc;
  border-radius:6px;
  padding:12px 13px;
  margin-top:5px;
  font:inherit;
  font-size:12px;
  outline:none;
  background:#fff;
}
.lead-form input:focus,.lead-form select:focus,.enquiry-card input:focus,.enquiry-card select:focus {
  border-color:var(--olive);
  box-shadow:0 0 0 3px rgba(107,142,35,.1);
}
.form-note {
  display:block;
  text-align:center;
  color:#8a9184;
  font-size:12px;
  margin-top:11px;
}
.section {
  padding:78px 0;
}
.section-soft {
  background:#f8f9f3;
}
.section-head {
  display:flex;
  justify-content:space-between;
  align-items:end;
  margin-bottom:28px;
}
.section h2 {
  font-size:37px !important;
  line-height:1.1;
  color:var(--deep);
}
.section-head p,.muted {
  color:var(--muted);
  font-size:20px;
  margin-top:8px;
}
.text-link {
  font-size:18px;
  font-weight:800;
  text-decoration:none;
  border:1px solid var(--line);
  padding:10px 13px;
  border-radius:6px;
}
.text-link:hover {
  border-color:var(--olive);
  color:var(--olive);
}
.project-grid,
.property-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.project-card,
.property-card {
  background:#fff;
  border:1px solid #e7eadf;
  border-radius:8px;
  overflow:hidden;
  box-shadow:0 7px 22px rgba(45,57,30,.06);
  transition:.3s;
}
.project-card:hover,.property-card:hover {
  transform:translateY(-7px);
  box-shadow:0 17px 35px rgba(45,57,30,.13);
}
.project-card img {
  width:100%;
  height:260px;
  object-fit:cover;
}
.project-card div {
  padding:14px;
}
.project-card h3 {
  font-size:20px;
  color:var(--deep);
}
.project-card p {
  font-size:14px;
  color:var(--muted);
  margin-top:5px;
}
.featured-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  background:#fff;
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 10px 35px rgba(45,57,30,.08);
}
.featured-image {
  position:relative;
  min-height:390px;
}
.featured-image img {
  width:100%;
  height:100%;
  object-fit:cover;
}
.image-badge {
  position:absolute;
  left:20px;
  top:20px;
  background:var(--olive);
  color:#fff;
  padding:8px 11px;
  font-size:9px;
  font-weight:800;
  letter-spacing:1px;
  border-radius:4px;
}
.featured-copy {
  padding:42px;
}
.featured-copy h2 {
  font-size:36px;
  margin-bottom:12px;
}
.mini-features {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
  margin:25px 0;
}
.mini-features span {
  font-size:16px;
  color:#4c5641;
}
.price-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:18px 0;
}
.price-row>div {
  border:1px solid var(--line);
  border-radius:7px;
  padding:14px;
}
.price-row small {
  display:block;
  font-size:14px;
  color:var(--muted);
  font-weight:800;
}
.price-row b {
  display:block;
  font-size:20px;
  color:var(--olive);
  margin:7px 0;
}
.price-row span {
  font-size:12px;
  color:var(--muted);
}
.property-card img {
  height:240px;
  width:100%;
  object-fit:cover;
}
.property-body {
  padding:14px;
}

.property-body h3 {

  margin:4px 0 9px;
}
.property-body strong {
  display:block;
  color:var(--olive);
}
.property-body small {
  display:block;
  color:var(--muted);
  margin-top:8px;
}
.stats-section {
  padding:0 0 78px;
}
.stats-grid {
  display:grid;
  grid-template-columns:1.35fr repeat(4,1fr);
  align-items:stretch;
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 10px 35px rgba(45,57,30,.08);
}
.stats-intro {
  background:var(--deep);
  color:#fff;
  padding:28px;
}
.stats-intro h2 {
  color:#fff;
}
.stats-intro p {
  font-size:14px;
  color:#d5ddce;
  line-height:1.6;
  margin:10px 0 17px;
}
.stats-intro .btn {
  width:100%;
}
.stat {
  background:#fff;
  padding:65px 15px 35px;
  text-align:center;
  border-right:1px solid var(--line);
}
.stat b {
  color:var(--deep);
}
.stat span {
  color:var(--olive);
  font-weight:400;
}
.stat small {
  display:block;
  color:var(--muted);
  margin-top:5px;
  line-height:1.4;
}
.about-grid {
  display:grid;
  grid-template-columns:1.2fr .9fr .9fr;
  gap:24px;
  align-items:stretch;
}
.about-image {
  border-radius:8px;
  overflow:hidden;
  min-height:330px;
}
.about-image img {
  height:100%;
  width:100%;
  object-fit:cover;
}
.about-copy {
  padding:25px 0;
}


.about-copy p {
  line-height:1.8;
  color:var(--muted);
  margin:17px 0 23px;
}
.testimonial {
  border:1px solid var(--line);
  border-radius:8px;
  padding:28px;
  background:#fff;
  box-shadow:0 8px 25px rgba(45,57,30,.05);
}
.testimonial .quote {
  color:var(--sage);
  line-height:.7;
}
.testimonial h3 {
  color:var(--deep);
  margin:10px 0 17px;
}
.testimonial p {
  line-height:1.7;
  color:var(--muted);
}
.customer {
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:20px;
}
.customer>span {
  width:35px;
  height:35px;
  border-radius:50%;
  background:var(--pale);
  display:grid;
  place-items:center;
  color:var(--deep);
  font-weight:800;
}
.customer b,.customer small {
  display:block;
}
.customer small {
  color:var(--muted);
  margin-top:2px;
}
.contact-section {
  background:#f7f8f2;
}
.contact-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.office-card,
.enquiry-card {
  background:#fff;
  border-radius:10px;
  padding:35px;
  box-shadow:0 9px 28px rgba(45,57,30,.06);
}

.contact-item {
  display:flex;
  gap:13px;
  margin:19px 0;
}
.contact-item>b {
  width:38px;
  height:38px;
  border-radius:50%;
  background:var(--pale);
  color:var(--olive);
  display:grid;
  place-items:center;
  flex:none;
}
.contact-item p {
  line-height:1.55;
  color:var(--muted);
}
.contact-item a {
  text-decoration:none;
  color:var(--deep);
  font-weight:700;
}
.map-card {
  height:150px;
  border-radius:8px;
  position:relative;
  overflow:hidden;
  background-color:#e7eedf;
  background-image:linear-gradient(25deg,transparent 48%,#c5d2b4 49%,#c5d2b4 51%,transparent 52%),linear-gradient(155deg,transparent 48%,#c5d2b4 49%,#c5d2b4 51%,transparent 52%);
  background-size:90px 90px;
}
.map-pin {
  position:absolute;
  left:50%;
  top:45%;
  transform:translate(-50%,-50%);
  width:40px;
  height:40px;
  border-radius:50% 50% 50% 0;
  transform-origin:center;
  rotate:-45deg;
  background:var(--olive);
  color:#fff;
  display:grid;
  place-items:center;
  box-shadow:0 7px 15px rgba(45,57,30,.2);
}
.map-pin::first-letter {
  rotate:45deg;
}
.map-card span {
  position:absolute;
  left:50%;
  top:68%;
  transform:translateX(-50%);
  background:#fff;
  padding:7px 10px;
  border-radius:5px;
  font-weight:800;
  color:var(--deep);
  white-space:nowrap;
}
.enquiry-card {
  background:var(--deep);
  color:#fff;
}
.enquiry-card h2 {
  color:#fff;
}
.enquiry-card p {
  color:#d8e0d1;
  margin:8px 0 18px;
}
.enquiry-card input,.enquiry-card select {
  margin-bottom:10px;
}
.enquiry-card .btn {
  margin-top:4px;
}
.footer {
  background:#182410;
  color:#dce4d4;
  padding-top:55px;
}
.footer-grid {
  display:grid;
  grid-template-columns:1.5fr repeat(3,1fr);
  gap:45px;
  padding-bottom:45px;
}
.footer .brand {
  color:#fff;
}
.footer .brand small {
  color:#b8c5aa;
}
.footer-brand p {
  line-height:1.7;
  color:#aeb9a2;
  max-width:260px;
  margin:17px 0;
}
.footer h4 {
  color:#fff;
  margin-bottom:16px;
  font-size: 18px !important;
}
.footer-grid>div:not(.footer-brand) a {
  display:block;
  text-decoration:none;
  color:#aeb9a2;
  margin:10px 0;
  font-size: 14px;
}
.footer-grid>div:not(.footer-brand) a:hover {
  color:#d9e9b4;
}
.socials {
  display:flex;
  gap:8px;
}
.socials a {
  width:47px;
  height:47px;
  border:1px solid #556248;
  border-radius:50%;
  display:grid;
  place-items:center;
  text-decoration:none;
}
.footer-bottom {
  border-top:1px solid #34402d;
  text-align:center;
  padding:17px;
  color:#87927c;
  font-size: 12px;
}
.floating-actions {
  position:fixed;
  right:18px;
  bottom:20px;
  z-index:90;
  display:grid;
  gap:8px;
}
.floating-actions a {
  width:42px;
  height:42px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:50%;
  display:grid;
  place-items:center;
  text-decoration:none;
  color:var(--olive);
  box-shadow:0 7px 20px rgba(0,0,0,.12);
  font-weight:800;
}
.floating-actions a:hover {
  background:var(--olive);
  color:#fff;
}
.reveal {
  opacity:0;
  transform:translateY(35px);
  transition:opacity .75s ease,transform .75s cubic-bezier(.2,
.7,.2,1);
}
.reveal.is-visible {
  opacity:1;
  transform:none;
}
.delay-1 {
  transition-delay:.12s;
}
.delay-2 {
  transition-delay:.22s;
}
.delay-3 {
  transition-delay:.32s;
}
.delay-4 {
  transition-delay:.42s;
}
@keyframes heroZoom {
  from {
    transform:scale(1.03);
  }
  to {
    transform:scale(1.10);
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  .reveal {
    opacity:1;
    transform:none;
    transition:none;
  }
  .hero-bg {
    animation:none;
  }
}
@media(max-width:950px) {
  .desktop-nav {
    gap:16px;
  }
  .nav-phone {
    display:none;
  }
  .hero-grid {
    grid-template-columns:1fr;
  }
  .lead-form {
    margin:0;
    max-width:440px;
  }
  .hero {
    min-height:auto;
    padding:70px 0;
  }
  .hero-grid {
    min-height:auto;
  }
  .project-grid,
.property-grid {
    grid-template-columns:repeat(2,1fr);
  }
  .stats-grid {
    grid-template-columns:1fr 1fr 1fr;
  }
  .stats-intro {
    grid-column:1/-1;
  }
  .about-grid {
    grid-template-columns:1fr 1fr;
  }
  .about-image {
    grid-row:1/3;
  }
  .contact-grid {
    grid-template-columns:1fr;
  }
}
@media(max-width:700px) {
  .desktop-nav,
.nav-phone {
    display:none;
  }
  .menu-toggle {
    display:block;
  }
  .mobile-nav {
    display:none;
    padding:10px 4%;
    background:#fff;
    border-top:1px solid var(--line);
  }
  .mobile-nav.open {
    display:grid;
  }
  .mobile-nav a {
    padding:13px;
    text-decoration:none;
    font-weight:700;
  }

  .trust-row {
    grid-template-columns:1fr 1fr;
  }
  .section {
    padding:58px 0;
  }
  .section-head {
    display:block;
  }
  .text-link {
    display:inline-block;
    margin-top:16px;
  }
  .project-grid,
.property-grid {
    grid-template-columns:1fr 1fr;
  }
  .featured-grid {
    grid-template-columns:1fr;
  }
  .featured-image {
    min-height:300px;
  }
  .featured-copy {
    padding:28px;
  }
 
  .stats-grid {
    grid-template-columns:1fr 1fr;
  }
  .about-grid {
    grid-template-columns:1fr;
  }
  .about-image {
    grid-row:auto;
    min-height:260px;
  }
  .footer-grid {
    grid-template-columns:1fr 1fr;
    gap:30px;
  }
  .hero-button {
    width:98% !important;
  }
}
@media(max-width:480px) {
  .container {
    width:90%;
  }

  .project-grid,
.property-grid,.trust-row,
.features {
    grid-template-columns:1fr;
  }
  .hero {
    padding:52px 0;
  }
  .hero-actions {
    flex-direction:column;
  }
  .btn {
    width:100%;
  }
  .lead-form {
    padding:23px;
  }

  .price-row {
    grid-template-columns:1fr;
  }
  .stats-grid {
    grid-template-columns:1fr;
  }
  .stats-intro {
    grid-column:auto;
  }
  .footer-grid {
    grid-template-columns:1fr;
  }
  .floating-actions {
    right:12px;
  }
}



/* =========================================================

   PRIME URBAN — PREMIUM GLOW + BUTTON HOVER ANIMATIONS

   ========================================================= */

:root{

  --pu-glow:#8fae43;

  --pu-glow-soft:rgba(107,142,35,.22);

  --pu-glow-strong:rgba(107,142,35,.40);

}

/* ---------- Universal transitions ---------- */

a,button,.btn,.text-link,.project-card,.property-card,

.featured-image,.about-image,.testimonial,.stat,

.office-card,.enquiry-card,.trust-row > div{

  -webkit-tap-highlight-color:transparent;

}

/* ---------- ALL BUTTONS ---------- */

.btn{

  position:relative;

  isolation:isolate;

  overflow:hidden;

  transform:translateZ(0);

  transition:

    transform .35s cubic-bezier(.2,.8,.2,1),

    box-shadow .35s ease,

    background-color .35s ease,

    border-color .35s ease,

    color .35s ease,

    filter .35s ease;

}

.btn::before{

  content:"";

  position:absolute;

  inset:0;

  z-index:-1;

  background:linear-gradient(

    110deg,

    transparent 18%,

    rgba(255,255,255,.12) 35%,

    rgba(255,255,255,.48) 50%,

    rgba(255,255,255,.10) 62%,

    transparent 82%

  );

  transform:translateX(-130%);

  transition:transform .75s ease;

}

.btn:hover{

  transform:translateY(-5px) scale(1.025);

  filter:saturate(1.08);

}

.btn:hover::before{

  transform:translateX(130%);

}

.btn:active{

  transform:translateY(-1px) scale(.98);

}

.btn-primary{

  box-shadow:0 8px 20px rgba(45,57,30,.16);
  width: 100%;
}

.btn-primary:hover{

  background:#789b27 !important;

  box-shadow:

    0 12px 30px rgba(45,57,30,.26),

    0 0 18px rgba(107,142,35,.42),

    0 0 42px rgba(107,142,35,.16);

  animation:puButtonGlow 1.7s ease-in-out infinite;

}

@keyframes puButtonGlow{

  0%,100%{

    box-shadow:

      0 12px 30px rgba(45,57,30,.25),

      0 0 16px rgba(107,142,35,.30);

  }

  50%{

    box-shadow:

      0 15px 34px rgba(45,57,30,.32),

      0 0 30px rgba(107,142,35,.52),

      0 0 52px rgba(107,142,35,.14);

  }

}

.btn-ghost:hover,

.btn-outline:hover,

.btn-light:hover{

  background:var(--olive) !important;

  color:#fff !important;

  border-color:var(--olive) !important;

  box-shadow:

    0 10px 25px rgba(45,57,30,.20),

    0 0 22px rgba(107,142,35,.30);

}

/* ---------- Section heading glow ---------- */

.section h2 em{

  position:relative;

  display:inline-block;

  transition:

    color .35s ease,

    text-shadow .35s ease;

}

.section h2 em::after{

  content:"";

  position:absolute;

  left:3%;

  right:3%;

  bottom:-6px;

  height:2px;

  border-radius:50%;

  background:linear-gradient(

    90deg,

    transparent,

    rgba(107,142,35,.72),

    transparent

  );

  transform:scaleX(.15);

  opacity:0;

  transition:transform .5s ease,opacity .5s ease;

}

.section h2:hover em{

  text-shadow:

    0 0 10px rgba(107,142,35,.20),

    0 0 25px rgba(107,142,35,.10);

}

.section h2:hover em::after{

  transform:scaleX(1);

  opacity:1;

}

/* ---------- Section ambient glow ---------- */

.section-load{

  position:relative;

}

.section-load::after{

  content:"";

  position:absolute;

  width:260px;

  height:260px;

  right:-130px;

  top:30%;

  pointer-events:none;

  border-radius:50%;

  background:radial-gradient(

    circle,

    rgba(127,166,98,.14) 0%,

    rgba(127,166,98,.06) 38%,

    transparent 72%

  );

  filter:blur(10px);

  animation:puAmbient 5.5s ease-in-out infinite;

}

@keyframes puAmbient{

  0%,100%{transform:translate(0,0) scale(.9);opacity:.35}

  50%{transform:translate(-30px,-18px) scale(1.15);opacity:.75}

}

/* ---------- Project + property cards ---------- */

.project-card,.property-card{

  position:relative;

  transition:

    transform .42s cubic-bezier(.2,.8,.2,1),

    box-shadow .42s ease,

    border-color .42s ease;

}

.project-card::after,.property-card::after{

  content:"";

  position:absolute;

  inset:-1px;

  border-radius:inherit;

  pointer-events:none;

  box-shadow:

    0 0 0 1px rgba(107,142,35,.18),

    0 0 24px rgba(107,142,35,.16);

  opacity:0;

  transition:opacity .42s ease;

}

.project-card:hover,.property-card:hover{

  transform:translateY(-9px) scale(1.012);

  border-color:rgba(107,142,35,.34);

  box-shadow:

    0 18px 38px rgba(45,57,30,.14),

    0 0 25px rgba(107,142,35,.10);

}

.project-card:hover::after,.property-card:hover::after{

  opacity:1;

}

.project-card img,.property-card img{

  transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .45s ease;

}

.project-card:hover img,.property-card:hover img{

  transform:scale(1.065);

  filter:saturate(1.08);

}

/* ---------- Featured block ---------- */

.featured-image{

  transition:transform .45s ease,box-shadow .45s ease;

}

.featured-image:hover{

  transform:translateY(-6px);

  box-shadow:

    0 20px 42px rgba(45,57,30,.16),

    0 0 28px rgba(107,142,35,.16);

}

.featured-image img{

  transition:transform .75s ease;

}

.featured-image:hover img{

  transform:scale(1.045);

}

/* ---------- About / testimonial / contact ---------- */

.about-image,.testimonial,.office-card,.enquiry-card{

  transition:

    transform .42s ease,

    box-shadow .42s ease,

    border-color .42s ease;

}

.about-image:hover,.testimonial:hover,.office-card:hover{

  transform:translateY(-6px);

  box-shadow:

    0 17px 36px rgba(45,57,30,.12),

    0 0 25px rgba(107,142,35,.10);

}

.testimonial:hover{

  border-color:rgba(107,142,35,.30);

}

.enquiry-card:hover{

  box-shadow:

    0 20px 45px rgba(24,36,16,.30),

    0 0 28px rgba(107,142,35,.15);

}

/* ---------- Stats ---------- */

.stat{

  position:relative;

  overflow:hidden;

  transition:transform .35s ease,box-shadow .35s ease;

}

.stat::before{

  content:"";

  position:absolute;

  width:140px;

  height:140px;

  left:50%;

  top:45%;

  border-radius:50%;

  transform:translate(-50%,-50%) scale(.3);

  background:radial-gradient(circle,rgba(107,142,35,.15),transparent 68%);

  opacity:0;

  transition:transform .45s ease,opacity .45s ease;

}

.stat:hover{

  transform:translateY(-7px);

  box-shadow:inset 0 0 26px rgba(107,142,35,.07);

}

.stat:hover::before{

  transform:translate(-50%,-50%) scale(1.35);

  opacity:1;

}

/* ---------- Trust items ---------- */

.trust-row > div{

  transition:transform .35s ease,filter .35s ease;

}

.trust-row > div:hover{

  transform:translateY(-5px);

  filter:drop-shadow(0 0 8px rgba(188,214,140,.32));

}

.trust-icon{

  transition:transform .35s ease,box-shadow .35s ease;

}

.trust-row > div:hover .trust-icon{

  transform:scale(1.1);

  box-shadow:

    0 0 0 4px rgba(188,214,140,.08),

    0 0 20px rgba(188,214,140,.32);

}

/* ---------- Forms ---------- */

.lead-form input:hover,

.lead-form select:hover,

.enquiry-card input:hover,

.enquiry-card select:hover{

  border-color:rgba(107,142,35,.55);

}

.lead-form input:focus,

.lead-form select:focus,

.enquiry-card input:focus,

.enquiry-card select:focus{

  outline:none;

  box-shadow:

    0 0 0 3px rgba(107,142,35,.10),

    0 0 18px rgba(107,142,35,.12) !important;

}

/* ---------- Links ---------- */

.text-link{

  position:relative;

  transition:

    color .3s ease,

    transform .3s ease,

    text-shadow .3s ease;

}

.text-link:hover{

  color:var(--olive) !important;

  transform:translateY(-3px);

  text-shadow:0 0 12px rgba(107,142,35,.20);

}

/* ---------- Floating action buttons ---------- */

.floating-actions a{

  position:relative;

  transition:

    transform .3s ease,

    background .3s ease,

    color .3s ease,

    box-shadow .3s ease;

}

.floating-actions a::before{

  content:"";

  position:absolute;

  inset:-4px;

  border-radius:50%;

  border:1px solid rgba(107,142,35,.28);

  animation:puFloatRing 2.4s ease-out infinite;

}

.floating-actions a:hover{

  transform:scale(1.12) translateY(-3px);

  box-shadow:

    0 8px 22px rgba(0,0,0,.16),

    0 0 20px rgba(107,142,35,.30);

}

@keyframes puFloatRing{

  0%{transform:scale(.8);opacity:.7}

  70%,100%{transform:scale(1.25);opacity:0}

}

/* ---------- Scroll reveal enhancement ---------- */

.reveal{

  opacity:0;

  transform:translateY(42px) scale(.985);

  filter:blur(2px);

  transition:

    opacity .8s ease,

    transform .8s cubic-bezier(.2,.75,.2,1),

    filter .8s ease;

}

.reveal.is-visible{

  opacity:1;

  transform:translateY(0) scale(1);

  filter:blur(0);

}

/* ---------- Button ripple ---------- */

.btn .pu-ripple{

  position:absolute;

  width:8px;

  height:8px;

  border-radius:50%;

  background:rgba(255,255,255,.48);

  pointer-events:none;

  transform:translate(-50%,-50%) scale(1);

  opacity:1;

  animation:puRipple .65s ease-out forwards;

}

@keyframes puRipple{

  to{

    transform:translate(-50%,-50%) scale(35);

    opacity:0;

  }

}

/* ---------- Reduced motion ---------- */

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

  *,

  *::before,

  *::after{

    animation-duration:.01ms !important;

    animation-iteration-count:1 !important;

    scroll-behavior:auto !important;

    transition-duration:.01ms !important;

  }

}





/* =========================================================

   PRIME URBAN — 4 IMAGE HERO SLIDER

   ========================================================= */

.hero{

  position:relative;

  overflow:hidden;

  isolation:isolate;

  min-height:620px;

  background:#27321f;

}

.hero-slider{

  position:absolute;

  inset:0;

  z-index:0;

  overflow:hidden;

}

.hero-slide{

  position:absolute;

  inset:0;

  opacity:0;

  visibility:hidden;

  transform:scale(1.04);

  transition:

    opacity 1.1s ease,

    visibility 1.1s ease,

    transform 6.5s ease;

}

.hero-slide.active{

  opacity:1;

  visibility:visible;

  transform:scale(1);

}

.hero-slide img{

  width:100%;

  height:100%;

  display:block;

  object-fit:cover;

  object-position:center;

}

.hero-slider-overlay{

  position:absolute;

  inset:0;

  z-index:2;

  background:

    linear-gradient(

      90deg,

      rgba(255,255,255,.94) 0%,

      rgba(255,255,255,.82) 34%,

      rgba(255,255,255,.28) 62%,

      rgba(23,35,17,.38) 100%

    );

  pointer-events:none;

}

.hero-slider-arrow{

  position:absolute;

  z-index:5;

  top:50%;

  width:46px;

  height:46px;

  border:1px solid rgba(255,255,255,.65);

  border-radius:50%;

  display:flex;

  align-items:center;

  justify-content:center;

  background:rgba(30,43,22,.45);

  color:#fff;

  cursor:pointer;

  line-height:1;

  transform:translateY(-50%);

  backdrop-filter:blur(8px);

  box-shadow:0 8px 25px rgba(0,0,0,.16);

  transition:

    transform .3s ease,

    background .3s ease,

    box-shadow .3s ease,

    border-color .3s ease;

}

.hero-slider-prev{left:24px}

.hero-slider-next{right:24px}

.hero-slider-arrow:hover{

  background:var(--olive,#6b8e23);

  border-color:#fff;

  transform:translateY(-50%) scale(1.10);

  box-shadow:

    0 10px 28px rgba(0,0,0,.22),

    0 0 22px rgba(107,142,35,.42);

}

.hero-slider-dots{

  position:absolute;

  z-index:6;

  left:50%;

  bottom:24px;

  transform:translateX(-50%);

  display:flex;

  align-items:center;

  gap:9px;

  padding:9px 13px;

  border-radius:30px;

  background:rgba(20,30,15,.30);

  border:1px solid rgba(255,255,255,.28);

  backdrop-filter:blur(8px);

}

.hero-dot{

  width:9px;

  height:9px;

  padding:0;

  border:0;

  border-radius:50%;

  background:rgba(255,255,255,.60);

  cursor:pointer;

  transition:

    width .35s ease,

    background .35s ease,

    box-shadow .35s ease,

    transform .35s ease;

}

.hero-dot:hover{

  transform:scale(1.35);

  background:#fff;

}

.hero-dot.active{

  width:27px;

  border-radius:10px;

  background:#8fae43;

  box-shadow:

    0 0 10px rgba(143,174,67,.70),

    0 0 22px rgba(143,174,67,.30);

}

.hero > .container,

.hero > .hero-content,

.hero > .hero-inner{

  position:relative;

  z-index:4;

}

/* Keep slider controls usable on mobile */

@media(max-width:768px){

  .hero{

    min-height:720px;

  }

  .hero-slider-overlay{

    background:

      linear-gradient(

        90deg,

        rgba(255,255,255,.94) 0%,

        rgba(255,255,255,.72) 55%,

        rgba(255,255,255,.30) 100%

      );

  }

  .hero-slider-arrow{ width:38px; height:38px;}

  .hero-slider-prev{left:12px}

  .hero-slider-next{right:12px}

  .hero-slider-dots{

    bottom:14px;

  }

}

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

  .hero-slide{

    transition:none;

    transform:none;

  }

}



/* Hero content must remain above the image slider */

.hero > *:not(.hero-slider){

  position:relative;

  z-index:4;

}

.hero .hero-slider{

  pointer-events:auto;

}



/* Final slider interaction fix */

.hero-slider{

  pointer-events:auto;

}

.hero-slider-arrow,

.hero-slider-dots,

.hero-dot{

  pointer-events:auto;

}

.hero-slider-arrow{

  appearance:none;

  -webkit-appearance:none;

}



/* =========================================================

   PRIME URBAN — FINAL HERO GEOMETRY FIX

   ========================================================= */

.hero{

  width:100%;

  max-width:100%;

  overflow:hidden;

}

.hero .container.hero-grid{

  width:min(1580px, calc(100% - 48px));

  max-width:1680px;

  margin-left:auto;

  margin-right:auto;

  grid-template-columns:minmax(0, 1.18fr) minmax(340px, .82fr);

  gap:42px;

  align-items:center;

}

.hero-copy{

  min-width:0;

  max-width:690px;

}



.hero-text{

  max-width:650px;

}

.hero-slider-overlay{

  background:

    linear-gradient(

      90deg,

      rgba(62,77,43,.94) 0%,

      rgba(62,77,43,.82) 32%,

      rgba(62,77,43,.54) 62%,

      rgba(62,77,43,.38) 100%

    );

}

/* The green overlay remains architectural and keeps the building visible. */

.hero-slider-overlay::after{

  content:"";

  position:absolute;

  inset:0;

  background:

    linear-gradient(

      180deg,

      rgba(62,77,43,.08),

      rgba(62,77,43,.20)

    );

  pointer-events:none;

}

/* Keep hero content comfortably inside the viewport. */

.hero-grid{

  padding-left:0;

  padding-right:0;

}

@media(max-width:1100px){

  .hero .container.hero-grid{

    width:min(1040px, calc(100% - 40px));

    grid-template-columns:minmax(0, 1fr) minmax(320px, .82fr);

    gap:30px;

  }

  .lead-form{

    max-width:390px;

  }

}

@media(max-width:850px){

  .hero .container.hero-grid{

    width:min(720px, calc(100% - 32px));

    grid-template-columns:1fr;

    gap:32px;

  }

  .lead-form{

    margin-left:auto;

    margin-right:auto;

    max-width:440px;

  }

  .hero-copy{

    max-width:700px;

  }

}

@media(max-width:480px){

  .hero .container.hero-grid{

    width:calc(100% - 28px);

  }

  .hero-slider-overlay{

    background:

      linear-gradient(

        90deg,

        rgba(62,77,43,.94) 0%,

        rgba(62,77,43,.76) 62%,

        rgba(62,77,43,.48) 100%

      );

  }

}

html,body{max-width:100%;overflow-x:hidden;}



/* Final full-width slider correction */

.hero-slider,

.hero-slider .hero-slide,

.hero-slider .hero-slide img,

.hero-slider-overlay{

  width:100%;

  max-width:none;

}

.hero-slide img{

  min-width:100%;

}

.hero-slide:first-child{

  opacity:1;

  visibility:visible;

}

.hero-slider.js-ready .hero-slide:first-child{

  opacity:0;

  visibility:hidden;

}

.hero-slider.js-ready .hero-slide:first-child.active{

  opacity:1;

  visibility:visible;

}

/* =========================================================
   HEADER — FIXED TOP / NO RIGHT GAP / STABLE ON SCROLL
   ========================================================= */
html{
  scroll-behavior:smooth;
  scroll-padding-top:96px;
}
body{
  margin:0;
  overflow-x:hidden;
}
.site-header{
  position:fixed !important;
  top:0;
  left:0;
  right:0;
  width:100%;
  height:120px;
  padding:0;
  margin:0;
  z-index:10000;
  background:rgba(255,255,255,.97);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(62,77,43,.12);
  box-shadow:0 4px 22px rgba(30,45,20,.08);
}
.site-header .nav-wrap{
  /* width:min(1180px,calc(100% - 40px)); */
  max-width:96%;
  height:120px;
  margin:0 auto;
  padding:0;
  display:flex;
  align-items:center;
  gap:28px;
}
.site-header .brand{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  width:auto;
  max-width:100%;
  line-height:1;
  letter-spacing:0;
}
.site-header .brand-prime{
  display:block;
  width:100%;
  line-height:0;
}
.site-header .brand-prime img{
  display:block;
  width:80%;
  height:auto;
  max-width:100%;
  object-fit:contain;
}
.site-header .desktop-nav{
  flex:1 1 auto;
  display:flex;
  justify-content:end;
  align-items:center;
  gap:28px;
  margin-left:10px;
}
.site-header .desktop-nav a{
  white-space:nowrap;
}
.site-header .nav-phone{
  flex:0 0 auto;
  white-space:nowrap;
  background: yellowgreen;
  padding: 10px 20px;
  color: #000;
  border-radius: 8px;
}
.site-header .menu-toggle{
  flex:0 0 auto;
}
main{
  padding-top:92px;
}
.hero{
  margin-top:0;
}
.mobile-nav{
  position:absolute;
  top:92px;
  left:0;
  right:0;
  width:100%;
  box-shadow:0 12px 25px rgba(30,45,20,.10);
}
.site-header.is-scrolled{
  box-shadow:0 7px 28px rgba(30,45,20,.14);
  background:rgba(255,255,255,.985);
}
[id]{
  scroll-margin-top:105px;
}
@media(max-width:950px){
  .site-header,
  .site-header .nav-wrap{height:82px}
  .site-header .nav-wrap{
    width:calc(100% - 28px);
  }
  .site-header .brand-prime,
  .site-header .brand-prime img{
    width:155px;
  }
  main{padding-top:82px}
  .mobile-nav{top:82px}
}
@media(max-width:700px){
  .site-header,
  .site-header .nav-wrap{height:76px}
  .site-header .nav-wrap{
    width:calc(100% - 24px);
    gap:12px;
  }
  .site-header .brand-prime,
  .site-header .brand-prime img{
    width:145px;
  }
  main{padding-top:76px}
  .mobile-nav{top:76px}
}
@media(max-width:480px){
  .site-header .brand-prime,
  .site-header .brand-prime img{width:180px}
}

/* =========================================================
   FINAL RESPONSIVE HEADER MENU FIX
   IMPORTANT: Mobile-only fix — desktop/header layout unchanged.
   ========================================================= */

/* Tablet + Mobile */
@media (max-width: 950px){
  .site-header .desktop-nav,
  .site-header .nav-phone{
    display:none !important;
  }

  .site-header .menu-toggle{
    display:block !important;
    margin-left:auto;
    flex:0 0 auto;
    cursor:pointer;
    line-height:1;
    padding:8px;
  }
}

/* Mobile */
@media (max-width: 700px){
  .site-header .desktop-nav,
  .site-header .nav-phone{
    display:none !important;
  }

  .site-header .menu-toggle{
    display:block !important;
  }

  .site-header .mobile-nav{
    display:none;
    position:absolute;
    top:76px;
    left:0;
    right:0;
    width:100%;
    padding:8px 12px 14px;
    background:#fff;
    border-top:1px solid var(--line);
    box-shadow:0 12px 25px rgba(30,45,20,.10);
    z-index:10001;
  }

  .site-header .mobile-nav.open{
    display:grid !important;
  }

  .site-header .mobile-nav a{
    display:block;
    padding:13px 14px;
    text-decoration:none;
    font-weight:700;
    color:#404a35;
    border-bottom:1px solid #eef1e9;
  }

  .site-header .mobile-nav a:last-child{
    border-bottom:0;
  }
}

/* Small phones */
@media (max-width:480px){
  .site-header .menu-toggle{
    padding:7px;
  }

  .site-header .mobile-nav{
    top:76px;
  }
}


/* =====================================================
   PRIME URBAN
   TRUSTED DEVELOPERS SECTION
   ===================================================== */

.developers-section {
    position: relative;
    padding: 110px 0;
    background: #f7f8f3;
    overflow: hidden;
}


/* Decorative glow */

.developers-section::before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    top: -180px;
    right: -150px;
    background: rgba(127, 166, 98, 0.15);
    border-radius: 50%;
    filter: blur(80px);
    pointer-events: none;
}


.developers-section::after {
    content: "";
    position: absolute;
    width: 350px;
    height: 350px;
    bottom: -180px;
    left: -120px;
    background: rgba(169, 179, 136, 0.14);
    border-radius: 50%;
    filter: blur(80px);
    pointer-events: none;
}


.developers-container {
    /* width: min(1180px, calc(100% - 40px)); */
    margin: auto;
    position: relative;
    z-index: 2;
}


/* =====================================================
   HEADING
   ===================================================== */

.developers-heading {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 55px;
}


.section-eyebrow {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px;
    font-weight: 800;
    letter-spacing: 3px;

    color: #6b8e23;

    margin-bottom: 18px;
}


.section-eyebrow span {
    width: 38px;
    height: 1px;
    background: #a9b388;
}


.developers-heading h2 {
    margin: 0;
    font-size: clamp(34px, 4vw, 56px);
    line-height: 1.05;
    color: #26341f;
}


.developers-heading h2 strong {
    color: #6b8e23;
    font-weight: 600;
}


.developers-heading p {
    max-width: 620px;
    margin: 20px auto 0;
    color: #65705d;
    line-height: 1.7;
}


/* =====================================================
   GRID
   ===================================================== */

.developers-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    width: 92.5%;
    margin: 0 auto;
    position: relative;
}


/* =====================================================
   CARD
   ===================================================== */

.developer-card {
    position: relative;

    min-height: 380px;

    padding: 27px 22px;

    background: rgba(255,255,255,0.88);

    border: 1px solid rgba(62,77,43,0.12);

    border-radius: 18px;

    box-shadow:
        0 10px 35px rgba(30,45,20,0.06);

    overflow: hidden;

    transition:
        transform .45s ease,
        box-shadow .45s ease,
        border-color .45s ease;
}


.developer-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 3px;

    background:
        linear-gradient(
            90deg,
            #6b8e23,
            #a9b388,
            #3e4d2b
        );

    transform: scaleX(0);
    transform-origin: left;

    transition: transform .45s ease;
}


.developer-card:hover {
    transform: translateY(-9px);

    border-color: rgba(107,142,35,.3);

    box-shadow:
        0 22px 50px rgba(45,65,30,.13);
}


.developer-card:hover::before {
    transform: scaleX(1);
}


/* =====================================================
   PRIME URBAN FEATURED CARD
   ===================================================== */

.prime-card {
    color: #fff;

    background:
        linear-gradient(
            145deg,
            #3e4d2b,
            #27351f
        );

    border-color: rgba(169,179,136,.3);

    box-shadow:
        0 18px 45px rgba(62,77,43,.25);
}


.prime-card:hover {
    box-shadow:
        0 25px 60px rgba(62,77,43,.35);
}


.prime-card .developer-divider {
    background: rgba(255,255,255,.18);
}


.prime-card h3 {
    color: #fff;
}


.prime-card .developer-description {
    color: rgba(255,255,255,.75);
}


.prime-card .developer-location {
    color: #dce6cc;
}


/* =====================================================
   CARD TOP
   ===================================================== */

.developer-top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    min-height: 55px;
}


.developer-logo {
    font-weight: 700;
    letter-spacing: 1px;
    color: #3e4d2b;
}


.prime-logo {
    color: #fff;
}


.prime-logo span {
    color: #a9c16d;

}


.developer-number {
    width: 34px;
    height: 34px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    font-weight: 800;

    color: #6b8e23;

    background: #eef2e8;
}


.prime-card .developer-number {
    color: #fff;
    background: rgba(255,255,255,.12);
}


.developer-badge {
    padding: 6px 10px;
    border-radius: 30px;
    background: #8ea95c;
    color: #fff;
    font-weight: 500;
    letter-spacing: 1.5px;
    font-size: 14px;
}


/* =====================================================
   CARD CONTENT
   ===================================================== */

.developer-divider {
    width: 100%;
    height: 1px;

    background: rgba(62,77,43,.10);

    margin: 18px 0 20px;
}


.developer-card h3 {
    margin: 0 0 8px;
    color: #283421;
}


.developer-location {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0 0 17px;
    color: #6b765f;
    font-weight: 700;
}


.developer-location i {
    color: #6b8e23;
}


.developer-description {
    margin: 0;
    min-height: 92px;
    color: #667060;
    line-height: 28px;
    font-size: 16px !important;
    margin-bottom: 20px;
}


/* =====================================================
   TAGS
   ===================================================== */

.developer-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 18px 0 22px;
}


.developer-tags span {
    padding: 6px 9px;
    border-radius: 20px;
    background: #edf2e7;
    color: #4e633b;
    font-weight: 800;
}


.prime-card .developer-tags span {
    background: rgba(255,255,255,.10);
    color: #e7efd9;
}


/* =====================================================
   LINK
   ===================================================== */

.developer-link {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-top: auto;

    text-decoration: none;
    color: #5d7e20;
    font-weight: 900;
    transition: .3s ease;
}

.white-text{color: #fff !important;}
.developer-link span {
    transition:
        transform .3s ease;
}


.developer-link:hover {
    color: #3e4d2b;
}


.developer-link:hover span {
    transform: translateX(6px);
}


.prime-card .developer-link {
    color: #c8d9a7;
}


.prime-card .developer-link:hover {
    color: #fff;
}


/* =====================================================
   CTA
   ===================================================== */

.developers-cta {
    margin-top: 55px;

    padding: 30px 35px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;

    border-radius: 20px;

    background:
        linear-gradient(
            110deg,
            #3e4d2b,
            #526838
        );

    box-shadow:
        0 18px 45px rgba(62,77,43,.18);
}


.cta-small {
    color: #cbd9b4;
    font-weight: 900;
    letter-spacing: 2px;
}


.developers-cta h3 {
    margin: 7px 0 0;
    color: #fff;
    font-size: clamp(22px, 3vw, 32px);
}


.developers-cta h3 span {
    color: #b8cf8a;
}


.cta-button {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 14px 22px;
    border-radius: 8px;
    background: #fff;
    color: #3e4d2b;
    text-decoration: none;
    font-weight: 600;
    box-shadow: 0 8px 20px rgba(0,0,0,.12);
    transition: all .35s ease;
}


.cta-button span {
    transition: transform .3s ease;
}


.cta-button:hover {
    transform: translateY(-3px);

    box-shadow:
        0 14px 28px rgba(0,0,0,.18);
}


.cta-button:hover span {
    transform: translateX(5px);
}


/* =====================================================
   SCROLL REVEAL
   ===================================================== */

.reveal-up {
    opacity: 0;

    transform: translateY(35px);

    transition:
        opacity .8s ease,
        transform .8s ease;
}


.reveal-up.show {
    opacity: 1;
    transform: translateY(0);
    width: 91%;
    margin:30px auto;
    position: relative;
}


/* =====================================================
   RESPONSIVE
   ===================================================== */

@media (max-width: 1100px) {

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

    .prime-card {
        grid-column: span 3;
    }

}


@media (max-width: 750px) {

    .developers-section {
        padding: 80px 0;
    }

    .developers-grid {
        grid-template-columns: 1fr 1fr;
    }

    .prime-card {
        grid-column: span 2;
    }

    .developers-cta {
        flex-direction: column;
        align-items: flex-start;
    }

}


@media (max-width: 520px) {

    .developers-container {
        width: calc(100% - 28px);
    }

    .developers-grid {
        grid-template-columns: 1fr;
    }

    .prime-card {
        grid-column: span 1;
    }

    .developer-card {
        min-height: auto;
    }

    .developer-description {
        min-height: auto;
    }

    .developers-cta {
        padding: 25px;
    }

    .cta-button {
        width: 100%;
        justify-content: center;
    }

}

/* =========================================================
   PRIME URBAN — HERO REFERENCE MATCH UPDATE
   Only hero text, overlay and the compact stats strip are changed.
   ========================================================= */
.hero-slider-overlay{
  background:
    linear-gradient(
      90deg,
      rgba(30, 52, 22, .96) 0%,
      rgba(44, 70, 30, .91) 28%,
      rgba(62, 77, 43, .68) 52%,
      rgba(62, 77, 43, .28) 76%,
      rgba(30, 43, 22, .18) 100%
    ) !important;
}
.hero-slider-overlay::after{
  background:linear-gradient(180deg,rgba(62,77,43,.05),rgba(24,40,18,.16)) !important;
}
.hero-copy .eyebrow-hero{
  color:#d7e58f;
  letter-spacing:2.2px;
  margin-bottom:14px;
}
.hero-copy h1{
  color:#fff;
  line-height:.98;
}
.hero-copy h1 em{
  color:#b9d76b !important;
}
.hero-copy .hero-text{
  color:#edf3e4;
}
.hero-copy .hero-text strong{
  color:#fff;
}
.hero-copy .hero-actions{margin-top:24px}

/* Compact strip shown directly below the hero, matching the supplied reference. */
.hero-stats-strip{
  position:relative;
  z-index:8;
  width:min(1440px,calc(100% - 40px));
  margin:-13px auto 0;
  background:linear-gradient(135deg,#203319 0%,#304523 55%,#3e4d2b 100%);
  border-radius:6px;
  box-shadow:0 16px 35px rgba(29,43,20,.18);
  overflow:hidden;
}
.hero-stats-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  min-height:92px;
  padding:0;
}
.hero-stat{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:18px 22px;
  color:#fff;
}
.hero-stat-icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  color:#a9c84f;
  filter:drop-shadow(0 0 7px rgba(169,200,79,.18));
  transition:transform .35s ease,filter .35s ease,color .35s ease;
}
.hero-stat-icon svg{width:100%;height:100%;display:block}
.hero-stat-content{display:flex;align-items:center;gap:8px;min-width:0}
.hero-stat:hover .hero-stat-icon{transform:translateY(-3px) scale(1.08);color:#c4df70;filter:drop-shadow(0 0 11px rgba(169,200,79,.38));}
.hero-stat:hover .hero-stat-content strong{text-shadow:0 0 12px rgba(169,200,79,.25)}
.hero-stat:not(:last-child)::after{
  content:"";
  position:absolute;
  right:0;
  top:22px;
  bottom:22px;
  width:1px;
  background:rgba(230,242,225,.16);
}
.hero-stat strong{
  display:flex;
  align-items:baseline;
  gap:2px;
  color:#b7d65c;
  line-height:1;
  white-space:nowrap;
}
.hero-stat strong span{display:inline-block}
.hero-stat-content>span{
  color:#e7eddf;
  font-weight:700;
  line-height:1.25;
  text-transform:uppercase;
  letter-spacing:.65px;
}
.hero-stats-strip .reveal{
  filter:none;
}

@media(max-width:850px){
  .hero-stats-strip{margin:-24px auto 0;width:min(720px,calc(100% - 32px))}
  .hero-stats-grid{grid-template-columns:repeat(2,1fr)}
  .hero-stat:nth-child(2)::after{display:none}
  .hero-stat:nth-child(1),.hero-stat:nth-child(2){border-bottom:1px solid rgba(230,242,225,.10)}
}
@media(max-width:480px){
  .hero-stats-strip{width:calc(100% - 28px);margin:-18px auto 0}
  .hero-stats-grid{grid-template-columns:1fr 1fr}
  .hero-stat{padding:15px 8px;gap:6px;flex-direction:column;text-align:center}.hero-stat-content{flex-direction:column;gap:3px}
  .hero-stat:nth-child(2)::after{display:block}
  .hero-stat:nth-child(4)::after{display:none}
}

/* =========================================================
   PRIME URBAN — ABOUT US PAGE
   Uses the same global palette, header, footer, buttons and JS.
   ========================================================= */
.about-page{background:#fff}
.desktop-nav a.active{color:var(--olive)}
.desktop-nav a.active:after{width:100%}

.about-hero{position:relative;min-height:690px;color:#fff;overflow:hidden;display:flex;align-items:center}
.about-hero-media,.about-hero-overlay{position:absolute;inset:0}
.about-hero-media img{width:100%;height:100%;object-fit:cover;animation:aboutHeroZoom 12s ease-out both}
.about-hero-overlay{background:linear-gradient(90deg,rgba(19,42,12,.96) 0%,rgba(25,49,17,.88) 38%,rgba(38,60,25,.52) 66%,rgba(20,31,14,.45) 100%)}
.about-hero-grid{position:relative;z-index:2;min-height:690px;display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center;padding:70px 0}
.about-hero-copy{max-width:760px}
.about-hero-copy h1{font-size:clamp(52px,6vw,82px);line-height:.98;letter-spacing:-2px;margin-bottom:20px}
.about-hero-copy h1 em{font-style:normal;color:#c8ec79}
.about-hero-copy h2{color:#fff;margin-bottom:13px}
.about-hero-copy p{font-size:18px;line-height:1.75;color:#e4ecd9;max-width:700px}
.about-hero-line{width:70px;height:3px;background:var(--olive);box-shadow:0 0 18px rgba(107,142,35,.65);margin:10px 0 22px}
.about-hero .lead-form{margin-left:auto}
@keyframes aboutHeroZoom{from{transform:scale(1.03)}to{transform:scale(1.10)}}

.about-stats-strip{position:relative;z-index:5;margin-top:-38px;padding-bottom:10px}
.about-stats-grid{background:linear-gradient(110deg,#1d3515,#2e481e);border-radius:9px;display:grid;grid-template-columns:repeat(4,1fr);box-shadow:0 18px 45px rgba(35,54,22,.22);overflow:hidden}
.about-stat{min-height:120px;display:grid;grid-template-columns:58px 1fr;align-items:center;padding:22px 28px;position:relative}
.about-stat:not(:last-child):after{content:"";position:absolute;right:0;top:25%;height:50%;width:1px;background:rgba(221,236,194,.22)}
.about-stat-icon{width:48px;height:48px;border:1px solid rgba(195,231,108,.65);border-radius:50%;display:grid;place-items:center;color:#b9e45f;font-size:25px;box-shadow:0 0 18px rgba(107,142,35,.18);transition:.35s}
.about-stat:hover .about-stat-icon{transform:scale(1.12) rotate(6deg);box-shadow:0 0 24px rgba(174,224,76,.42)}
.about-stat strong{color:#d2f27c;line-height:1}
.about-stat small{display:block;color:#e6eddc;font-weight:800;line-height:1.35;text-transform:uppercase;letter-spacing:.4px;margin-top:5px}

.about-story{padding-top:95px}
.about-story-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;align-items:center}
.about-story-copy h2{line-height:1.08;color:var(--deep);margin-bottom:20px}
.about-story-copy h2 em{font-style:normal;color:#59731f}
.about-story-copy p{color:var(--muted);line-height:1.8;margin:0 0 15px}
.about-story-image{position:relative;min-height:470px;border-radius:12px;overflow:hidden;box-shadow:0 20px 55px rgba(43,58,30,.14)}
.about-story-image img{width:100%;height:100%;min-height:470px;object-fit:cover;transition:transform .7s ease}
.about-story-image:hover img{transform:scale(1.04)}
.story-badge{position:absolute;left:24px;bottom:24px;background:rgba(30,48,20,.92);color:#fff;padding:16px 20px;border-left:3px solid #9fca4b;border-radius:6px;backdrop-filter:blur(8px)}
.story-badge strong{display:block;}.story-badge span{display:block;color:#cbd9bc;letter-spacing:1px;margin-top:4px;text-transform:uppercase}

.centered{justify-content:center;text-align:center}.centered>div{width:100%}
.vision-mission-section{background:linear-gradient(180deg,#fbfcf8,#f4f7ed)}
.vision-mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:32px}
.vm-card{background:#fff;border:1px solid #e3e8db;border-radius:12px;padding:38px;display:grid;grid-template-columns:82px 1fr;gap:25px;box-shadow:0 12px 35px rgba(49,65,35,.07);position:relative;overflow:hidden;transition:.4s}
.vm-card:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:var(--olive);transform:scaleY(0);transform-origin:bottom;transition:.4s}
.vm-card:hover{transform:translateY(-7px);box-shadow:0 22px 50px rgba(49,65,35,.12)}.vm-card:hover:before{transform:scaleY(1)}
.vm-icon{width:68px;height:68px;border-radius:50%;background:var(--pale);border:1px solid #dbe6cc;color:var(--olive);display:grid;place-items:center;font-size:35px;box-shadow:inset 0 0 0 7px rgba(107,142,35,.05);transition:.35s}.vm-card:hover .vm-icon{transform:rotate(8deg) scale(1.06);box-shadow:0 0 25px rgba(107,142,35,.18)}
.vm-card h3{color:var(--deep);margin:2px 0 12px}.vm-card p,.vm-card li{color:var(--muted);line-height:1.75}.vm-card ul{padding-left:18px}.vm-card li{margin:7px 0}.vm-card li::marker{color:var(--olive)}

.why-us-section{background:#f8faf5}.about-values-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:32px}
.about-value-card{background:#fff;border:1px solid #e4e9de;border-radius:9px;padding:30px 18px;text-align:center;min-height:255px;transition:.4s;position:relative;overflow:hidden}
.about-value-card:after{content:"";position:absolute;left:50%;bottom:0;width:0;height:3px;background:var(--olive);transition:.4s;transform:translateX(-50%)}
.about-value-card:hover{transform:translateY(-8px);box-shadow:0 18px 35px rgba(45,57,30,.11)}.about-value-card:hover:after{width:70%}
.value-icon{width:56px;height:56px;border-radius:50%;margin:0 auto 18px;display:grid;place-items:center;border:1px solid #d7e2c7;color:var(--olive);font-size:26px;background:#fbfcf8;transition:.4s}.about-value-card:hover .value-icon{background:var(--olive);color:#fff;box-shadow:0 0 25px rgba(107,142,35,.35);transform:scale(1.08)}
.about-value-card h3{color:var(--deep);margin-bottom:10px}.about-value-card p{line-height:1.65;color:var(--muted)}

.core-values-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid var(--line);margin-top:25px}.core-value{padding:28px 24px;position:relative;border-right:1px solid var(--line)}.core-value:last-child{border-right:0}.core-value span{color:var(--olive);font-weight:800;letter-spacing:1px}.core-value h3{color:var(--deep);margin:9px 0}.core-value p{color:var(--muted);line-height:1.65}.core-value:before{content:"";position:absolute;left:24px;top:-2px;width:0;height:3px;background:var(--olive);transition:.35s}.core-value:hover:before{width:42px}

.about-cta-section{padding-top:25px}.about-cta{background:linear-gradient(110deg,#1a3013,#324d20);color:#fff;border-radius:12px;padding:40px 48px;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;overflow:hidden;box-shadow:0 18px 45px rgba(31,49,21,.18)}
.about-cta:after{content:"";position:absolute;width:250px;height:250px;border:1px solid rgba(201,234,121,.18);border-radius:50%;right:-70px;top:-100px;box-shadow:0 0 0 25px rgba(201,234,121,.04),0 0 0 55px rgba(201,234,121,.025)}
.about-cta h2{line-height:1.08;margin:4px 0 8px}.about-cta h2 em{font-style:normal;color:#c8ed78}.about-cta p{color:#d9e4d0;}.about-cta .btn{z-index:1;min-width:230px}

@media(max-width:1100px){.about-hero-grid{grid-template-columns:1fr .8fr;gap:35px}.about-values-grid,.core-values-grid{grid-template-columns:repeat(3,1fr)}.about-value-card:nth-child(4),.about-value-card:nth-child(5){margin-top:14px}.core-value:nth-child(3){border-right:0}.core-value:nth-child(4),.core-value:nth-child(5){border-top:1px solid var(--line)}}
@media(max-width:950px){.about-hero{min-height:auto}.about-hero-grid{min-height:auto;grid-template-columns:1fr;padding:80px 0}.about-hero .lead-form{margin:0;max-width:440px}.about-stats-grid{grid-template-columns:1fr 1fr}.about-stat:nth-child(2):after{display:none}.about-stat:nth-child(3),.about-stat:nth-child(4){border-top:1px solid rgba(221,236,194,.14)}.about-story-grid{grid-template-columns:1fr;gap:35px}.about-story-image{min-height:400px}.about-story-image img{min-height:400px}.vision-mission-grid{grid-template-columns:1fr}.about-values-grid,.core-values-grid{grid-template-columns:repeat(2,1fr)}.core-value:nth-child(2){border-right:0}.core-value:nth-child(3){border-right:1px solid var(--line)}.core-value:nth-child(4){border-right:0}.about-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.about-stats-grid{grid-template-columns:1fr}.about-stat{min-height:100px}.about-stat:not(:last-child):after{display:none}.about-stat:not(:last-child){border-bottom:1px solid rgba(221,236,194,.14)}.about-story{padding-top:65px}.vm-card{grid-template-columns:1fr;padding:28px}.about-values-grid,.core-values-grid{grid-template-columns:1fr}.about-value-card{margin-top:0!important}.core-value,.core-value:nth-child(3){border-right:0;border-bottom:1px solid var(--line)}.core-value:last-child{border-bottom:0}.about-cta{padding:32px 25px}.about-cta .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.about-hero-media img{animation:none}.about-value-card,.vm-card,.about-story-image img{transition:none}}

/* =========================================================
   PRIME URBAN ABOUT US — MOCKUP-MATCHED LAYOUT

   Keeps the site's existing brand palette, header/footer and JS.
   ========================================================= */


/* =========================================================
   ABOUT PAGE
   ========================================================= */

.about-page {
    background: #fff;
    color: #16200f;
}

.about-page .site-header {
    z-index: 100;
}


/* =========================================================
   ABOUT HERO
   ========================================================= */

.about-hero-mock {
    position: relative;
    min-height: 430px;
    overflow: visible;
    color: #fff;
}

.about-hero-mock-bg,
.about-hero-mock-overlay {
    position: absolute;
    inset: 0;
}

.about-hero-mock-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 52%;
    filter: saturate(.9);
}

.about-hero-mock-overlay {
    background:
        linear-gradient(
            90deg,
            rgba(13, 39, 10, .98) 0%,
            rgba(20, 48, 14, .91) 34%,
            rgba(35, 61, 22, .58) 66%,
            rgba(19, 29, 15, .34) 100%
        );
}

.about-hero-mock-grid {
    position: relative;
    z-index: 2;
    min-height: 430px;
    display: grid;
    gap: 55px;
    padding: 38px 0 62px;
    width: min(1680px, calc(100% - 48px));
    max-width: 1680px;
    margin-left: auto;
    margin-right: auto;
    grid-template-columns: minmax(0, 1.18fr) minmax(340px, .82fr);
    gap: 42px;
    align-items: center;
}

.about-hero-mock-copy {
    max-width: 610px;
}

.breadcrumb {
    color: #e1ead7;
    margin-bottom: 23px;
}

.breadcrumb span {
    padding: 0 8px;
    color: #b9d66b;
}

.about-hero-mock-copy h1 {
    margin: 0 0 14px;
    font:
        700
        clamp(50px, 5vw, 72px) / .96
        "Playfair Display",
        Georgia,
        serif;
    letter-spacing: -1.8px;
}

.about-hero-mock-copy h1 em {
    color: #c3e96e;
    font-style: normal;
}

.about-hero-mock-copy h2 {
    margin: 0 0 12px;
    color: #fff;
    font:
        600 18px / 1.35
        "DM Sans",
        sans-serif;
}

.about-hero-mock-copy p {
    max-width: 620px;
    margin: 0;
    color: #edf2e8;
    line-height: 1.65;
}

.hero-rule {
    width: 40px;
    height: 2px;
    margin: 12px 0 15px;
    background: #a9d24f;
    box-shadow:
        0 0 14px rgba(169, 210, 79, .5);
}


/* =========================================================
   ABOUT FORM
   ========================================================= */

.about-form {
    width: 100%;
    max-width: 360px;
    margin: 0 0 0 auto !important;
    padding: 23px !important;
    color: #1d2818 !important;
    background: #fff !important;
    border-radius: 7px !important;
    box-shadow:
        0 20px 45px rgba(0, 0, 0, .24) !important;
}

.about-form h2 {
    margin: 0 0 8px;
    color: #48671e;
    font:
        700 21px / 1.2
        "Playfair Display",
        Georgia,
        serif;
}

.about-form > p {
    margin: 0 0 12px;
    color: #333;
}

.about-form label {
    margin-bottom: 8px;
}

.about-form input,
.about-form select {
    height: 38px;
    padding: 0 11px;
    border: 1px solid #e3e6df;
    border-radius: 4px;
}

.about-form .btn {
    height: 38px;
}

.about-form .form-note {
    display: block;
    margin-top: 8px;
    color: #8a8f88;
    text-align: center;
}


/* =========================================================
   ABOUT STATS
   ========================================================= */

.mock-stats {
    position: relative;
    z-index: 10;
    margin-top: -38px;
    padding-bottom: 0;
}

.mock-stats .about-stats-grid {
    min-height: 80px;
    background:
        linear-gradient(
            105deg,
            #1a3613,
            #2b491b
        );
    border-radius: 7px;
    box-shadow:
        0 17px 35px rgba(30, 48, 20, .18);
}

.mock-stats .about-stat {
    min-height: 80px;
    display: grid;
    grid-template-columns: 52px 1fr;
    padding: 15px 34px;
}

.mock-stats .about-stat:not(:last-child)::after {
    top: 20%;
    height: 60%;
    background:
        rgba(225, 239, 207, .2);
}

.stat-svg {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    color: #c5e769;
    border: 1px solid #8db43e;
    border-radius: 50%;
    filter: grayscale(.1);
}

.mock-stats .about-stat strong {
    color: #c7ea6c;
}

.mock-stats .about-stat small {
    margin-left: 4px;
    color: #e8efe1;
    line-height: 1.25;
}


/* =========================================================
   ABOUT STORY
   ========================================================= */

.about-story-mock {
    padding: 72px 0 62px;
}

.about-story-grid-mock {
    display: grid;
    grid-template-columns: .75fr 1.25fr;
    gap: 62px;
    align-items: center;
}

.about-story-copy h2 {
    margin: 7px 0 20px;
    color: #172010;
    font:700 35px / 1.08 "Playfair Display", Georgia, serif;
}

.about-story-copy h2 em {
    color: #55751e;
    font-style: normal;
}

.about-story-copy p {
    margin: 0 0 13px;
    color: #5e665c;
    line-height: 1.7;
}

.about-story-copy .btn {
    margin-top: 8px;
    padding: 12px 18px;
}

.about-story-image {
    height: 305px;
    overflow: hidden;
    border-radius: 7px;
    box-shadow:
        0 12px 35px rgba(42, 57, 30, .13);
}

.about-story-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* =========================================================
   VISION & MISSION
   ========================================================= */

.vision-mission-mock {
    padding: 10px 0 58px;
}

.vm-wide {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    padding: 30px 38px;
    background: #f6f8f1;
    border-radius: 5px;
}

.vm-wide-card {
    display: grid;
    grid-template-columns: 82px 1fr;
    gap: 20px;
    padding: 12px 38px;
}

.vm-wide-card + .vm-wide-card {
    border-left: 1px solid #dde3d6;
}

.vm-round {
    width: 66px;
    height: 66px;
    display: grid;
    place-items: center;
    color: #5b7c21;
    background: #eef2e6;
    border: 1px solid #e0e7d5;
    border-radius: 50%;
    font-size: 38px;
}

.vm-wide-card h3 {
    margin: 6px 0 10px;
    color: #172010;
    font:"Playfair Display",  Georgia, serif;}

.vm-wide-card p,
.vm-wide-card li {
    color: #646b61;
    line-height: 1.65;
}

.vm-wide-card ul {
    margin: 5px 0;
    padding-left: 16px;
}

.vm-wide-card li {
    margin: 3px 0;
}

.vm-wide-card li::marker {
    color: #648b24;
}


/* =========================================================
   WHY PRIME URBAN
   ========================================================= */

.why-mock {
    padding: 8px 0 55px;
}

.mock-head {
    margin-bottom: 25px;
}

.mock-head h2 {
    margin: 6px 0;
    color: #172010;
    font:  700 34px / 1.1 "Playfair Display", Georgia, serif;
}

.mock-head h2 em {
    color: #587b20;
    font-style: normal;
}

.why-five {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
}

.why-card {
    min-height: 170px;
    padding: 22px 15px;
    background: #fff;
    border: 1px solid #e5e8e1;
    border-radius: 5px;
    text-align: center;
    box-shadow: 0 6px 20px rgba(35, 48, 27, .04);
    transition: .4s;
}

.why-card:hover {
    transform: translateY(-7px);
    border-color: #cbd9b8;
    box-shadow: 0 16px 30px rgba(35, 48, 27, .11);
}

.why-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    margin: 0 auto 10px;
    color: #638526;
    background: #f4f7ed;
    border: 1px solid #dfe7d2;
    border-radius: 50%;
    transition: .35s;
    font-size: 30px !important;
}

.why-card:hover .why-icon {
    color: #fff;
    background: #6b8e23;
    transform: scale(1.08);
    box-shadow:
        0 0 20px rgba(107, 142, 35, .35);
}

.why-card h3 {
    margin: 0 0 9px;
    color: #20261e;
}

.why-card p {
    margin: 0;
    color: #777e75;
}


/* =========================================================
   CORE VALUES
   ========================================================= */

.core-mock {
    padding: 10px 0 50px;
}

.core-five {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    margin-top: 14px;
    border-top: 1px solid #e1e5dc;
}

.core-item {
    position: relative;
    padding: 20px 18px 8px;
    border-right: 1px solid #e1e5dc;
}

.core-item:last-child {
    border-right: 0;
}

.core-item::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 18px;
    width: 0;
    height: 2px;
    background: #6b8e23;
    transition: .35s;
}

.core-item:hover::before {
    width: 34px;
}

.core-item > span {
    color: #6b8e23;
    font-weight: 800;
}

.core-item h3 {
    margin: 7px 0;
    color: #172010;
}

.core-item p {
    margin: 0;
    color: #737970;
}


/* =========================================================
   LEADERSHIP
   ========================================================= */

.leadership-mock {
    padding: 8px 0 35px;
}

.leadership-wrap {
    display: grid;
    grid-template-columns: 1.05fr 1.45fr .85fr;
    gap: 22px;
    align-items: center;
    padding: 28px 18px 28px 24px;
    background: #f7f8f3;
    border-radius: 7px;
}

.leadership-intro h2 {
    margin: 7px 0 11px;
    color: #172010;
}

.leadership-intro h2 em {
    color: #5e7d25;
    font-style: normal;
}

.leadership-intro p {
    max-width: 270px;
    margin: 0;
    color: #687067;
}

.leaders {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.leaders article {
    text-align: center;
}

.leaders img {
    display: block;
    width:100%;
    height: 2;
    margin: 0 auto 7px;
    object-fit: cover;
    border-radius: 6px;
}
.leadership-cta h3{color: #fff;}
.leaders h4 {
    margin: 0;
    color: #25301f;
}

.leaders small {
    color: #737a70;
}

.leadership-cta {
    min-height: 175px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 25px 20px;
    color: #fff;
    background:
        linear-gradient(
            140deg,
            #173311,
            #304e1e
        );
    border-radius: 6px;
}

.leadership-cta h3 {margin: 5px 0 8px;}

.leadership-cta h3 em {
    color: #c7e96b;
    font-style: normal;
}

.leadership-cta p {
    margin: 0 0 13px;
    color: #dce6d5;
}

.leadership-cta .btn {
    width: 100%;
    /* height: 31px; */
    padding: 12px;
    font-size: 18px;
    font-weight: 500;
}


/* =========================================================
   RESPONSIVE — 1000px
   ========================================================= */

@media (max-width: 1000px) {

    .about-hero-mock-grid {
        grid-template-columns: 1fr 330px;
        gap: 30px;
    }

    .why-five,
    .core-five {
        grid-template-columns: repeat(3, 1fr);
    }

    .why-card:nth-child(4),
    .why-card:nth-child(5) {
        margin-top: 8px;
    }

    .core-item:nth-child(3) {
        border-right: 0;
    }

    .leadership-wrap {
        grid-template-columns: 1fr 1.4fr;
    }

    .leadership-cta {
        grid-column: 1 / -1;
    }

}


/* =========================================================
   RESPONSIVE — 760px
   ========================================================= */

@media (max-width: 760px) {

    .about-hero-mock {
        min-height: auto;
    }

    .about-hero-mock-grid {
        grid-template-columns: 1fr;
        padding: 45px 0 55px;
    }

    .about-form {
        max-width: 390px !important;
        margin: 0 !important;
    }

    .mock-stats {
        margin-top: -25px;
    }

    .mock-stats .about-stats-grid {
        grid-template-columns: 1fr 1fr;
    }

    .mock-stats .about-stat {
        padding: 14px 18px;
    }

    .about-story-grid-mock {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .about-story-image {
        height: 270px;
    }

    .vm-wide {
        grid-template-columns: 1fr;
        padding: 22px;
    }

    .vm-wide-card {
        grid-template-columns: 65px 1fr;
        padding: 18px 10px;
    }

    .vm-wide-card + .vm-wide-card {
        border-top: 1px solid #dde3d6;
        border-left: 0;
    }

    .why-five,
    .core-five {
        grid-template-columns: 1fr 1fr;
    }

    .core-item:nth-child(3) {
        border-right: 1px solid #e1e5dc;
    }

    .core-item:nth-child(even) {
        border-right: 0;
    }

    .leadership-wrap {
        grid-template-columns: 1fr;
    }

    .leaders {
        max-width: 460px;
    }

    .leadership-cta {
        grid-column: auto;
    }

}


/* =========================================================
   RESPONSIVE — 520px
   ========================================================= */

@media (max-width: 520px) {

    .about-hero-mock-copy h1 {
        font-size: 47px;
    }

    .mock-stats .about-stats-grid {
        grid-template-columns: 1fr;
    }

    .mock-stats .about-stat:not(:last-child) {
        border-bottom:
            1px solid rgba(225, 239, 207, .15);
    }

    .why-five,
    .core-five {
        grid-template-columns: 1fr;
    }

    .core-item,
    .core-item:nth-child(3) {
        border-right: 0;
        border-bottom: 1px solid #e1e5dc;
    }

    .core-item:last-child {
        border-bottom: 0;
    }

    .leaders {
        grid-template-columns: 1fr 1fr;
    }

   
    .floating-actions {
        right: 10px;
    }
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

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

    .why-card,
    .why-icon,
    .core-item::before {
        transition: none;
    }
}


/* =========================================================
   SERVICE PAGE CSS
   ========================================================= */


.site-header.scrolled {
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
}


.nav-wrap {
    height: 100%;
    display: flex;
    align-items: center;
    gap: 30px;
}


.main-nav {
    display: flex;
    align-items: center;
    gap: 30px;
    margin-left: auto;
}


.main-nav > a,
.dropdown-btn {
    position: relative;
    border: 0;
    background: none;
    font-size: 12px;
    font-weight: 900;
    color: #404a35;
    text-transform: uppercase;
     padding: 28px 0;
}


.main-nav > a:after,
.dropdown-btn:after {
    content: '';

    position: absolute;

    left: 0;
    bottom: 16px;

    width: 0;
    height: 2px;

    background: var(--olive);

    transition: 0.3s;
}


.main-nav > a:hover:after,
.main-nav > a.active:after,
.dropdown-btn:hover:after {
    width: 100%;
}


.nav-dropdown {
    position: relative;
}


.dropdown-btn span {
    font-size: 29px;
    margin-top: 0;
    position: absolute;
    top: 4px;
    right: -17px;
    color: #93b11d;
}


.dropdown-menu {
    position: absolute;
    top: 67px;
    left: 50%;
    transform: translate(-50%, 10px);
    width: 205px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 9px;
    padding: 8px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.12);
    opacity: 0;
    visibility: hidden;
    transition: 0.25s;
}


.nav-dropdown:hover .dropdown-menu,
.nav-dropdown.open .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}


.dropdown-menu a {
    display: block;
    padding: 11px;
    border-radius: 6px;
  
}


.dropdown-menu a:hover {
    background: var(--pale);
    color: var(--olive);
}


.header-phone {
    font-weight: 800;
    color: var(--olive);
    white-space: nowrap;
}


.menu-toggle {
    display: none;
    border: 0;
    background: none;
    width: 42px;
}


.menu-toggle span {
    display: block;
    width: 25px;
    height: 2px;

    background: var(--deep);

    margin: 5px auto;
}


/* =========================================================
   SERVICES HERO
   ========================================================= */

.services-hero {
    position: relative;
    min-height: 560px;
    color: #fff;
    overflow: hidden;
}


.project-hero-bg {
    position: absolute !important;
    inset: 0;
    background:
        url('https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=2200&q=90')
        center / cover;
}

.project-hero-overlay {
    position: absolute !important;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(15, 39, 13, 0.97),
            rgba(32, 61, 25, 0.82) 35%,
            rgba(55, 77, 45, 0.38) 70%,
            rgba(17, 31, 15, 0.25)
        ),
        linear-gradient(
            0deg,
            rgba(24, 43, 19, 0.25),
            transparent
        );
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(15, 39, 13, 0.97),
            rgba(32, 61, 25, 0.82) 35%,
            rgba(55, 77, 45, 0.38) 70%,
            rgba(17, 31, 15, 0.25)
        ),
        linear-gradient(
            0deg,
            rgba(24, 43, 19, 0.25),
            transparent
        );
}


.hero-inner {
    position: relative;
    z-index: 2;
    min-height: 560px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
    padding: 50px 0;
}

.hero-eyebrow {
    color: #c8df54;
    background: rgba(107, 142, 35, 0.28);
    padding: 7px 11px;
    border-radius: 4px;
}


.hero-copy h1 {
    margin: 17px 0;
}


.hero-copy h1 span {
    color: #c5dc52;
}

.hero-copy p {
    color: #eef3e9;
    max-width: 600px;
}


/* =========================================================
   HERO POINTS
   ========================================================= */

.hero-points {
    display: grid;
    grid-template-columns: repeat(4, minmax(180px, 1fr));
    gap: 15px;
    margin-top: 30px;
}


.hero-points div {
    display: flex;
    align-items: center;
    gap: 8px;
    border-right: 1px solid rgba(255, 255, 255, 0.22);
}


.hero-points div:last-child {
    border: 0;
}


.hero-points i {
    width: 34px;
    height: 34px;
    border: 1px solid #bdd63d;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #c9df51;
    font-style: normal;
}


.hero-points b {
    text-transform: uppercase;
    line-height: 1.3;
    font-weight: 400;
    font-size:15px !IMPORTANT;
}


/* =========================================================
   LEAD FORM
   ========================================================= */

.lead-form-card {
    width: 380px;
    background: #fff;
    color: var(--ink);
    padding: 27px;
    border-radius: 8px;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.25);
    flex: none;
}


.form-kicker {
    font-weight: 900;
    color: var(--olive);
    letter-spacing: 0.07em;
}


.lead-form-card h2 {
    margin: 6px 0;
}


.lead-form-card p {
    color: #687064;
    margin-bottom: 14px;
}


.lead-form-card form {
    display: grid;
    gap: 9px;
}


.lead-form-card input,
.lead-form-card select,
.newsletter input {
    height: 44px;
    width: 100%;
    border: 1px solid #dde3d8;
    border-radius: 5px;
    padding: 0 12px;
    outline: none;
    background: #fff;
}


.lead-form-card input:focus,
.lead-form-card select:focus {
    border-color: var(--olive);
    box-shadow:
        0 0 0 3px rgba(107, 142, 35, 0.1);
}


.lead-form-card small {
    display: block;
    text-align: center;
    color: #788073;
    margin-top: 10px;
}


/* =========================================================
   BUTTONS
   ========================================================= */

/* .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 44px;
    padding: 0 20px;
    border-radius: 5px;
    border: 1px solid transparent;
    font-weight: 900;
    transition: 0.25s;
}


.btn-primary {
    background: var(--olive);
    color: #fff;
    box-shadow:
        0 6px 18px rgba(107, 142, 35, 0.2);
}


.btn-primary:hover {
    transform: translateY(-3px);
    background: #58781b;
    box-shadow:
        0 13px 28px rgba(107, 142, 35, 0.34);
}


.btn-outline {
    border-color: #fff;
    color: #fff;
}


.btn-outline:hover {
    background: #fff;
    color: var(--deep);
    transform: translateY(-3px);
}


.form-btn {
    width: 100%;
} */


/* =========================================================
   SERVICES GRID
   ========================================================= */

.service-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 12px;
}


.service-card {
    border: 1px solid #e1e6dd;
    border-radius: 9px;
    overflow: hidden;
    background: #fff;
    box-shadow:
        0 5px 18px rgba(37, 51, 28, 0.06);
    transition: 0.35s;
}


.service-card:hover {
    transform: translateY(-8px);
    box-shadow:
        0 20px 38px rgba(40, 63, 28, 0.15);
    border-color: #cbd8ba;
}


.card-top {
    height: 56px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 12px;
}


.card-top > span {
    font-weight: 800;
    color: #596252;
}

.service-icon { position: absolute; left: 50%; top: 7px; transform: translateX(-50%); width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: var(--olive); color: #fff; box-shadow: 0 8px 18px rgba(107, 142, 35, 0.25);
}

.service-card > img { width: 100%; height: 125px; object-fit: cover;}

.card-body { padding: 14px 13px 19px;}

.card-body h3 { margin-bottom: 10px;}

.card-body ul { list-style: none; display: grid; gap: 7px;}

.card-body li { color: #5e6759; padding-left: 10px; position: relative;}

.card-body li:before {content: '›'; position: absolute; left: 0; color: var(--olive); font-weight: 900;}

/* =========================================================
   BENEFITS / EXPERIENCE
   ========================================================= */

.experience { padding-top: 30px;}

.benefit-grid { display: grid; grid-template-columns: repeat(6, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);}

.benefit { text-align: center; padding: 25px 12px; position: relative;}

.benefit:not(:last-child):after { content: ''; position: absolute; right: 0; top: 25%; height: 50%; width: 1px; background: var(--line);}

.benefit i { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid #d8e1cf; border-radius: 50%; margin: 0 auto 9px; color: var(--olive); font-style: normal; transition: 0.3s;}

.benefit:hover i { background: var(--olive); color: #fff; box-shadow: 0 0 0 8px rgba(107, 142, 35, 0.08);}

.benefit h3 { margin-bottom: 5px;}

.benefit p {color: var(--muted);
}


/* =========================================================
   PROPERTY JOURNEY
   ========================================================= */

.journey-grid { display: grid; grid-template-columns: repeat(6, 1fr); position: relative; margin-top: 45px;}

.journey-grid:before { content: ''; position: absolute; left: 7%; right: 7%; top: 15px; height: 1px; background: #cbd7bb;}

.journey-step { text-align: center; padding: 0 8px; position: relative;}

.journey-step > b { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--deep); color: #fff; margin: 0 auto 13px; position: relative; z-index: 1; box-shadow: 0 0 0 5px #fff;}

.journey-step > i { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid #dce5d5; border-radius: 50%; color: var(--olive); font-style: normal; margin: auto;}

.journey-step h3 { margin: 9px 0 4px;}

.journey-step p { color: var(--muted);}


/* =========================================================
   LOCATIONS
   ========================================================= */

.soft-panel { background: linear-gradient( 135deg, #f7f8f2, #eef3e8); border-radius: 12px; padding: 32px 28px;}

.location-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 13px;}

.location-card { background: #fff; border: 1px solid #e1e7dd; border-radius: 8px; overflow: hidden; transition: 0.3s; box-shadow: 0 4px 15px rgba(30, 50, 25, 0.05);}

.location-card:hover { transform: translateY(-6px); box-shadow: 0 16px 30px rgba(30, 50, 25, 0.12);}

.location-card img { width: 100%; height: 120px; object-fit: cover;}

.location-card div { padding: 11px;}

.location-card h3 { margin-bottom: 7px; font-size: 20px !important;}

.location-card span { color: var(--olive); font-weight: 400;}


/* =========================================================
   PROPERTY CTA
   ========================================================= */

.property-wrap { display: grid; grid-template-columns: 260px 1fr; gap: 22px;}

.cta-copy { padding: 16px 8px;}

.cta-copy h2 { margin: 7px 0 9px; font-size: 22px !important;}

.cta-copy p { color: var(--muted); margin-bottom: 17px;}

.mini-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px;}

.mini-card { border: 1px solid var(--line); border-radius: 8px; overflow: hidden; transition: 0.3s; background: #fff;}

.mini-card:hover { transform: translateY(-5px); box-shadow: 0 15px 28px rgba(0, 0, 0, 0.09);}

.mini-card img { width: 100%; height:auto; object-fit: cover;}

.mini-card div { padding: 11px;}

.mini-card p { color: var(--muted); margin: 4px 0 8px;}

.mini-card a { color: var(--olive);}


/* =========================================================
   CONTACT STRIP
   ========================================================= */

.contact-strip-wrap {
    padding: 0 0 42px;
}

.contact-strip {
    background: linear-gradient(100deg, #183114, #314c1e);
    border-radius: 9px;
    color: #fff;
    padding: 23px 25px;

    display: grid;
    grid-template-columns: 1.5fr repeat(4, minmax(0, 1fr));
    gap: 10px;
    align-items: center;

    box-shadow: 0 18px 35px rgba(28, 55, 20, 0.18);

    width: 100%;
    box-sizing: border-box;
}

.light {
    color: #c9df61;
}

.contact-strip h2 {
    margin: 5px 0;
    color: #dcfc9a;
    font-size: 37px !important;
}

.contact-strip p {
    color: #dbe2d6;
}

.contact-strip > a {
    min-height: 70px;
    min-width: 0;

    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 7px;
    background: rgba(255, 255, 255, 0.05);

    display: flex;
    align-items: center;
    gap: 8px;

    padding: 9px;

    transition: 0.3s;
    box-sizing: border-box;
}

.contact-strip > a:hover {
    background: rgba(127, 166, 98, 0.18);
    transform: translateY(-3px);
}

.contact-strip > a:first-letter {
    color: #d3e56d;
}

.contact-strip > a b,
.contact-strip > a strong {
    display: block;
    font-weight: 500;
    font-size: 13px;
    min-width: 0;
}

.contact-strip > a b {
    color: #d7e2ce;
}

@media (min-width: 1008px) and (max-width: 1480px) {

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

    .contact-strip > :first-child {
        grid-column: 1 / -1;
    }

}
/* =========================================================
   TABLET — 2 COLUMNS
   ========================================================= */

@media (max-width: 1050px) {

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

    .contact-strip > :first-child {
        grid-column: 1 / -1;
    }
}


/* =========================================================
   MOBILE — 1 COLUMN
   ========================================================= */

@media (max-width: 600px) {

    .contact-strip {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 20px;
    }

    .contact-strip > :first-child {
        grid-column: auto;
    }

    .contact-strip > a {
        width: 100%;
        min-height: 60px;
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 400px) {

    .contact-strip {
        padding: 16px;
    }

    .contact-strip h2 {
        font-size: 30px !important;
    }

    .contact-strip > a {
        min-height: 56px;
        padding: 9px;
    }

    .contact-strip > a b,
    .contact-strip > a strong {
        font-size: 12px;
    }
}


/* =========================================================
   FAQ
   ========================================================= */

.faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px 20px;}


.faq-item {
    border: 1px solid var(--line);
    border-radius: 7px;
    overflow: hidden;
}


.faq-item button {
    width: 100%;
    min-height: 48px;
    border: 0;
    background: #fff;
    padding: 0 15px;
    display: flex;
    justify-content: space-between;
    text-align: left;
    font-weight: 400;
    font-size: 18px;
    margin-top: 24px;
}


.faq-item button span {
    color: var(--olive);
    transition: 0.3s;
}


.faq-item.open button span {
    transform: rotate(45deg);
}


.faq-item > div {
    max-height: 0;
    overflow: hidden;
    padding: 0 15px;
    color: var(--muted);
    line-height: 1.6;
    transition: 0.3s;
}


.faq-item.open > div {
    max-height: 130px;
    padding: 0 15px 14px;
}


/* =========================================================
   FINAL CTA
   ========================================================= */

.final-cta-wrap {
    padding: 0 0 35px;
}


.final-cta {
    min-height: 100px;
    border-radius: 9px;
    color: #fff;
    padding: 20px 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background:
        linear-gradient(
            90deg,
            rgba(19, 43, 16, 0.98),
            rgba(45, 72, 27, 0.82)
        ),
        url('https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=1800&q=80')
        center / cover;
}


.final-cta span {
    color: #c8df54;
    font-weight: 400;
}

.final-cta .btn {
    margin-left: 7px;
    width: 100%;
}



/* =========================================================
   TOAST
   ========================================================= */

.toast {
    position: fixed;
    left: 50%;
    bottom: 22px;
    transform:
        translate(-50%, 20px);
    background: #203a18;
    color: #fff;
    padding: 11px 17px;
    border-radius: 7px;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
    z-index: 2000;
}


.toast.show {
    opacity: 1;
    visibility: visible;
    transform:
        translate(-50%, 0);
}


/* =========================================================
   SCROLL REVEAL ANIMATION
   ========================================================= */

   

/* =========================================================
   RESPONSIVE — 1200px
   ========================================================= */

@media (max-width: 1200px) {

    .container {
        width: calc(100% - 48px);
    }


    .main-nav {
        gap: 18px;
    }


    .service-grid {
        grid-template-columns: repeat(3, 1fr);
    }


    .benefit-grid {
        grid-template-columns: repeat(3, 1fr);
    }


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


    .contact-strip {
        grid-template-columns: 1fr 1fr 1fr;
    }


    .contact-strip > div:first-child {
        grid-column: 1 / -1;
    }


    .footer-grid {
        grid-template-columns:
            1.5fr 1fr 1fr 1fr;
    }


    .newsletter {
        grid-column: 1 / -1;
    }
}


/* =========================================================
   RESPONSIVE — 900px
   ========================================================= */

@media (max-width: 900px) {

    .hero-inner {
        min-height: auto;

        flex-direction: column;

        align-items: stretch;

        padding: 45px 0;
    }


    .hero-copy {
        max-width: none;
    }


    .lead-form-card {
        width: 100%;

        max-width: 470px;

        margin: auto;
    }


    .journey-grid {
        grid-template-columns: repeat(3, 1fr);

        gap: 30px;
    }


    .journey-grid:before {
        display: none;
    }


    .property-wrap {
        grid-template-columns: 1fr;
    }


    .contact-strip {
        grid-template-columns: 1fr 1fr;
    }


    .contact-strip > div:first-child {
        grid-column: 1 / -1;
    }
}


/* =========================================================
   RESPONSIVE — 600px
   ========================================================= */

@media (max-width: 600px) {

    .section {
        padding: 55px 0;
    }


    .section-heading h2 {
        font-size: 30px;
    }


    .header-phone {
        display: none;
    }


    .hero-copy h1 {
        font-size: 38px;
    }


    .hero-copy p {
        font-size: 13px;
    }


    .hero-points {
        grid-template-columns: 1fr 1fr;
    }


    .hero-points div {
        border-right: 0;

        border-bottom:
            1px solid rgba(255, 255, 255, 0.15);

        padding-bottom: 9px;
    }


    .service-grid,
    .mini-grid,
    .faq-grid {
        grid-template-columns: 1fr;
    }


    .service-card > img {
        height: 190px;
    }


    .benefit-grid {
        grid-template-columns: 1fr 1fr;
    }


    .benefit:nth-child(even):after {
        display: none;
    }


    .location-grid {
        grid-template-columns: 1fr 1fr;
    }


    .soft-panel {
        padding: 25px 13px;
    }


    .journey-grid {
        grid-template-columns: 1fr 1fr;
    }


    .contact-strip {
        grid-template-columns: 1fr;
    }


    .contact-strip > div:first-child {
        grid-column: auto;
    }


    .final-cta {
        align-items: flex-start;

        flex-direction: column;

        gap: 15px;
    }


    .final-cta > div:last-child {
        display: flex;

        flex-direction: column;

        width: 100%;

        gap: 8px;
    }


    .final-cta .btn {
        margin: 0;

        width: 100%;
    }


    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }


    .footer-brand,
    .newsletter {
        grid-column: 1 / -1;
    }


    .float {
        right: 9px;

        width: 50px;
        height: 50px;
    }
}


/* =========================================================
   RESPONSIVE — 420px
   ========================================================= */

@media (max-width: 420px) {

    .location-grid,
    .benefit-grid,
    .journey-grid {
        grid-template-columns: 1fr;
    }


    .hero-copy h1 {
        font-size: 34px;
    }
}

/* =========================================================
   PRIME URBAN - CONTACT US PAGE
   CONTACT-US.CSS
========================================================= */



/* =========================================================
   HERO
========================================================= */

.contact-hero {
    position: relative;
    min-height: 420px;
    display: flex;
    align-items: center;
    overflow: hidden;
    color: var(--white);
}


.contact-hero-bg {
    position: absolute;
    inset: 0;
    background-image:url("https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=2200&q=90");
    background-size: cover;
    background-position: center;
    transform: scale(1.03);
}


.contact-hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(9, 31, 12, 0.97) 0%,
            rgba(18, 48, 18, 0.90) 32%,
            rgba(30, 54, 24, 0.65) 58%,
            rgba(14, 27, 12, 0.72) 100%
        );

}


.contact-hero-inner { position: relative;  z-index: 2; min-height: 420px;
    display: grid; padding-top: 35px; padding-bottom: 35px; width: min(1180px, calc(100% - 48px));
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    grid-template-columns: minmax(0, 1.18fr) minmax(340px, .82fr);
    gap: 42px;
    align-items: center;
}


/* =========================================================
   HERO CONTENT
========================================================= */
/* 
.contact-hero-content {
    max-width: 610px;
}


.eyebrow {

    display: inline-block;
    margin-bottom: 8px;
    color: var(--olive);
    font-weight: 400;
    letter-spacing: 0.7px;
}


.eyebrow.light {
    color: #d0e46d;
} */


.contact-hero-content h1 {
    font-size: clamp(
        38px,
        4.2vw,
        58px
    );
    line-height: 1.08;
    margin-bottom: 17px;
    letter-spacing: -1px;
    color: #fff;
}


.contact-hero-content h1 span {
    color: #b8d65b;
}


.title-line {
    width: 38px;
    height: 3px;
    background: #b8d65b;
    margin-bottom: 17px;

}


.contact-hero-content > p {
    max-width: 560px;
    line-height: 1.7;
    color: rgba( 255, 255,255, 0.90 );
}


/* =========================================================
   CONTACT BENEFITS
========================================================= */

.contact-benefits {
    display: grid;
    grid-template-columns: repeat(4, minmax(220px, 1fr)); margin-top: 30px;
}


.contact-benefit {
    padding: 0 18px;
    border-right: 1px solid rgba(255,255,255,0.25);
}
.contact-benefit h3{color:#c4ff4a !important;}

.contact-benefit:first-child {
    padding-left: 0;
}


.contact-benefit:last-child {
    border-right: 0;
}


.benefit-icon {
    width: 34px;
    height: 34px;
    border: 1px solid #b8d65b;
    color: #b8d65b;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 9px;
}


.contact-benefit h3 {
    margin-bottom: 3px;
}


.contact-benefit p {
    line-height: 1.5;
    color: rgba( 255, 255, 255,0.75);
}


/* =========================================================
   CONTACT FORM CARD
========================================================= */

.contact-form-card {
    background: rgba(255, 255, 255, 0.98 );
    color: var(--text);
    padding: 25px;
    border-radius: 9px;
    box-shadow: 0 22px 55px rgba(0, 0, 0, 0.24);}


.form-kicker {
    font-weight: 800;
    color: var(--olive);
    letter-spacing: 0.5px;
}


.contact-form-card h2 {
    color: var(--primary);
    line-height: 1.2;
    margin: 3px 0 5px;
}


.contact-form-card > p {
    color: var(--muted);
    margin-bottom: 17px;
}


/* =========================================================
   FORM INPUTS
========================================================= */

.input-group {
    position: relative;
    margin-bottom: 10px;
}


.input-group input,
.input-group select,
.input-group textarea {
    width: 100%;
    border: 1px solid #dfe3d8;
    border-radius: 5px;
    padding: 11px 36px 11px 12px;
    background: #fff;
    outline: none;
    color: var(--text);
    transition: var(--transition);
}


.input-group textarea {
    resize: vertical;
    min-height: 75px;
}


.input-group input:focus,
.input-group select:focus,
.input-group textarea:focus {
    border-color: var(--olive);
    box-shadow:
        0 0 0 3px
        rgba(107, 142, 35, 0.10);
}


.input-group span {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #78806e;
    pointer-events: none;
}


.textarea-group span {
    top: 17px;
    transform: none;
}



/* =========================================================
   CONTACT INFO
========================================================= */

.contact-info-section {
    position: relative;
    margin-top: -1px;
    padding: 25px 0;
    background: var(--white);
}


.contact-info-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}


.contact-info-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 20px;
    border:1px solid var(--border);
    border-radius: 8px;
    background: var(--white);
    box-shadow: 0 5px 18px rgba(0,0,0,0.04);
    transition: var(--transition);
}


.contact-info-card:hover {
    transform:translateY(-7px);
    box-shadow: var(--shadow-hover);
    border-color: rgba(107,142,35,0.3);
}

.contact-info-card .info-icon{font-size: 40px !important;}
.info-icon {
    width: 43px;
    height: 43px;
    flex: 0 0 43px;
    border-radius: 50%;
    background: var(--pale-green);
    color: var(--olive);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition);
}


.contact-info-card:hover
.info-icon {
    background: var(--olive);
    color: var(--white);
    transform:
        rotate(8deg)
        scale(1.05);
}


.contact-info-card h3 {
    margin-bottom: 1px;
}


.contact-info-card strong {
    display: block;
    color: var(--primary);
    margin: 15px 0;
    font-size: 16px;
}


.contact-info-card p {
    color: var(--muted);
}


/* =========================================================
   GENERAL SECTION
========================================================= */

.section {
    padding: 55px 0;
}


.office-heading {
    margin-bottom: 25px;
}


.office-heading h2 {
    color: var(--primary);
    line-height: 1.2;
}


.office-heading p {
    color: var(--muted);
}


/* =========================================================
   OFFICE
========================================================= */

.office-grid {
    display: grid;
    grid-template-columns:
        270px
        1fr;
    gap: 25px;
}


.office-details {
    background:
        linear-gradient(
            135deg,
            #f2f4ea,
            #fafbf8
        );
    border-radius: 8px;
    padding: 20px;
}


.office-detail { display:flex; gap:12px;margin-bottom: 18px;}


.detail-icon {
    flex: 0 0 27px;
    width: 27px;
    height: 27px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--olive);
    font-weight: 300;
    font-size: 28px;
}


.office-detail strong {
    display: block;
    margin-bottom: 3px;
}


.office-detail p {
    line-height: 1.55;
    color: #555;
}


.detail-divider {
    height: 1px;
    background: #dce2d2;
    margin: 5px 0 18px;
}


.office-map {
    position: relative;
    min-height: 390px;
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 8px 30px rgba(0,0,0,0.08);
}


.office-map iframe {
    width: 100%;
    height: 100%;
    min-height: 390px;
    border: 0;
    display: block;
}


.map-location-card {
    position: absolute;
    top: 28px;
    left: 50%;
    transform:translateX(-50%);
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 250px;
    padding: 12px 16px;
    background: rgba(255,255, 255, 0.96);
    border-radius: 7px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}


.map-pin {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--olive);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
}

.map-location-card p {
    line-height: 1.4;
    color: var(--muted);
}


/* =========================================================
   QUICK QUESTION
========================================================= */

.quick-question {
    background: #fafbf8;
}


.quick-question-wrap {
    display: grid;
    grid-template-columns:
        0.85fr
        1.15fr;
    gap: 40px;
    padding: 40px;
    border-radius: 10px;
    background:linear-gradient(120deg, #f1f3e9, #ffffff);
    box-shadow: 0 10px 35px rgba(0,0,0,0.05);
}

.quick-copy h2 {
    color: var(--primary);
    line-height: 1.2;
}


.quick-copy > p {color: var(--muted); margin-top: 8px;}

.quick-points { display: grid;
    grid-template-columns:repeat(4, 1fr);
    gap: 12px;
    margin-top: 25px;
}


.quick-points > div {
    text-align: center;
}


.quick-icon {
    width: 39px;
    height: 39px;
    margin: auto auto 7px;
    border-radius: 50%;
    border: 1px solid rgba(107,142,35,0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--olive);
    background: white;
}


.quick-points strong,
.quick-points span {
    display: block;
}


.quick-points strong {
    font-weight: 400;
}


.quick-points span {
    color: var(--muted);
}


/* =========================================================
   QUICK FORM
========================================================= */

.quick-form {
    display: flex;
    flex-direction: column;
    gap: 11px;
}


.quick-form-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}


.quick-form input,
.quick-form select,
.quick-form textarea {
    width: 100%;
    border: 1px solid #dce1d7;
    background: white;
    border-radius: 5px;
    padding: 12px;
    outline: none;
    transition: var(--transition);
}


.quick-form textarea {
    resize: vertical;
}


.quick-form input:focus,
.quick-form select:focus,
.quick-form textarea:focus {
    border-color: var(--olive);
    box-shadow: 0 0 0 3px rgba( 107, 142, 35, 0.09 );
}

.quick-form .btn {
    width:100%;
    margin-top: 30px;
}


/* =========================================================
   FINAL CTA
========================================================= */

.final-cta-wrap {
    padding: 0 0 55px;
}




.final-cta-buttons {
    display: flex;
    gap: 10px;
    flex-shrink: 0;
}



/* =========================================================
   EXTRA GLOW EFFECT
========================================================= */

.contact-info-card:hover,
.contact-form-card:hover {
 box-shadow:
        0 15px 45px
        rgba(
            107,
            142,
            35,
            0.15
        );

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1050px) {

    .container {
        width:
            min(
                100% - 40px,
                950px
            );

    }

    .contact-hero-inner {

        grid-template-columns:
            minmax(0, 1fr)
            340px;
        gap: 35px;

    }

    .contact-benefits {
        grid-template-columns:
            repeat(2, 1fr);
        gap: 15px;
    }


    .contact-benefit {
        border-right: 0;
        padding: 0;
    }


    .contact-info-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 900px) {
    .container {
        width:
            min(
                100% - 30px,
                700px
            );
    }


    .site-header {
        height: 65px;
    }


    .nav-wrap {
        height: 65px;
    }
    .brand img {

        width: 145px;
    }

    .menu-toggle {
        display: flex;
        order: 3;
    }


    .main-nav {
        position: fixed;
        top: 65px;
        left: 0;
        width: 100%;
        max-height: calc(
            100vh - 65px
        );
        overflow-y: auto;
        background: white;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 10px 15px 20px;
        margin: 0;
        box-shadow:
            0 15px 30px
            rgba(0,0,0,0.12);
        transform:
            translateY(-15px);
        opacity: 0;
        visibility: hidden;
        transition: var(--transition);
    }

    .contact-hero {
        min-height: auto;
    }

    .contact-hero-inner {

        min-height: auto;

        grid-template-columns: 1fr;

        gap: 30px;

        padding-top: 50px;

        padding-bottom: 45px;

    }

    .contact-form-card {
        max-width: 520px;
        width: 100%;
        margin: auto;
    }


    .office-grid {
        grid-template-columns: 1fr;
    }


    .office-map {
        min-height: 350px;
    }


    .office-map iframe {
        min-height: 350px;
    }


    .quick-question-wrap {
        grid-template-columns: 1fr;
        padding: 30px 22px;
    }


    .final-cta {
        flex-direction: column;
        align-items: flex-start;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 600px) {

    .container {
        width:
            calc(
                100% - 24px
            );
    }


    .contact-hero-inner {
        padding-top: 40px;
    }


    .contact-hero-content h1 {
        font-size: 34px;
    }
    .contact-benefits {
        grid-template-columns:
            repeat(2, 1fr);
    }

    .contact-benefit {
        padding: 5px 0;
    }


    .contact-info-grid {
        grid-template-columns: 1fr;
    }


    .contact-info-card {
        padding: 16px;
    }


    .section {
        padding: 42px 0;
    }

    .map-location-card {
        min-width: 210px;
        max-width: 80%;
    }


    .quick-points {
        grid-template-columns:
            repeat(2, 1fr);
        row-gap: 20px;
    }


    .quick-form-row {
        grid-template-columns: 1fr;
    }


    .quick-form .btn {
        width: 100%;
    }


    .final-cta {
        padding: 25px 20px;
    }


    .final-cta-buttons {
        width: 100%;
        flex-direction: column;
    }


    .final-cta-buttons .btn {
        width: 100%;
    }


    .footer-grid {
        grid-template-columns: 1fr;
    }


    .footer-brand p {
        max-width: 100%;
    }


    .float {
        right: 12px;
        width: 48px;
        height: 48px;
    }


    .float.call {
        bottom: 75px;
    }


    .float.wa {
        bottom: 17px;
    }


    .toast {
        width:
            calc(
                100% - 30px
            );
        text-align: center;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

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

    * {

        scroll-behavior: auto !important;

        animation-duration: 0.01ms !important;

        animation-iteration-count: 1 !important;

        transition-duration: 0.01ms !important;

    }

}



.breadcrumb {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-bottom: 17px;
    color: rgba(255,255,255,.78);
}

.breadcrumb a:hover {
    color: var(--gold);
}

.eyebrow-badge {
    display: inline-flex;
    padding: 5px 9px;
    margin-bottom: 10px;
    border-radius: 4px;
    background: #53751e;
    color: white;
    font-weight: 400;
}

.hero-content h1 {
    font-size: clamp(39px, 4vw, 57px);
    line-height: 1.08;
    letter-spacing: -.8px;
    color: #fff !important;
}

.hero-content h1 span {
    color: var(--lime);
}

.title-line {
    width: 34px;
    height: 3px;
    background: var(--lime);
    margin: 13px 0;
}

.hero-content > p {
    max-width: 480px;
    font-size: 13px;
    line-height: 1.65;
    color: rgba(255,255,255,.88);
}

.hero-features {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    max-width: 520px;
    margin-top: 24px;
}

.hero-feature {
    display: grid;
    grid-template-columns: 28px 1fr;
    grid-template-rows: auto auto;
    column-gap: 7px;
    padding-right: 12px;
}

.hero-feature:not(:last-child) {
    border-right: 1px solid rgba(255,255,255,.20);
}

.hero-feature i {
    grid-row: 1 / span 2;
    display: flex;
    align-items: center;
    justify-content: center;
    color:#a4d04a;
}

.hero-feature strong {
    line-height: 1.1;
    color:#a4d04a;
}

.hero-feature small {
    color: rgba(255,255,255,.75);
}

.hero-buttons {
    display: flex;
    gap: 10px;
    margin-top: 23px;
}



.lead-card {
    padding: 24px;
    background: rgba(255,255,255,.98);
    color: var(--text);
    border-radius: 8px;
    box-shadow: 0 22px 55px rgba(0,0,0,.25);
}

.lead-card-heading h2 {
    color: var(--green);
    line-height: 1.2;
}

.lead-card-heading p {
    margin: 5px 0 14px;
    color: #333;
    font-weight: 600;
}

.field {
    position: relative;
    margin-bottom: 9px;
}

.field input,
.field select {
    width: 100%;
    height: 38px;
    padding: 8px 34px 8px 11px;
    border: 1px solid #dfe3da;
    border-radius: 5px;
    background: white;
    outline: none;
    color: #333;
    transition: var(--transition);
}

.field input:focus,
.field select:focus {
    border-color: var(--green);
    box-shadow: 0 0 0 3px rgba(79,111,34,.10);
}

.field i {
    position: absolute;
    right: 11px;
    top: 50%;
    transform: translateY(-50%);
    color: #7d8577;
    pointer-events: none;
}

.form-btn {
    width: 100%;
    margin-top: 3px;
}

.privacy-note {
    display: block;
    margin-top: 10px;
    color: #737373;
    text-align: center;
    line-height: 1.4;
}

/* =========================================================
   STATS
========================================================= */

.stats-wrap {
    position: relative;
    z-index: 5;
    margin-top: -33px;
}

.stats-bar {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    background: linear-gradient(135deg, #173714, #0b220b);
    border-radius: 8px;
    padding: 16px 12px;
    box-shadow: 0 15px 38px rgba(0,0,0,.17);
}

.stat-item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 55px;
    padding: 0 16px;
}

.stat-item:not(:last-child) {
    border-right: 1px solid rgba(255,255,255,.18);
}

.stat-icon {
    color: var(--gold);
}

.stat-item small,
.stat-item strong {
    display: block;
}

.stat-item small {
    color: rgba(255,255,255,.70);
}

.stat-item strong {
    color: white;
}

/* =========================================================
   SECTIONS
========================================================= */

.section {
    padding: 54px 0;
}

.section-kicker {
    display: inline-block;
    margin-bottom: 7px;
    color: var(--green);
    font-weight:500;
    letter-spacing: .3px;
}

.section-heading {
    margin-bottom: 20px;
}

.section-heading.centered {
    text-align: center;
}

.section-heading.centered .section-kicker {
    margin-bottom: 0;
}

/* =========================================================
   PROJECTS
========================================================= */

.projects-layout {
    display: grid;
    grid-template-columns: 255px 1fr;
    gap: 28px;
    align-items: start;
}

.section-intro {
    position: sticky;
    top: 95px;
}

/* .section-intro h2 {
    color: #192218;
    line-height: 1.15;
} */

.section-intro h2 span {
    color: var(--green);
}

.section-intro > p {
    margin: 14px 0;
    color: #5e635c;
    line-height: 1.65;
}

.check-list {
    list-style: none;
}

.check-list li {
    position: relative;
    padding-left: 18px;
    margin: 8px 0;
}

.check-list li::before {
    content: "\f00c";
    position: absolute;
    left: 0;
    top: 1px;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: var(--green);
}

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

.project-card {
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 7px;
    background: white;
    box-shadow: 0 5px 18px rgba(0,0,0,.05);
    transition: var(--transition);
}

.project-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-hover);
    border-color: rgba(79,111,34,.28);
}

.project-image {
    position: relative;
    overflow: hidden;
}

.project-image img {
    width: 100%;
    height:250px;
    object-fit: cover;
    transition: transform .7s ease;
    border-radius: 8px;
}

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

.status-badge {
    position: absolute;
    left: 8px;
    top: 8px;
    padding: 4px 20px;
    border-radius: 4px;
    color: white;
    background:#0cbca5;
    font-weight:500;
    font-size: 14px;
}

.project-body {
    padding: 10px;
}

.project-body h3 {
    color: #182018;
}

.location {
    margin-top: 2px;
    color: #777;
}

.location i {
    color: var(--green);
}

.project-divider {
    height: 1px;
    margin: 8px 0;
    background: #9acd32;
    padding: 8px !important;
}

.project-body > strong {
    display: block;
}

.project-body > small {
    display: block;
    margin-top: 5px;
    color: #777;
}

.price {
    margin-top: 0;
    color: var(--green);
    font-weight: 700;
}

.project-meta {
    display: flex;
    justify-content: space-between;
    gap: 5px;
    margin-top: 10px;
    color: #60655d;
    color: #60655d;
    border-top: 2px solid #9acd32;
}

.project-meta i {
    color: var(--green);
}

.details-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 11px;
    color: var(--green);
    font-weight: 800;
    transition: var(--transition);
}

.details-link:hover {
    gap: 9px;
    color: #779a28;
}

/* =========================================================
   PROGRESS
========================================================= */

.progress-section {
    background: #fbfcfa;
}

.progress-layout {
    display: grid;
    grid-template-columns: 1fr 230px;
    gap: 28px;
    align-items: center;
}

.progress-track {
    position: relative;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    padding-top: 8px;
}

.progress-line {
    position: absolute;
    left: 4%;
    right: 4%;
    top: 27px;
    height: 2px;
    background: #dfe4d9;
}

.progress-step {
    position: relative;
    z-index: 1;
    text-align: center;
}

.step-icon {
    width: 43px;
    height: 43px;
    margin: 0 auto 9px;
    border: 1px solid #dfe4d9;
    border-radius: 50%;
    background: white;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--green);
    box-shadow: 0 0 0 6px #fbfcfa;
}

.progress-step.complete .step-icon,
.progress-step.active .step-icon {
    background: var(--green);
    border-color: var(--green);
    color: white;
    box-shadow:
        0 0 0 6px #fbfcfa,
        0 0 0 8px rgba(79,111,34,.13);
}

.progress-step strong,
.progress-step small {
    display: block;
}


.progress-step small {
    color: #777;
}

.progress-card {
    padding: 17px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: white;
    box-shadow: 0 5px 18px rgba(0,0,0,.04);
}

.progress-card > span,
.progress-card > small,
.progress-card > b {
    display: block;
}

.progress-card > span {
    color: #666;
}

.progress-card > strong {
    display: block;
    margin: 2px 0 7px;
    color: var(--green);
}

.progress-meter {
    height: 5px;
    margin-bottom: 10px;
    overflow: hidden;
    border-radius: 10px;
    background: #e8ebe5;
}

.progress-meter span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--green);
}


.progress-card > b {
    color: var(--green);
}

/* =========================================================
   LOCATIONS
========================================================= */

.locations-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 12px;
}

.location-card {
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 7px;
    background: white;
    box-shadow: 0 4px 15px rgba(0,0,0,.04);
    transition: var(--transition);
}

.location-card:hover {
    transform: translateY(-7px);
    box-shadow: var(--shadow-hover);
}

.location-heading {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 9px;
}

.location-heading > i {
    color: var(--green);
}

.location-heading h3 {
    line-height: 1.2;
}

.location-heading span {
    color: #777;
}

.location-card img {
    /* height: 82px; */
    object-fit: cover;
    width: 100%;
    height: 220px;
    border-radius: 8px;
}
.location-card > p,
.location-card > strong {
    display: block;
    text-align: center;
}

.location-card > p {
    margin-top: 7px;
    color: #666;
}

.location-card > strong {
    margin-bottom: 10px;
}

/* =========================================================
   WHY
========================================================= */

.why-section {
    padding-top: 15px;
    padding-bottom: 38px;
}

.why-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
}

.why-item {
    text-align: center;
    padding: 0 14px;
    border-right: 1px solid var(--border);
}

.why-item:last-child {
    border-right: 0;
}




.why-item p {
    margin-top: 3px;
    color: #777;
    line-height: 1.45;
}

/* =========================================================
   FINAL CTA
========================================================= */

.final-cta-section {
    padding-bottom: 35px;
}

.final-cta {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    min-height: 82px;
    padding: 18px 30px;
    border-radius: 8px;
    color: white;
    background:
        linear-gradient(
            90deg,
            rgba(8, 31, 8, .98),
            rgba(28, 60, 21, .88)
        ),
        url("https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=1800&q=85")
        center / cover;
}

.final-cta small {
    color: rgba(255,255,255,.76);
}

.final-cta h2 {
   margin-top: 2px;
    line-height: 1.2;
    color: #cbe695;
    font-weight: 300;
}


.newsletter p {
    margin-bottom: 9px;
    color: rgba(255,255,255,.68);
}

.newsletter form {
    width: 100%;
}

.newsletter input {
    width: 100%;
    padding: 10px;
    border: 0;
    border-radius: 4px;
    outline: none;
    margin-bottom: 7px;
}

.newsletter .btn {
    width: 100%;
    min-height: 35px;
}

.socials {
    display: flex;
    gap: 7px;
    margin-top: 12px;
}

.socials a {
    width: 25px;
    height: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 50%;
    transition: var(--transition);
}

.socials a:hover {
    color: var(--green-dark);
    background: white;
    transform: translateY(-4px);
}

.footer-bottom {
    padding: 13px;
    border-top: 1px solid rgba(255,255,255,.12);
    text-align: center;
    color: rgba(255,255,255,.65);
}

/* =========================================================
   FLOATING CONTACT
========================================================= */

.float-contact {
    position: fixed;
    right: 17px;
    z-index: 900;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: white;
    background: var(--green);
    box-shadow: 0 8px 22px rgba(0,0,0,.22);
    transition: var(--transition);
}

.float-contact.call {
    bottom: 82px;
}

.float-contact.whatsapp {
    bottom: 19px;
}

.float-contact:hover {
    transform: translateY(-5px) scale(1.05);
    box-shadow: 0 0 20px rgba(155,194,67,.35), 0 13px 28px rgba(0,0,0,.24);
}


.float-contact small {
    margin-top: 1px;
}

/* =========================================================
   TOAST
========================================================= */

.toast {
    position: fixed;
    left: 50%;
    bottom: 24px;
    z-index: 2000;
    width: max-content;
    max-width: calc(100% - 30px);
    padding: 12px 20px;
    border-radius: 6px;
    background: #173714;
    color: white;
    box-shadow: 0 12px 35px rgba(0,0,0,.25);
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, 25px);
    transition: opacity .3s ease, transform .3s ease;
}

.toast.show {
    opacity: 1;
    transform: translate(-50%, 0);
}



/* =========================================================
   RESPONSIVE - TABLET
========================================================= */

@media (max-width: 1100px) {

    .container {
        width: min(100% - 40px, 960px);
    }

    .main-nav {
        gap: 17px;
    }

    .header-phone {
        display: none;
    }

    .hero-inner {
        grid-template-columns: minmax(0, 1fr) 330px;
        gap: 30px;
    }

    .projects-layout {
        grid-template-columns: 1fr;
    }

    .section-intro {
        position: static;
        max-width: 620px;
    }

    .locations-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .why-grid {
        grid-template-columns: repeat(3, 1fr);
        row-gap: 25px;
    }

    .why-item:nth-child(3n) {
        border-right: 0;
    }

    .footer-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* =========================================================
   RESPONSIVE - MOBILE NAV
========================================================= */

@media (max-width: 900px) {

    .container {
        width: min(100% - 30px, 700px);
    }

    .site-header,
    .nav-wrap {
        height: 65px;
    }

    .brand img {
        width: 145px;
    }

    .menu-toggle {
        display: flex;
        order: 3;
        margin-left: auto;
    }

    .main-nav {
        position: fixed;
        top: 65px;
        left: 0;
        width: 100%;
        max-height: calc(100vh - 65px);
        overflow-y: auto;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        margin: 0;
        padding: 8px 15px 20px;
        background: white;
        box-shadow: 0 15px 30px rgba(0,0,0,.12);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-12px);
        transition: var(--transition);
    }

    .main-nav.open {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .main-nav > a,
    .dropdown-btn {
        width: 100%;
        padding: 14px 20px 14px 10px;
        text-align: left;
        border-bottom: 1px solid #edf0e9;
        display: block;
        width: 100%;
    }

    .main-nav > a::after,
    .dropdown-btn::after {
        display: none;
    }

    .dropdown-btn {
        justify-content: space-between;
    }

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

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

    .dropdown-menu a {
        margin-bottom: 3px;
        background: #f6f8f2;
    }

    .hero-inner {
        grid-template-columns: 1fr;
        min-height: auto;
        padding: 40px 0;
    }

    .lead-card {
        width: 100%;
        max-width: 500px;
    }

    .stats-wrap {
        margin-top: 0;
    }

    .stats-bar {
        grid-template-columns: repeat(2, 1fr);
        gap: 0;
    }

    .stat-item {
        justify-content: flex-start;
    }

    .stat-item:nth-child(2),
    .stat-item:nth-child(4) {
        border-right: 0;
    }

    .stat-item:nth-child(-n+3) {
        border-bottom: 1px solid rgba(255,255,255,.18);
    }

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

    .progress-layout {
        grid-template-columns: 1fr;
    }

    .progress-track {
        overflow-x: auto;
        padding-bottom: 10px;
    }

    .progress-step {
        min-width: 130px;
    }

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

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

    .why-item:nth-child(3n) {
        border-right: 1px solid var(--border);
    }

    .why-item:nth-child(2n) {
        border-right: 0;
    }

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

/* =========================================================
   RESPONSIVE - SMALL MOBILE
========================================================= */

@media (max-width: 600px) {

    .container {
        width: calc(100% - 24px);
    }



    .hero-features {
        grid-template-columns: repeat(2, 1fr);
        gap: 14px;
    }

    .hero-feature {
        padding-right: 8px;
    }

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

    .hero-buttons {
        flex-direction: column;
    }

    .hero-buttons .btn {
        width: 100%;
    }

    .stats-bar {
        grid-template-columns: 1fr;
    }

    .stat-item {
        border-right: 0 !important;
        border-bottom: 1px solid rgba(255,255,255,.18);
    }

    .stat-item:last-child {
        border-bottom: 0;
    }

    .project-grid {
        grid-template-columns: 1fr;
    }

    .project-image {
        height: 180px;
    }

    .locations-grid {
        grid-template-columns: 1fr;
    }

    .location-card img {
        height: 145px;
    }

    .why-grid {
        grid-template-columns: 1fr 1fr;
    }

    .why-item {
        border-right: 1px solid var(--border) !important;
    }

    .why-item:nth-child(2n) {
        border-right: 0 !important;
    }

    .final-cta {
        flex-direction: column;
        align-items: flex-start;
    }

    .final-cta .btn {
        width: 100%;
    }

    .footer-grid {
        grid-template-columns: 1fr;
    }

    .footer-brand p {
        max-width: 100%;
    }

    .float-contact {
        width: 46px;
        height: 46px;
        right: 10px;
    }

    .float-contact.call {
        bottom: 70px;
    }

    .float-contact.whatsapp {
        bottom: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}


/* =========================================================

/* =========================================================
   PRIME URBAN — COMPLETED PROJECTS PAGE
   Page-specific CSS only.
   Global header, footer, buttons, typography and dropdown
   styles remain controlled by the main stylesheet.
   ========================================================= */

/* ---------------------------------------------------------
   PAGE WIDTH / COMMON ALIGNMENT
   --------------------------------------------------------- */
/* 
.completed-hero-inner,
.completed-value-strip,
.completed-projects-section > .container {
    width: min(1180px, calc(100% - 40px));
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}
 */

/* ---------------------------------------------------------
   COMPLETED PROJECTS HERO
   --------------------------------------------------------- */

.completed-hero {
    min-height: 370px;
    color: #fff;

    background:
        linear-gradient(
            90deg,
            rgba(6, 28, 7, 0.96) 0%,
            rgba(12, 45, 12, 0.88) 32%,
            rgba(12, 45, 12, 0.35) 68%,
            rgba(5, 20, 5, 0.45) 100%
        ),
        url("assets/completed-hero.jpg") center / cover no-repeat;
}

.completed-hero-inner {
    min-height: 370px;
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(340px, 0.65fr);
    gap: 60px;
    align-items: center;
}

.completed-hero-content {
    min-width: 0;
    padding: 25px 0;
}

.completed-breadcrumb {
    margin-bottom: 18px;
}

.completed-badge {
    display: inline-block;
    padding: 6px 11px;
    border-radius: 4px;

    background: #315f18;
    color: #fff;
    font-weight: 800;
    text-transform: uppercase;
}

.completed-hero h1 {
    margin: 15px 0;
    line-height: 1.05;
    letter-spacing: -0.5px;
}

.completed-hero h1 span {
    color: #a9cc3b;
}

.completed-hero-description {
    max-width: 560px;
    line-height: 1.6;
}


/* ---------------------------------------------------------
   HERO STATS
   --------------------------------------------------------- */

.completed-hero-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    margin: 24px 0;
}

.completed-hero-stat {
    display: flex;
    align-items: center;
    gap: 8px;
}

.completed-hero-stat-icon {
    flex: 0 0 auto;
    color: #b9d93d;
}

.completed-hero-stat strong {
    display: block;
    color: #c0dc4c;
    line-height: 1.1;
}

.completed-hero-stat span {
    display: block;
}


/* ---------------------------------------------------------
   HERO ACTIONS
   Do not inherit the global .btn-primary width:100%.
   --------------------------------------------------------- */

.completed-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.completed-hero-actions .btn {
    width: auto;
    flex: 0 0 auto;
}

.completed-hero-actions .btn-primary {
    width: auto;
}

.completed-hero-actions .btn-outline {
    color: #fff;
    border-color: rgba(255,255,255,.65);
    background: transparent;
}

.completed-hero-actions .btn-outline:hover {
    color: #fff;
    background: var(--olive);
    border-color: var(--olive);
}


/* ---------------------------------------------------------
   HERO ENQUIRY CARD
   --------------------------------------------------------- */

.completed-lead-card {
    width: 100%;
    max-width: 410px;
    margin-left: auto;

    padding: 23px;

    border-radius: 8px;

    background: #fff;
    color: var(--ink);

    box-shadow: 0 14px 35px rgba(0,0,0,.25);

    animation: completedCardFloat 4s ease-in-out infinite;
}

.completed-lead-card h2 {
    margin: 0 0 5px;
    color: #315f18;
    font-weight: 700;
    line-height: 1.15;
}

.completed-lead-card > p {
    margin: 0 0 14px;
    font-weight: 700;
}

.completed-lead-card form {
    display: grid;
    gap: 9px;
}

.completed-lead-card input,
.completed-lead-card select {
    width: 100%;
    height: 37px;
    padding: 0 11px;
    border: 1px solid #ddd;
    border-radius: 5px;
    background: #fff;
    color: var(--ink);
    outline: none;
    transition:
        border-color .25s ease,
        box-shadow .25s ease;
}

.completed-lead-card input:focus,
.completed-lead-card select:focus {
    border-color: #6c9622;
    box-shadow:
        0 0 0 3px rgba(108,150,34,.12);
}

.completed-lead-card .btn {
    width: 100%;
}

.completed-lead-card small {
    display: block;
    margin-top: 5px;
    color: #777;
    line-height: 1.4;
    text-align: center;
}

@keyframes completedCardFloat {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-5px);
    }
}


/* ---------------------------------------------------------
   COMPLETED VALUE STRIP
   --------------------------------------------------------- */

.completed-value-strip {
    position: relative;
    z-index: 5;
    margin-top: -35px;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    padding: 17px 25px;
    border-radius: 8px;
    background: linear-gradient(
        90deg,
        #102d0d,
        #183c13
    );
    color: #fff;
    box-shadow: 0 15px 35px rgba(24,55,15,.18);
}

.completed-value-item {
    display: grid;
    grid-template-columns: 35px minmax(0, 1fr);
    column-gap: 8px;
    align-items: center;
    min-width: 0;
    padding: 0 16px;
    border-right: 1px solid rgba(255,255,255,.16);
}

.completed-value-item:last-child {
    border-right: 0;
}

.completed-value-icon {
    grid-row: span 2;
    color: #c2dd45;
    line-height: 1;
}

.completed-value-item strong {
    line-height: 1.25;
}

.completed-value-item small {
    color: #d5ded0;
    line-height: 1.3;
}


/* ---------------------------------------------------------
   COMPLETED PROJECTS SECTION
   --------------------------------------------------------- */

.completed-projects-section {
    padding: 55px 0 25px;
}

.completed-section-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 25px;

    margin-bottom: 22px;
}

.completed-eyebrow {
    color: #315f18;
    text-transform: uppercase;
}

.completed-section-heading h2 {
    margin: 7px 0 0;
    color: var(--deep);
    line-height: 1.05;
}

.completed-section-heading h2 span {
    color: #5f851e;
}


/* ---------------------------------------------------------
   PROJECT FILTERS
   --------------------------------------------------------- */

.completed-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.completed-filter {
    padding: 9px 17px;
    border: 1px solid #e3e5de;
    border-radius: 4px;
    background: #fff;
    color: #182017;
    cursor: pointer;
    transition:
        background .25s ease,
        color .25s ease,
        border-color .25s ease,
        transform .25s ease;
}

.completed-filter:hover {
    transform: translateY(-2px);
    border-color: #67911f;
    color: #315f18;
}

.completed-filter.active {
    background: #67911f;
    border-color: #67911f;
    color: #fff;
}

.pu-container {
    width: min(1400px, calc(100% - 80px));
    margin: 0 auto;
}


/* =========================================================
   02. COMMON SECTION HEADING
   ========================================================= */

.pu-section-heading {
    text-align: center;
    margin: 0 auto 42px;
}
.pu-eyebrow {
    display: inline-block;
    margin-bottom: 10px;
    font-family: "DM Sans", sans-serif;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #527d20;
}

.pu-section-heading h2 {
    margin: 0;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(38px, 3.4vw, 58px);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -1.2px;
    color: #142017;
}

.pu-section-heading h2 em {
    font-style: normal;
    color: #628c25;
}

.pu-section-heading p {
    max-width: 850px;
    margin: 15px auto 0;
    font-family: "DM Sans", sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.6;
    color: #687168;
}


/* =========================================================
   03. OUR PROMISE SECTION
   ========================================================= */

.pu-promise-section {
    position: relative;

    padding: 75px 0 78px;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 0% 0%,
            rgba(101, 139, 44, 0.08),
            transparent 28%
        ),
        radial-gradient(
            circle at 100% 100%,
            rgba(101, 139, 44, 0.05),
            transparent 25%
        ),
        #ffffff;
}


/* Decorative background ring */

.pu-promise-section::before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    left: -220px;
    top: -220px;
    border: 1px solid rgba(103, 143, 40, 0.07);
    border-radius: 50%;
    box-shadow:
        0 0 0 35px rgba(103, 143, 40, 0.025),
        0 0 0 70px rgba(103, 143, 40, 0.018);
    pointer-events: none;
}

/* =========================================================
   04. PROMISE GRID
   ========================================================= */

.pu-promise-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
}

/* =========================================================
   05. PROMISE CARD
   ========================================================= */
.pu-promise-card {
    position: relative;
    min-height: 315px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 30px 22px 25px;
    text-align: center;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid #e1e6da;
    border-radius: 9px;
    box-shadow:
        0 7px 22px rgba(31, 52, 24, 0.055);

    /* IMPORTANT:
       No opacity: 0
       No transform: translateY(...)
       Content is always visible.
    */

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease,
        border-color 0.35s ease;
}


.pu-promise-card:hover {
    transform: translateY(-8px);
    border-color: #c9d9b5;
    box-shadow:
        0 18px 38px rgba(31, 52, 24, 0.12);
}


/* =========================================================
   06. PROMISE ICON
   ========================================================= */
.pu-promise-icon {
    width: 78px;
    height: 78px;
    flex: 0 0 78px;
    display: grid;
    place-items: center;
    margin-bottom: 22px;
    border-radius: 50%;
    background:
        radial-gradient(
            circle,
            #f1f6e7 0%,
            #eaf1df 100%
        );
    border: 1px solid #dbe5ce;
    color: #5f8c25;
    transition:
        transform 0.35s ease,
        background 0.35s ease,
        box-shadow 0.35s ease;
}


.pu-promise-icon svg {
    width: 42px;
    height: 42px;
    display: block;
    fill: none;
    color: #5f8c25;
    transition:
        transform 0.35s ease;
}

.pu-promise-card:hover .pu-promise-icon {
    transform: scale(1.06);
    background:
        linear-gradient(
            135deg,
            #edf5df,
            #dfeccd
        );

    box-shadow:
        0 8px 22px rgba(95, 140, 37, 0.16);
}

.pu-promise-card:hover .pu-promise-icon svg {
    transform: scale(1.04);
}

/* =========================================================
   07. PROMISE CARD HEADING
   ========================================================= */

.pu-promise-card h3 {
    margin: 0 0 14px;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.3px;
    color: #152018;
}


/* =========================================================
   08. PROMISE CARD TEXT
   ========================================================= */

.pu-promise-card p {
    max-width: 250px;
    margin: 0 auto;
    font-family: "DM Sans", sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.65;
    color: #727b72;
}


/* =========================================================
   09. PROMISE CARD BOTTOM LINE
   ========================================================= */

.pu-card-line {
    display: block;
    width: 48px;
    height: 2px;
    margin-top: auto;
    padding-top: 0;
    background: #69952b;
    transition:
        width 0.35s ease,
        transform 0.35s ease;
}

.pu-promise-card:hover .pu-card-line {
    width: 68px;
}

/* =========================================================
   10. CORE VALUES SECTION
   ========================================================= */
.pu-values-section {
    position: relative;
    padding: 76px 0 82px;
    overflow: hidden;
    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            #0a3022 0%,
            #0d3a28 48%,
            #09291e 100%
        );
}

/* Subtle architectural background */
 .pu-values-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,0.025) 1px,
            transparent 1px
        ),
        linear-gradient(
            rgba(255,255,255,0.02) 1px,
            transparent 1px
        );

    background-size:
        80px 80px;

    opacity: 0.45;
    pointer-events: none;
}

/* Green radial glow */
.pu-values-section::after {
    content: "";
    position: absolute;
    width: 650px;
    height: 650px;
    right: -300px;
    top: -280px;
    border-radius: 50%;
    background:
        radial-gradient(
            circle,
            rgba(148, 192, 67, 0.11),
            transparent 68%
        );
    pointer-events: none;
}

/* =========================================================
   11. VALUES CONTAINER
   ========================================================= */

.pu-values-container {
    position: relative;
    z-index: 2;
}

/* =========================================================
   12. VALUES HEADING
   ========================================================= */
    .pu-values-heading {
    margin-bottom: 48px;
}


.pu-values-heading .pu-eyebrow {
    color: #b5d95a;
}


.pu-values-heading h2 {
    color: #ffffff;
}


.pu-values-heading h2 em {
    color: #a9d94b;
}


.pu-values-heading p {
    color: rgba(255, 255, 255, 0.82);
}


/* Small heading line */

.pu-values-heading::after {
    content: "";

    display: block;

    width: 38px;
    height: 2px;

    margin: 14px auto 0;

    background: #a7d34a;
}


/* =========================================================
   13. VALUES GRID
   ========================================================= */

.pu-values-grid {
    position: relative;

    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));

    width: 100%;

    border-top: 1px solid rgba(194, 219, 154, 0.28);
    border-bottom: 1px solid rgba(194, 219, 154, 0.18);

    background: rgba(3, 24, 17, 0.15);
}


/* =========================================================
   14. VALUE CARD
   ========================================================= */

.pu-value-card {
    position: relative;

    min-height: 330px;

    display: flex;
    flex-direction: column;
    align-items: center;

    padding: 22px 28px 30px;

    text-align: center;

    border-right: 1px solid rgba(194, 219, 154, 0.28);

    /* IMPORTANT:
       No opacity / reveal dependency.
    */
    transition:
        background 0.35s ease,
        transform 0.35s ease;
}

.pu-value-card:last-child {
    border-right: 0;
}

.pu-value-card:hover {
    background: rgba(255, 255, 255, 0.035);

    transform: translateY(-4px);
}

/* =========================================================
   15. VALUE NUMBER
   ========================================================= */

.pu-value-number {
    align-self: flex-start;

    margin-bottom: 4px;

    font-family: "Playfair Display", Georgia, serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 1;

    color: #a8d34b;
}


/* =========================================================
   16. VALUE ICON
   ========================================================= */

.pu-value-icon {
    width: 88px;
    height: 88px;
    display: grid;
    place-items: center;
    margin: 4px auto 20px;
    border: 1px solid rgba(177, 213, 99, 0.8);
    border-radius: 50%;
    color: #a8d84c;
    background:
        rgba(4, 37, 25, 0.35);
    transition:
        transform 0.35s ease,
        background 0.35s ease,
        box-shadow 0.35s ease;
}


.pu-value-icon svg {
    width: 47px;
    height: 47px;
    display: block;
    color: #a8d84c;
    transition:
        transform 0.35s ease;
}


.pu-value-card:hover .pu-value-icon {
    transform: scale(1.07);
    background:
        rgba(145, 190, 65, 0.12);
    box-shadow:
        0 0 28px rgba(158, 205, 75, 0.16);
}

.pu-value-card:hover .pu-value-icon svg {
    transform: scale(1.05);
}

/* =========================================================
   17. VALUE HEADING
   ========================================================= */
.pu-value-card h3 {
    margin: 0 0 12px;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.2;
    color: #ffffff;
}

/* =========================================================
   18. VALUE TEXT
   ========================================================= */

.pu-value-card p {
    max-width: 235px;
    margin: 0 auto;
    font-family: "DM Sans", sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.82);
}


/* =========================================================
   19. TABLET — 1100px
   ========================================================= */

@media (max-width: 1100px) {

    .pu-container {
        width: min(100% - 50px, 1000px);
    }


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


    .pu-promise-card {
        min-height: 300px;
    }


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


    .pu-value-card:nth-child(3) {
        border-right: 0;
    }


    .pu-value-card:nth-child(4),
    .pu-value-card:nth-child(5) {
        border-top: 1px solid rgba(194, 219, 154, 0.28);
    }

}


/* =========================================================
   20. TABLET — 800px
   ========================================================= */

@media (max-width: 800px) {

.pu-container {
        width: calc(100% - 36px);
    }


.pu-promise-section {
        padding: 60px 0;
    }


.pu-values-section {
        padding: 60px 0;
    }


.pu-section-heading {
        margin-bottom: 32px;
    }


.pu-section-heading h2 {
        font-size: 40px;
    }


.pu-section-heading p {
        font-size: 16px;
    }


.pu-promise-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 15px;
    }


.pu-values-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


.pu-value-card {
        min-height: 310px;

        border-right: 1px solid
            rgba(194, 219, 154, 0.28);
    }


.pu-value-card:nth-child(2n) {
        border-right: 0;
    }


.pu-value-card:nth-child(n + 3) {
        border-top: 1px solid
            rgba(194, 219, 154, 0.28);
    }

}


/* =========================================================
   21. MOBILE — 600px
   ========================================================= */

@media (max-width: 600px) {

.pu-container {
        width: calc(100% - 28px);
    }


.pu-promise-section {
        padding: 50px 0 55px;
    }


.pu-values-section {
        padding: 52px 0 58px;
    }


.pu-section-heading {
        margin-bottom: 28px;
    }


.pu-eyebrow {
        font-size: 11px;
        letter-spacing: 0.8px;
    }


.pu-section-heading h2 {
        font-size: 34px;
        letter-spacing: -0.7px;
    }


.pu-section-heading p {
        font-size: 14px;
        line-height: 1.55;
    }


.pu-promise-grid {
        grid-template-columns: 1fr;

        gap: 14px;
    }


.pu-promise-card {
        min-height: auto;

        padding: 28px 22px 25px;
    }


.pu-promise-icon {
        width: 70px;
        height: 70px;

        flex-basis: 70px;

        margin-bottom: 17px;
    }


.pu-promise-icon svg {
        width: 38px;
        height: 38px;
    }


.pu-promise-card h3 {
        font-size: 22px;
    }


.pu-promise-card p {
        max-width: 320px;

        font-size: 14px;
    }


.pu-card-line {
        margin-top: 22px;
    }


.pu-values-grid {
        grid-template-columns: 1fr;
    }


.pu-value-card,
.pu-value-card:nth-child(n) {
        min-height: auto;

        padding: 25px 24px 32px;

        border-right: 0;

        border-top: 1px solid
            rgba(194, 219, 154, 0.28);
    }


.pu-value-card:first-child {
        border-top: 0;
    }


.pu-value-number {
        align-self: center;

        margin-bottom: 8px;

        font-size: 27px;
    }


.pu-value-icon {
        width: 76px;
        height: 76px;

        margin-bottom: 17px;
    }


.pu-value-icon svg {
        width: 42px;
        height: 42px;
    }


.pu-value-card h3 {
        font-size: 22px;
    }


.pu-value-card p {
        max-width: 340px;

        font-size: 14px;
    }

}


/* =========================================================
   22. SMALL MOBILE — 420px
   ========================================================= */

@media (max-width: 420px) {

.pu-section-heading h2 {
        font-size: 30px;
    }


.pu-section-heading p {
        font-size: 13px;
    }


.pu-promise-card {
        padding: 25px 18px 23px;
    }


.pu-promise-card h3 {
        font-size: 21px;
    }


.pu-promise-card p {
        font-size: 13.5px;
    }


.pu-value-card {
        padding-left: 18px;
        padding-right: 18px;
    }


.pu-value-card h3 {
        font-size: 21px;
    }


.pu-value-card p {
        font-size: 13.5px;
    }

}


/* =========================================================
   23. ACCESSIBILITY
   ========================================================= */

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

.pu-promise-card,
.pu-promise-icon,
.pu-promise-icon svg,
.pu-card-line,
.pu-value-card,
.pu-value-icon,
.pu-value-icon svg {
        transition: none;
    }

}

/* =========================================================
   PRIME URBAN — SERVICES SECTION
   Isolated CSS
   Does NOT modify header / footer / global classes
   ========================================================= */

.pu-services-section {
    position: relative;
    width: 100%;
    padding: 70px 0 80px;
    background: #ffffff;
    overflow: hidden;
}


/* =========================================================
   SUBTLE BACKGROUND DECORATION
   ========================================================= */

.pu-services-section::before {
    content: "";
    position: absolute;
    width: 280px;
    height: 280px;
    left: -145px;
    top: -120px;

    border: 28px solid rgba(102, 139, 39, 0.045);
    border-radius: 50%;

    pointer-events: none;
}

.pu-services-section::after {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    right: -170px;
    top: 10px;

    background:
        radial-gradient(
            circle,
            rgba(102, 139, 39, 0.045) 0,
            rgba(102, 139, 39, 0) 70%
        );

    pointer-events: none;
}


/* =========================================================
   CONTAINER
   ========================================================= */

.pu-services-container {
    width: min(1480px, calc(100% - 50px));
    margin: 0 auto;
    position: relative;
    z-index: 2;
}


/* =========================================================
   SECTION HEADING
   ========================================================= */

.pu-services-heading {
    text-align: center;
    margin-bottom: 55px;
}

.pu-services-eyebrow {
    display: block;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 1.2px;

    color: #4f7b21;

    margin-bottom: 12px;
}

.pu-services-heading-line {
    display: block;

    width: 78px;
    height: 2px;

    margin: 0 auto 20px;

    background: #6d9829;

    position: relative;
}

.pu-services-heading-line::before,
.pu-services-heading-line::after {
    content: "";

    position: absolute;
    top: 0;

    width: 26px;
    height: 2px;

    background: #6d9829;
}

.pu-services-heading-line::before {
    left: -34px;
}

.pu-services-heading-line::after {
    right: -34px;
}

.pu-services-heading h2 {
    margin: 0;

    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(42px, 4vw, 64px);
    line-height: 1.08;
    font-weight: 700;

    letter-spacing: -1.5px;

    color: #0d2721;
}

.pu-services-heading h2 em {
    font-style: normal;
    color: #557d24;
}

.pu-services-heading p {
    margin: 20px auto 0;

    max-width: 820px;

    font-family: "DM Sans", Arial, sans-serif;
    font-size: 20px;
    line-height: 1.5;

    color: #5d655e;
}


/* =========================================================
   SERVICES GRID
   ========================================================= */

.pu-services-grid {
    display: grid;

    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 16px;

    align-items: stretch;
}


/* =========================================================
   SERVICE CARD
   ========================================================= */

.pu-service-card {
    position: relative;

    min-width: 0;

    background: #ffffff;

    border: 1px solid #dfe5d9;

    border-radius: 9px;

    overflow: visible;

    box-shadow:
        0 8px 25px rgba(28, 52, 20, 0.045);

    transition:
        transform 0.4s ease,
        box-shadow 0.4s ease,
        border-color 0.4s ease;

    animation: puServiceCardReveal 0.7s ease both;
}

.pu-service-card:nth-child(1) {
    animation-delay: 0.05s;
}

.pu-service-card:nth-child(2) {
    animation-delay: 0.10s;
}

.pu-service-card:nth-child(3) {
    animation-delay: 0.15s;
}

.pu-service-card:nth-child(4) {
    animation-delay: 0.20s;
}

.pu-service-card:nth-child(5) {
    animation-delay: 0.25s;
}

.pu-service-card:nth-child(6) {
    animation-delay: 0.30s;
}

.pu-service-card:hover {
    transform: translateY(-9px);

    border-color: #c8d8b7;

    box-shadow:
        0 20px 42px rgba(37, 65, 22, 0.13);
}


/* =========================================================
   IMAGE
   ========================================================= */

.pu-service-image {
    position: relative;

    width: 100%;
    height: 265px;

    overflow: hidden;

    border-radius: 8px 8px 0 0;

    background: #eef2e9;
}

.pu-service-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition:
        transform 0.65s ease,
        filter 0.5s ease;
}

.pu-service-card:hover .pu-service-image img {
    transform: scale(1.08);

    filter: saturate(1.05);
}


/* =========================================================
   NUMBER
   ========================================================= */

.pu-service-number {
    position: absolute;

    top: 14px;
    left: 14px;

    width: 48px;
    height: 48px;

    display: grid;
    place-items: center;

    background: linear-gradient(
        145deg,
        #3e6c18,
        #6f9a26
    );

    color: #ffffff;

    border-radius: 7px;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 17px;
    font-weight: 800;

    box-shadow:
        0 8px 18px rgba(38, 73, 18, 0.32);

    z-index: 3;
}


/* =========================================================
   ROUND ICON
   ========================================================= */

.pu-service-icon {
    position: relative;
    z-index: 5;

    width: 82px;
    height: 82px;

    margin: -41px auto 17px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: #5e8c20;

    border: 5px solid #ffffff;

    box-shadow:
        0 7px 20px rgba(42, 73, 20, 0.20);

    transition:
        transform 0.4s ease,
        box-shadow 0.4s ease,
        background 0.4s ease;
}

.pu-service-icon span {
    display: grid;
    place-items: center;

    width: 100%;
    height: 100%;

    border-radius: 50%;

    color: #ffffff;

    font-size: 35px;
    line-height: 1;

    font-family: Arial, Helvetica, sans-serif;
}

.pu-service-card:hover .pu-service-icon {
    transform: translateY(-4px) scale(1.06);

    background: #4f781b;

    box-shadow:
        0 12px 25px rgba(62, 105, 22, 0.30);
}


/* =========================================================
   CARD BODY
   ========================================================= */

.pu-service-body {
    padding: 0 20px 30px;
}

.pu-service-body h3 {
    min-height: 62px;

    margin: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    text-align: center;

    font-family: "Playfair Display", Georgia, serif;
    font-size: 24px;
    line-height: 1.15;
    font-weight: 700;

    color: #102a23;
}


/* =========================================================
   DIVIDER
   ========================================================= */

.pu-service-divider {
    display: block;

    width: 150px;
    height: 2px;

    margin: 14px auto 22px;

    background: #5f8b21;

    transition:
        width 0.4s ease,
        background 0.4s ease;
}

.pu-service-card:hover .pu-service-divider {
    width: 55px;

    background: #86a93d;
}


/* =========================================================
   SERVICE LIST
   ========================================================= */

.pu-service-body ul {
    list-style: none;

    margin: 0;
    padding: 0;

    text-align: left;
}

.pu-service-body li {
    position: relative;

    padding-left: 18px;
    margin-bottom: 12px;

    font-family: "DM Sans", Arial, sans-serif;
    font-size: 18px;
    line-height: 1.45;

    color: #4f5950;
}

.pu-service-body li:last-child {
    margin-bottom: 0;
}

.pu-service-body li::before {
    content: "›";

    position: absolute;

    left: 0;
    top: -1px;

    color: #638d23;

    font-size: 22px;
    font-weight: 700;

    line-height: 1;
}


/* =========================================================
   CARD ANIMATION
   ========================================================= */

@keyframes puServiceCardReveal {

    from {
        opacity: 0;
        transform: translateY(35px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* =========================================================
   RESPONSIVE — TABLET
   ========================================================= */

@media (max-width: 1250px) {

    .pu-services-container {
        width: min(1100px, calc(100% - 40px));
    }

    .pu-services-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 18px;
    }

    .pu-service-image {
        height: 230px;
    }

    .pu-service-body h3 {
        font-size: 23px;
    }

}


/* =========================================================
   RESPONSIVE — MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .pu-services-section {
        padding: 55px 0 60px;
    }

    .pu-services-container {
        width: calc(100% - 30px);
    }

    .pu-services-heading {
        margin-bottom: 38px;
    }

    .pu-services-eyebrow {
        font-size: 13px;
    }

    .pu-services-heading h2 {
        font-size: 38px;
        letter-spacing: -0.8px;
    }

    .pu-services-heading p {
        font-size: 16px;
        line-height: 1.5;
    }

    .pu-services-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .pu-service-image {
        height: 260px;
    }

    .pu-service-body {
        padding: 0 22px 30px;
    }

    .pu-service-body h3 {
        font-size: 25px;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 420px) {

    .pu-services-heading h2 {
        font-size: 33px;
    }

    .pu-service-image {
        height: 230px;
    }

    .pu-service-icon {
        width: 76px;
        height: 76px;
        margin-top: -38px;
    }

    .pu-service-icon span {
        font-size: 31px;
    }

    .pu-service-number {
        width: 44px;
        height: 44px;
        font-size: 15px;
    }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

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

    .pu-service-card,
    .pu-service-image img,
    .pu-service-icon,
    .pu-service-divider {
        animation: none;
        transition: none;
    }

}

/* =========================================================
   PRIME URBAN
   WHY CHOOSE + PROPERTY JOURNEY
   ISOLATED CSS
   ========================================================= */

.pu-section,
.pu-section *,
.pu-section *::before,
.pu-section *::after {
    box-sizing: border-box;
}


/* =========================================================
   COMMON
   ========================================================= */

.pu-section {
    position: relative;
    width: 100%;
    overflow: hidden;
}


.pu-section-head {
    position: relative;
    z-index: 2;
    text-align: center;
}

.pu-title-line {
    display: block;
    width:100px;
    height: 2px;
    margin: 0 auto 18px;
    background: #628f25;
    position: absolute;
}

.pu-section-head h2 {
    margin:20px 0 13px;

    color: #111b1a;

    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(38px, 4vw, 58px);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -1px;
}

.pu-section-head h2 em {
    color: #4d7e1f;
    font-style: normal;
}

.pu-section-head p {
    max-width: 800px;

    margin: 0 auto;

    color: #626b67;

    font-family: "DM Sans", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.65;
}


/* =========================================================
   PRIME URBAN — WHY CHOOSE SECTION
   Fully scoped CSS
   Does NOT target global header/footer/container/card
   ========================================================= */

.pu-section,
.pu-section *,
.pu-section *::before,
.pu-section *::after {
    box-sizing: border-box;
}


/* MAIN SECTION */

.pu-why-section {
    position: relative;
    width: 100%;
    padding: 55px 0 5px;
    overflow: hidden;
    background: #ffffff;
}


/* CONTAINER */





/* =========================================================
   TOP AREA
   ========================================================= */

.pu-why-top {
    display: grid;
    grid-template-columns: 0.95fr 1.25fr;
    align-items: center;
    gap: 55px;
    margin-bottom: 30px;
}


/* LEFT CONTENT */

.pu-why-content {
    position: relative;
    z-index: 2;
    padding-left: 5px;
}



.pu-why-content h2 {
    max-width: 680px;
    margin:20px 0 17px;
    color: #101c18;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(38px, 4vw, 58px);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -1.3px;
}


.pu-why-content h2 em {
    color: #4e7e21;
    font-style: normal;
}


.pu-why-content p {
    max-width: 600px;

    margin: 0;

    color: #636b67;

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size: 17px;

    line-height: 1.65;
}


/* =========================================================
   HERO IMAGE
   ========================================================= */

.pu-why-visual {
    position: relative;

    width: 100%;

    padding-right: 20px;
}


.pu-hero-image {
    position: relative;

    width: 100%;

    height: 335px;

    overflow: hidden;

    border-radius: 18px;

    background: #e8eee3;

    box-shadow:
        0 20px 50px rgba(26, 57, 23, 0.13);
}


.pu-hero-image::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.02),
            transparent 50%
        );

    pointer-events: none;
}


.pu-hero-image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    object-position: center;

    transition:
        transform 0.8s ease,
        filter 0.8s ease;
}


.pu-hero-image:hover img {
    transform: scale(1.035);

    filter: saturate(1.05);
}


/* =========================================================
   TRUST BADGE
   ========================================================= */

.pu-trust-badge {
    position: absolute;

    right: -5px;
    bottom: -20px;

    display: flex;

    align-items: center;

    gap: 12px;

    min-width: 205px;

    padding: 13px 18px;

    background: #ffffff;

    border: 1px solid #e3e9de;

    border-radius: 14px;

    box-shadow:
        0 12px 30px rgba(26, 58, 22, 0.16);

    z-index: 5;

    animation:
        puTrustFloat 4s ease-in-out infinite;
}


.pu-trust-icon {
    width: 43px;
    height: 43px;

    flex-shrink: 0;

    display: grid;

    place-items: center;

    border-radius: 50%;

    background: #f1f7e9;
}


.pu-trust-icon img {
    width: 28px;
    height: 28px;

    display: block;
}


.pu-trust-text strong,
.pu-trust-text span {
    display: block;

    font-family:
        "DM Sans",
        Arial,
        sans-serif;
}


.pu-trust-text strong {
    color: #1b261e;

    font-size: 13px;

    font-weight: 800;

    line-height: 1.3;
}


.pu-trust-text span {
    margin-top: 3px;

    color: #568426;

    font-size: 11px;

    font-weight: 700;
}


/* =========================================================
   BENEFIT CARDS
   ========================================================= */

.pu-benefits {
    position: relative;

    display: grid;

    grid-template-columns:
        repeat(6, minmax(0, 1fr));

    gap: 14px;

    margin-top: 42px;
}


.pu-benefit {
    position: relative;

    min-width: 0;

    min-height: 220px;

    padding: 24px 15px 25px;

    text-align: center;

    background: #ffffff;

    border: 1px solid #dfe7da;

    border-radius: 14px;

    box-shadow:
        0 8px 25px rgba(30, 60, 25, 0.055);

    overflow: hidden;

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease,
        border-color 0.35s ease;
}


.pu-benefit:hover {
    transform: translateY(-7px);

    border-color: #bdd49f;

    box-shadow:
        0 17px 35px rgba(35, 70, 28, 0.13);
}


/* NUMBER */

.pu-benefit-number {
    position: absolute;
    top: 12px;
    left: 13px;
    color: #72964b;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 18px !important;

    font-weight: 800;

    letter-spacing: 0.5px;
}


/* ICON */

.pu-benefit-icon {
    width: 68px;
    height: 68px;

    display: grid;

    place-items: center;

    margin: 0 auto 13px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle at 50% 40%,
            #ffffff 0%,
            #f2f7e9 65%,
            #e9f1dd 100%
        );

    transition:
        transform 0.35s ease;
}


.pu-benefit:hover .pu-benefit-icon {
    transform:
        translateY(-3px)
        scale(1.06);
}


.pu-benefit-icon img {
    width: 50px;
    height: 50px;

    display: block;
}


/* TITLE */

.pu-benefit h3 {
    margin: 0;

    color: #16221c;

    font-family:
        "Playfair Display",
        Georgia,
        serif;

    font-size: 17px;

    font-weight: 700;

    line-height: 1.18;
}


/* SMALL LINE */

.pu-small-line {
    display: block;

    width: 27px;
    height: 2px;

    margin: 10px auto;

    background: #63902b;

    transition:
        width 0.3s ease;
}


.pu-benefit:hover .pu-small-line {
    width: 42px;
}


/* DESCRIPTION */

.pu-benefit p {
    max-width: 175px;

    margin: 0 auto;

    color: #7a817c;

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size: 11px;

    line-height: 1.55;
}


/* GREEN CORNER ARROW */

.pu-card-arrow {
    position: absolute;

    right: 0;
    bottom: 0;

    width: 34px;
    height: 34px;

    display: grid;

    place-items: center;

    border-radius: 18px 0 0 0;

    background: #4c851d;

    color: #ffffff;

    font-family: Arial, sans-serif;

    font-size: 17px;

    font-weight: 700;

    transition:
        width 0.3s ease,
        height 0.3s ease;
}


.pu-benefit:hover .pu-card-arrow {
    width: 39px;
    height: 39px;
}


/* =========================================================
   ANIMATION
   ========================================================= */

@keyframes puTrustFloat {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-5px);
    }
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1100px) {

    .pu-why-section .pu-wrap {
        width: min(950px, calc(100% - 40px));
    }


    .pu-why-top {
        grid-template-columns: 1fr;

        gap: 30px;
    }


    .pu-why-content {
        text-align: center;
        padding-left: 0;
    }


    .pu-why-content h2,
    .pu-why-content p {
        margin-left: auto;
        margin-right: auto;
    }


    .pu-title-line {
        margin-left: auto;
        margin-right: auto;
    }


    .pu-why-visual {
        padding-right: 10px;
        padding-bottom: 5px;
    }


    .pu-hero-image {
        height: 350px;
    }


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

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 680px) {

    .pu-why-section {
        padding: 45px 0 55px;
    }


    .pu-why-section .pu-wrap {
        width: calc(100% - 28px);
    }


    .pu-why-content h2 {
        font-size: 34px;

        letter-spacing: -0.7px;
    }


    .pu-why-content p {
        font-size: 14px;
    }


    .pu-hero-image {
        height: 250px;

        border-radius: 14px;
    }


    .pu-trust-badge {
        right: 5px;

        bottom: -19px;

        min-width: 190px;

        padding: 10px 13px;
    }


    .pu-trust-icon {
        width: 38px;
        height: 38px;
    }


    .pu-trust-icon img {
        width: 25px;
        height: 25px;
    }


    .pu-benefits {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 10px;

        margin-top: 38px;
    }


    .pu-benefit {
        min-height: 205px;

        padding:
            22px 10px 23px;
    }


    .pu-benefit h3 {
        font-size: 16px;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 430px) {

    .pu-why-content h2 {
        font-size: 29px;
    }


    .pu-hero-image {
        height: 220px;
    }


    .pu-benefits {
        grid-template-columns: 1fr;
    }


    .pu-benefit {
        min-height: 185px;
    }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

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

    .pu-trust-badge {
        animation: none;
    }

    .pu-section * {
        transition: none !important;
    }

}


/* =========================================================
   SECTION 02
   ========================================================= */

.pu-journey-section {
    padding: 75px 0 70px;

    background:
        radial-gradient(
            circle at 0 100%,
            rgba(211, 228, 196, .45),
            transparent 25%
        ),
        linear-gradient(
            135deg,
            #f5f8f1,
            #ffffff 50%,
            #eef5e8
        );
}

.pu-journey-head {
    margin-bottom: 50px;
}


/* =========================================================
   JOURNEY GRID
   ========================================================= */

.pu-journey-grid {
    position: relative;

    display: grid;

    grid-template-columns: repeat(6, minmax(0, 1fr));

    gap: 14px;
}


/* Timeline */

.pu-journey-grid::before {
    content: "";

    position: absolute;

    top: 23px;
    left: 7%;
    right: 7%;

    height: 2px;

    background:
        repeating-linear-gradient(
            to right,
            #6d963e 0,
            #6d963e 5px,
            transparent 5px,
            transparent 10px
        );

    opacity: .75;
}


/* =========================================================
   JOURNEY CARD
   ========================================================= */

.pu-journey-card {
    position: relative;

    padding-top: 48px;

    text-align: center;

    animation: puJourneyIn .7s ease both;
}

.pu-journey-card:nth-child(1) {
    animation-delay: .05s;
}

.pu-journey-card:nth-child(2) {
    animation-delay: .12s;
}

.pu-journey-card:nth-child(3) {
    animation-delay: .19s;
}

.pu-journey-card:nth-child(4) {
    animation-delay: .26s;
}

.pu-journey-card:nth-child(5) {
    animation-delay: .33s;
}

.pu-journey-card:nth-child(6) {
    animation-delay: .40s;
}


/* Step */

.pu-step-number {
    position: absolute;

    top: 0;
    left: 50%;

    z-index: 5;

    width: 46px;
    height: 46px;

    display: grid;
    place-items: center;

    transform: translateX(-50%);

    border: 4px solid #f3f7ed;
    border-radius: 50%;

    background: #245b1c;
    color: #ffffff;

    font-family: Arial, sans-serif;
    font-size: 12px;
    font-weight: 800;

    box-shadow:
        0 6px 16px rgba(31, 78, 23, .2);

    transition: transform .35s ease;
}

.pu-journey-card:hover .pu-step-number {
    transform: translateX(-50%) scale(1.12);
}


/* Image */

.pu-journey-image {
    height: 190px;

    overflow: hidden;

    border-radius: 13px;

    background: #dfe9d8;

    box-shadow:
        0 8px 24px rgba(27, 55, 22, .09);
}

.pu-journey-image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .65s ease,
        filter .65s ease;
}

.pu-journey-card:hover .pu-journey-image img {
    transform: scale(1.07);

    filter: saturate(1.08);
}


/* Icon */

.pu-journey-icon {
    position: absolute;

    top: 168px;
    left: 50%;

    z-index: 4;

    width: 54px;
    height: 54px;

    display: grid;
    place-items: center;

    transform: translate(-50%, -50%);

    border: 5px solid #ffffff;
    border-radius: 50%;

    background: #ffffff;
    color: #4a7b20;

    box-shadow:
        0 7px 20px rgba(28, 55, 20, .15);

    transition:
        transform .35s ease,
        background .35s ease;
}

.pu-journey-card:hover .pu-journey-icon {
    transform: translate(-50%, -50%) scale(1.08);

    background: #eef6e4;
}

.pu-journey-icon svg {
    width: 24px;
    height: 24px;

    fill: none;
    stroke: currentColor;

    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* Content */

.pu-journey-content {
    padding: 19px 7px 0;
}

.pu-journey-content h3 {
    margin: 0;
    color: #14201a;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 17px !important;
    font-weight: 700;
    line-height: 1.25;
}

.pu-journey-content h3 span {
    display: block;
}

.pu-journey-content .pu-small-line {
    margin-top: 11px;
    margin-bottom: 10px;
}

.pu-journey-content p {
    max-width: 205px;

    margin: 0 auto;

    color: #6b746c;

    font-family: "DM Sans", Arial, sans-serif;
    font-size: 12px;
    line-height: 1.55;
}


/* =========================================================
   CTA
   ========================================================= */

.pu-journey-cta {
    width: min(530px, 100%);

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 12px;

    margin: 38px auto 0;
    padding: 14px 22px;

    border-radius: 40px;

    background:
        linear-gradient(
            100deg,
            #155018,
            #2e721e
        );

    color: #ffffff;

    font-family: "DM Sans", Arial, sans-serif;
    font-size: 14px;
    font-weight: 700;

    box-shadow:
        0 12px 30px rgba(33, 86, 24, .22);

    transition:
        transform .35s ease,
        box-shadow .35s ease;
}

.pu-journey-cta:hover {
    transform: translateY(-4px);

    box-shadow:
        0 18px 38px rgba(33, 86, 24, .28);
}

.pu-cta-icon {
    display: grid;
    place-items: center;

    width: 27px;
    height: 27px;
}

.pu-cta-icon svg {
    width: 21px;
    height: 21px;

    fill: none;
    stroke: currentColor;

    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.pu-cta-arrow {
    font-size: 20px;

    transition: transform .3s ease;
}

.pu-journey-cta:hover .pu-cta-arrow {
    transform: translateX(5px);
}


/* =========================================================
   ANIMATION
   ========================================================= */

@keyframes puFloat {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-5px);
    }
}

@keyframes puJourneyIn {

    from {
        opacity: 0;
        transform: translateY(25px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1100px) {

    .pu-wrap {
        width: min(940px, calc(100% - 40px));
    }

    .pu-benefits {
        grid-template-columns: repeat(3, 1fr);
    }

    .pu-journey-grid {
        grid-template-columns: repeat(3, 1fr);
        row-gap: 45px;
    }

    .pu-journey-grid::before {
        display: none;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .pu-wrap {
        width: calc(100% - 30px);
    }

    .pu-why-section,
    .pu-journey-section {
        padding: 55px 0 60px;
    }

    .pu-section-head h2 {
        font-size: 34px;
    }

    .pu-section-head p {
        font-size: 14px;
    }

    .pu-feature-image {
        height: 235px;
        border-radius: 15px;
    }

    .pu-trust-badge {
        right: 10px;
        bottom: -25px;

        padding: 12px 15px;
    }

    .pu-benefits {
        grid-template-columns: repeat(2, 1fr);

        gap: 12px;
    }

    .pu-benefit {
        min-height: 215px;
    }

    .pu-journey-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 35px 12px;
    }

    .pu-journey-image {
        height: 175px;
    }

    .pu-journey-icon {
        top: 153px;
    }

    .pu-journey-content h3 {
        font-size: 15px;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 460px) {

    .pu-section-head h2 {
        font-size: 30px;
    }

    .pu-eyebrow {
        font-size: 11px;
    }

    .pu-benefits {
        grid-template-columns: 1fr;
    }

    .pu-benefit {
        min-height: 190px;
    }

    .pu-journey-grid {
        grid-template-columns: 1fr;
    }

    .pu-journey-image {
        height: 210px;
    }

    .pu-journey-icon {
        top: 188px;
    }

    .pu-journey-content h3 {
        font-size: 18px;
    }

    .pu-journey-content p {
        max-width: 290px;
        font-size: 13px;
    }

    .pu-journey-cta {
        font-size: 12px;
        padding: 13px 15px;
    }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

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

    .pu-trust-badge,
    .pu-journey-card {
        animation: none;
    }

    .pu-section *,
    .pu-section *::before,
    .pu-section *::after {
        scroll-behavior: auto !important;
        transition: none !important;
    }

}

.final-cta-buttons .btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    white-space: nowrap;
    line-height: 1;
}

.final-cta-buttons .btn-primary::after {
    content: "→";
    display: inline-block;
    line-height: 1;
    vertical-align: middle;
    position: relative;
    top: 0;
}


/* Dinamic nav menu */

/* =========================================================
   PRIME URBAN — WORDPRESS DESKTOP MENU
   ========================================================= */

.desktop-menu {
    display: flex;
    align-items: center;
    gap: 28px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.desktop-menu > li {
    position: relative;
    list-style: none;
}

.desktop-menu > li > a {
    position: relative;
    display: block;
    padding: 28px 0;
    font-size: 16px;
    font-weight: 700;
    color: #404a35;
    text-decoration: none;
}

/* Hover underline */

.desktop-menu > li > a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 18px;
    width: 0;
    height: 2px;
    background: var(--olive);
    transition: width .3s ease;
}

.desktop-menu > li > a:hover::after,
.desktop-menu > li.current-menu-item > a::after,
.desktop-menu > li.current-menu-ancestor > a::after {
    width: 100%;
}


/* =========================================================
   PROJECTS DROPDOWN
   ========================================================= */

.desktop-menu .menu-item-has-children {
    position: relative;
}

.desktop-menu .menu-item-has-children > a {
    padding-right: 18px;
}

/* Dropdown arrow */

.desktop-menu .menu-item-has-children > a::before {
    content: "▼";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 9px;
    color: var(--olive);
}


/* Submenu */

.desktop-menu .sub-menu {
    position: absolute;
    top: 100%;
    left: 100%;
    transform: translate(-50%, 10px);

    width: 205px;

    margin: 0;
    padding: 8px;

    list-style: none;

    background: #fff;
    border: 1px solid var(--line);
    border-radius: 9px;

    box-shadow: 0 15px 35px rgba(0, 0, 0, .12);

    opacity: 0;
    visibility: hidden;

    transition:
        opacity .25s ease,
        visibility .25s ease,
        transform .25s ease;

    z-index: 200;
}


/* Show submenu on hover */

.desktop-menu .menu-item-has-children:hover > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}


/* Submenu links */

.desktop-menu .sub-menu li {
    list-style: none;
    margin: 0;
    padding: 0;
}

.desktop-menu .sub-menu li a {
    display: block;
    padding: 11px;

    border-radius: 6px;

    font-size: 14px;
    font-weight: 600;

    color: #404a35;
    text-decoration: none;

    transition:
        background .25s ease,
        color .25s ease;
}

.desktop-menu .sub-menu li a:hover {
    background: var(--pale);
    color: var(--olive);
}


/* Do not show arrow on submenu items */

.desktop-menu .sub-menu .menu-item-has-children > a::before {
    display: none;
}

/* =========================================================
   PRIME URBAN — WORDPRESS MOBILE MENU
   ========================================================= */

.mobile-nav .mobile-menu {
    display: grid;
    margin: 0;
    padding: 0;
    list-style: none;
}

.mobile-nav .mobile-menu li {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mobile-nav .mobile-menu > li > a {
    display: block;
    padding: 13px;
    text-decoration: none;
    font-size: 16px;
    font-weight: 700;
    color: #404a35;
    border-bottom: 1px solid var(--line);
}


/* Projects parent */

.mobile-nav .mobile-menu .menu-item-has-children > a {
    position: relative;
    padding-right: 35px;
}


/* Projects arrow */

.mobile-nav .mobile-menu .menu-item-has-children > a::after {
    content: "▼";
    position: absolute;
    right: 13px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 9px;
    color: var(--olive);
}


/* Mobile submenu */

.mobile-nav .mobile-menu .sub-menu {
    display: none;
    margin: 0;
    padding: 0 0 5px 12px;
    list-style: none;
}

.mobile-nav .mobile-menu .menu-item-has-children.open > .sub-menu {
    display: block;
}

.mobile-nav .mobile-menu .sub-menu li a {
    display: block;
    padding: 11px 13px;
    margin-bottom: 3px;
    background: #f6f8f2;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    color: #404a35;
    text-decoration: none;
}

.mobile-nav .mobile-menu .sub-menu li a:hover {
    color: var(--olive);
}

/* =========================================================
   PRIME URBAN — WORDPRESS FOOTER MENU
   ========================================================= */

.footer-menu {
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer-menu li {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-menu li a {
    display: block;
    text-decoration: none;
    color: #aeb9a2;
    margin: 10px 0;
    font-size: 14px;
    transition: color .25s ease;
}

.footer-menu li a:hover {
    color: #d9e9b4;
}

/* =========================================================
   01. COMPLETED PROJECTS MAIN CONTAINER
   ========================================================= */

.completed-projects-section {
    width: 100%;
    padding: 48px 0 30px;
    background: #ffffff;
}


/* =========================================================
   02. SECTION HEADING + FILTERS
   ========================================================= */

.completed-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
    margin: 0 0 22px;
}

.completed-section-heading > div:first-child {
    min-width: 0;
}

.completed-eyebrow {
    display: block;
    margin: 0 0 8px;
    color: #315f18;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .5px;
    text-transform: uppercase;
}

.completed-section-heading h2 {
    margin: 0;
    color: #182017;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(32px, 3.1vw, 46px);
    font-weight: 700;
    line-height: 1.04;
    letter-spacing: -.8px;
}

.completed-section-heading h2 span {
    color: #5f851e;
}

.completed-filters {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px;
    flex-shrink: 0;
}

.completed-filter {
    min-height: 38px;
    padding: 0 17px;
    border: 1px solid #dfe4da;
    border-radius: 5px;
    background: #ffffff;
    color: #26301f;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    outline: none;
    transition:
        background .25s ease,
        color .25s ease,
        border-color .25s ease,
        transform .25s ease,
        box-shadow .25s ease;
}

.completed-filter:hover {
    border-color: #67911f;
    color: #315f18;
    transform: translateY(-1px);
}

.completed-filter.active {
    border-color: #67911f;
    background: #67911f;
    color: #ffffff;
}

select.completed-filter {
    min-width: 158px;
    padding-right: 34px;
    appearance: auto;
}


/* =========================================================
   03. COMPLETED PROJECT GRID
   ---------------------------------------------------------
   Forces the intended 4-column desktop layout so the cards
   cannot collapse into a single oversized column.
   ========================================================= */

.completed-project-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    width: 100%;
    align-items: stretch;
}


/* =========================================================
   04. PROJECT CARD
   ========================================================= */

.completed-project-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e4e8df;
    border-radius: 7px;
    background: #ffffff;
    box-shadow: 0 6px 20px rgba(20, 45, 15, .07);
    transform: translateZ(0);
    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}

.completed-project-card:hover {
    border-color: #d6dfcb;
    box-shadow: 0 18px 34px rgba(20, 50, 15, .13);
    transform: translateY(-5px);
}

.completed-project-card.hidden {
    display: none !important;
}


/* =========================================================
   05. PROJECT IMAGE
   ========================================================= */

.completed-project-image {
    position: relative;
    width: 100%;
    height: 150px;
    overflow: hidden;
    background: #edf1e9;
}

.completed-project-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform .55s ease;
}

.completed-project-card:hover .completed-project-image img {
    transform: scale(1.045);
}

.completed-project-status {
    position: absolute;
    top: 9px;
    left: 9px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 0 8px;
    border-radius: 4px;
    background: #5f851e;
    color: #ffffff;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 8px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .35px;
    text-transform: uppercase;
    box-shadow: 0 3px 9px rgba(0, 0, 0, .16);
}


/* =========================================================
   06. PROJECT CONTENT
   ========================================================= */

.completed-project-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
    padding: 12px 13px 13px;
}

.completed-project-content h3 {
    margin: 0 0 6px;
    color: #1b2419;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.15;
}

.completed-project-location {
    display: flex;
    align-items: flex-start;
    gap: 5px;
    min-height: 17px;
    margin: 0 0 10px;
    color: #424a40;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 10px;
    line-height: 1.35;
}

.completed-project-location i {
    flex: 0 0 auto;
    margin-top: 1px;
    color: #5f851e;
    font-size: 10px;
}

.completed-project-type {
    margin: 0 0 5px;
    color: #1d241b;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.3;
}

.completed-project-year {
    margin: 0 0 12px;
    color: #6b7469;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 9px;
    line-height: 1.3;
}


/* =========================================================
   07. PROJECT META
   ========================================================= */

.completed-project-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    min-height: 24px;
    margin-top: auto;
    padding: 9px 0 10px;
    border-top: 1px solid #edf0eb;
}

.completed-project-meta span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-width: 0;
    color: #3d463a;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 9px;
    font-weight: 600;
    line-height: 1.3;
}

.completed-project-meta i {
    color: #5f851e;
    font-size: 9px;
}


/* =========================================================
   08. VIEW DETAILS
   ========================================================= */

.completed-project-link {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 5px;
    width: fit-content;
    margin-top: 3px;
    color: #456d19;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 9px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .15px;
    text-decoration: none;
    text-transform: uppercase;
    transition:
        color .2s ease,
        gap .2s ease;
}

.completed-project-link i {
    font-size: 8px;
    transition: transform .2s ease;
}

.completed-project-link:hover {
    color: #28490f;
    gap: 7px;
}

.completed-project-link:hover i {
    transform: translateX(2px);
}


/* =========================================================
   09. EMPTY STATE + VIEW ALL
   ========================================================= */

.completed-project-empty {
    grid-column: 1 / -1;
    padding: 45px 20px;
    border: 1px dashed #d9dfd4;
    border-radius: 8px;
    background: #fafcf9;
    text-align: center;
}

.completed-project-empty p {
    margin: 0;
    color: #697267;
    font-size: 13px;
}

.completed-view-all {
    display: flex;
    justify-content: center;
    margin-top: 22px;
}

.completed-view-all .btn {
    min-width: 155px;
}


/* =========================================================
   10. VALUE STRIP
   ========================================================= */

.completed-value-strip {
    position: relative;
    z-index: 5;
    width: min(1180px, calc(100% - 60px));
    max-width: 1180px;
    margin: -30px auto 0;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    padding: 16px 20px;
    border-radius: 8px;
    background: linear-gradient(90deg, #102d0d, #183c13);
    color: #ffffff;
    box-shadow: 0 15px 35px rgba(24, 55, 15, .18);
}

.completed-value-item {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    column-gap: 8px;
    align-items: center;
    min-width: 0;
    padding: 0 13px;
    border-right: 1px solid rgba(255, 255, 255, .16);
}

.completed-value-item:last-child {
    border-right: 0;
}

.completed-value-icon {
    grid-row: span 2;
    color: #c2dd45;
    font-size: 19px;
    line-height: 1;
}

.completed-value-item strong {
    color: #ffffff;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.25;
}

.completed-value-item small {
    color: #d5ded0;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 8px;
    line-height: 1.3;
}


/* =========================================================
   11. COMPLETED ABOUT SECTION
   ---------------------------------------------------------
   Scoped so the generic .pu-* classes do not affect other
   pages. This gives the new 19E About block a stable layout.
   ========================================================= */

.completed-about-section {
    position: relative;
    width: 100%;
    padding: 65px 0 45px;
    overflow: hidden;
    background: #ffffff;
}

.completed-about-section,
.completed-about-section * {
    box-sizing: border-box;
}

.completed-about-section .pu-why-top {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.25fr);
    align-items: center;
    gap: 55px;
    margin: 0;
}

.completed-about-section .pu-why-content {
    position: relative;
    z-index: 2;
    min-width: 0;
    padding-left: 5px;
}

.completed-about-section .pu-eyebrow {
    display: inline-block;
    margin: 0 0 10px;
    color: #527d20;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.completed-about-section .pu-title-line {
    display: block;
    width: 45px;
    height: 2px;
    margin: 0 0 18px;
    background: #7fa662;
}

.completed-about-section .pu-why-content h2 {
    max-width: 680px;
    margin: 0 0 17px;
    color: #101c18;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(36px, 4vw, 56px);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -1.2px;
}

.completed-about-section .pu-why-content h2 em {
    color: #4e7e21;
    font-style: normal;
}

.completed-about-section .pu-why-content > p {
    max-width: 600px;
    margin: 0;
    color: #636b67;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.7;
}

.completed-about-section .check-list {
    display: grid;
    gap: 9px;
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
}

.completed-about-section .check-list li {
    position: relative;
    padding-left: 25px;
    color: #394339;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.45;
}

.completed-about-section .check-list li::before {
    content: "\f00c";
    position: absolute;
    top: 1px;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background: #e7f0df;
    color: #4e7e21;
    font-family: "Font Awesome 6 Free";
    font-size: 8px;
    font-weight: 900;
}

.completed-about-section .pu-why-visual {
    position: relative;
    width: 100%;
    padding-right: 20px;
}

.completed-about-section .pu-hero-image {
    position: relative;
    width: 100%;
    height: 335px;
    overflow: hidden;
    border-radius: 18px;
    background: #e8eee3;
    box-shadow: 0 20px 50px rgba(26, 57, 23, .13);
}

.completed-about-section .pu-hero-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform .7s ease;
}

.completed-about-section .pu-hero-image:hover img {
    transform: scale(1.035);
}

.completed-about-section .completed-about-image-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #edf3e9, #dfe9d8);
    color: #6a8750;
    font-size: 45px;
}

.completed-about-section .pu-trust-badge {
    position: absolute;
    right: -5px;
    bottom: -20px;
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 180px;
    padding: 13px 17px;
    border: 1px solid rgba(74, 104, 42, .12);
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 14px 35px rgba(25, 55, 20, .18);
}

.completed-about-section .pu-trust-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border-radius: 50%;
    background: #edf5e7;
    color: #5f851e;
    font-size: 17px;
}

.completed-about-section .pu-trust-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.completed-about-section .pu-trust-text strong {
    color: #26321f;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 15px;
    line-height: 1.15;
}

.completed-about-section .pu-trust-text span {
    color: #687267;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 9px;
    font-weight: 700;
    line-height: 1.3;
}


/* =========================================================
   12. TABLET
   ========================================================= */

@media (max-width: 1050px) {

    .completed-projects-section > .container,
    .completed-value-strip,
    .completed-about-section .pu-wrap {
        width: min(100% - 40px, 900px);
    }

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

    .completed-section-heading {
        gap: 20px;
    }

    .completed-about-section .pu-why-top {
        grid-template-columns: 1fr 1fr;
        gap: 35px;
    }

    .completed-about-section .pu-why-content h2 {
        font-size: clamp(34px, 4vw, 48px);
    }
}


/* =========================================================
   13. MOBILE
   ========================================================= */

@media (max-width: 760px) {

    .completed-projects-section {
        padding: 42px 0 25px;
    }

    .completed-projects-section > .container,
    .completed-value-strip,
    .completed-about-section .pu-wrap {
        width: calc(100% - 28px);
    }

    .completed-section-heading {
        display: block;
        margin-bottom: 18px;
    }

    .completed-section-heading h2 {
        font-size: 32px;
    }

    .completed-filters {
        justify-content: flex-start;
        margin-top: 18px;
    }

    .completed-filter {
        min-height: 37px;
        padding: 0 13px;
        font-size: 10px;
    }

    select.completed-filter {
        min-width: 145px;
    }

    .completed-project-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .completed-project-image {
        height: 205px;
    }

    .completed-project-content {
        padding: 14px;
    }

    .completed-project-content h3 {
        font-size: 18px;
    }

    .completed-project-location,
    .completed-project-type {
        font-size: 11px;
    }

    .completed-project-year {
        font-size: 10px;
    }

    .completed-project-meta span {
        font-size: 10px;
    }

    .completed-project-link {
        font-size: 10px;
    }

    .completed-value-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: 0;
        padding: 12px;
    }

    .completed-value-item {
        min-height: 58px;
        padding: 9px 8px;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .14);
    }

    .completed-value-item:nth-last-child(-n + 2) {
        border-bottom: 0;
    }

    .completed-value-item strong {
        font-size: 9px;
    }

    .completed-value-item small {
        font-size: 7px;
    }

    .completed-about-section {
        padding: 52px 0 45px;
    }

    .completed-about-section .pu-why-top {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .completed-about-section .pu-why-content {
        padding-left: 0;
    }

    .completed-about-section .pu-why-content h2 {
        font-size: 38px;
    }

    .completed-about-section .pu-why-content > p {
        font-size: 15px;
    }

    .completed-about-section .pu-why-visual {
        padding-right: 10px;
    }

    .completed-about-section .pu-hero-image {
        height: 300px;
        border-radius: 14px;
    }

    .completed-about-section .pu-trust-badge {
        right: -2px;
        bottom: -17px;
        min-width: 165px;
        padding: 11px 13px;
    }
}


/* =========================================================
   14. SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .completed-section-heading h2 {
        font-size: 29px;
    }

    .completed-filters {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .completed-filter,
    select.completed-filter {
        width: 100%;
        min-width: 0;
        padding-left: 10px;
        padding-right: 10px;
    }

    .completed-filters .completed-location-filter {
        grid-column: 1 / -1;
    }

    .completed-project-image {
        height: 190px;
    }

    .completed-value-strip {
        grid-template-columns: 1fr;
    }

    .completed-value-item,
    .completed-value-item:nth-last-child(-n + 2) {
        min-height: 54px;
        border-bottom: 1px solid rgba(255, 255, 255, .14);
    }

    .completed-value-item:last-child {
        border-bottom: 0;
    }

    .completed-about-section .pu-why-content h2 {
        font-size: 34px;
    }

    .completed-about-section .pu-hero-image {
        height: 255px;
    }

    .completed-about-section .pu-trust-badge {
        right: 0;
    }
}


/* =========================================================
   15. REDUCED MOTION
   ========================================================= */

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

    .completed-project-card,
    .completed-project-image img,
    .completed-project-link,
    .completed-about-section .pu-hero-image img {
        transition: none !important;
    }
}


/* =========================================================
   PRIME URBAN — COMPLETED PROJECTS PAGE
   STEP 19F — WHY HOME BUYERS TRUST PRIME URBAN
   ---------------------------------------------------------
   FRONTEND CSS — ADDED AFTER STEP 19E
   ---------------------------------------------------------
   Scoped to Completed Projects selectors only.
   Does not modify global header/footer styles.
   ========================================================= */

.completed-trust-section {
    position: relative;
    width: 100%;
    padding: 68px 0 72px;
    background: #f7f9f5;
    overflow: hidden;
}

.completed-trust-section,
.completed-trust-section * {
    box-sizing: border-box;
}

.completed-trust-wrap {
    width: min(1180px, calc(100% - 60px));
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}

.completed-trust-heading {
    max-width: 760px;
    margin: 0 auto 34px;
    text-align: center;
}

.completed-trust-eyebrow {
    display: inline-block;
    margin: 0 0 10px;
    color: #527d20;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.completed-trust-title-line {
    display: block;
    width: 45px;
    height: 2px;
    margin: 0 auto 17px;
    background: #7fa662;
}

.completed-trust-heading h2 {
    margin: 0;
    color: #101c18;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(34px, 4vw, 52px);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -1px;
}

.completed-trust-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
    width: 100%;
}

.completed-trust-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 218px;
    padding: 25px 20px 22px;
    border: 1px solid #e1e7dc;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 8px 24px rgba(25, 55, 20, .06);
    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}

.completed-trust-card:hover {
    border-color: #cfdcc5;
    box-shadow: 0 17px 34px rgba(25, 55, 20, .12);
    transform: translateY(-5px);
}

.completed-trust-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 20px;
    border-radius: 50%;
    background: #edf5e7;
    color: #5f851e;
    font-size: 21px;
    line-height: 1;
}

.completed-trust-card-content {
    min-width: 0;
}

.completed-trust-card-content h3 {
    margin: 0 0 9px;
    color: #26321f;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
}

.completed-trust-card-content p {
    margin: 0;
    color: #687267;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.6;
}

/* =========================================================
   STEP 19F — TABLET
   ========================================================= */

@media (max-width: 1050px) {

    .completed-trust-wrap {
        width: min(100% - 40px, 900px);
    }

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

    .completed-trust-card {
        min-height: 205px;
    }
}

/* =========================================================
   STEP 19F — MOBILE
   ========================================================= */

@media (max-width: 760px) {

    .completed-trust-section {
        padding: 54px 0 58px;
    }

    .completed-trust-wrap {
        width: calc(100% - 28px);
    }

    .completed-trust-heading {
        margin-bottom: 27px;
    }

    .completed-trust-heading h2 {
        font-size: 37px;
    }

    .completed-trust-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 13px;
    }

    .completed-trust-card {
        min-height: 205px;
        padding: 21px 16px 19px;
    }

    .completed-trust-card-icon {
        width: 46px;
        height: 46px;
        margin-bottom: 16px;
        font-size: 18px;
    }

    .completed-trust-card-content h3 {
        font-size: 16px;
    }

    .completed-trust-card-content p {
        font-size: 11px;
        line-height: 1.55;
    }
}

/* =========================================================
   STEP 19F — SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .completed-trust-section {
        padding: 48px 0 50px;
    }

    .completed-trust-heading h2 {
        font-size: 33px;
    }

    .completed-trust-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .completed-trust-card {
        min-height: 0;
        padding: 19px 17px;
        flex-direction: row;
        align-items: flex-start;
        gap: 14px;
    }

    .completed-trust-card-icon {
        flex: 0 0 44px;
        width: 44px;
        height: 44px;
        margin: 0;
    }

    .completed-trust-card-content h3 {
        margin-bottom: 6px;
    }
}

/* =========================================================
   STEP 19F — REDUCED MOTION
   ========================================================= */

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

    .completed-trust-card {
        transition: none !important;
    }
}


/* =========================================================
   COMPLETED PROJECT GALLERY — SECTION ONLY
   ========================================================= */

.completed-gallery {
    display: grid;
    grid-template-columns: 1.25fr repeat(4, minmax(0, 1fr));
    gap: 8px;

    width: 100%;
    max-width: 100%;
    margin: 20px 0 0;
    padding: 0;

    box-sizing: border-box;
}

.completed-gallery-intro,
.completed-gallery-item {
    width: 100%;
    height:190px;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    box-sizing: border-box;
    border-radius: 5px;
}

.completed-gallery-intro {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 16px;

    background: linear-gradient(
        135deg,
        #0d2b0d,
        #274e1d
    );

    color: #fff;
}

.completed-gallery-intro small {
    display: block;
    margin: 0 0 4px;

    font-size: 9px;
    line-height: 1.2;
}

.completed-gallery-intro h2 {
    margin: 4px 0;
    font-size: 25px !important;
    font-weight: 700;
    line-height: 1.1;
}

.completed-gallery-intro p {
    margin: 0 0 9px;

    font-size: 8px;
    line-height: 1.4;
}

.completed-gallery-item {
    display: block;

    position: relative;

    padding: 0;
    border: 0;

    background: transparent;

    cursor: pointer;
}

.completed-gallery-item img {
    display: block;

    width: 100%;
    height: 100%;

    margin: 0;
    padding: 0;

    max-width: none;
    max-height: none;

    object-fit: cover;
    object-position: center;

    transition: transform .6s ease;
}

.completed-gallery-item:hover img {
    transform: scale(1.07);
}


			/* =====================================================
			   STEP 19G — COMPLETED PROJECT GALLERY
			   SCOPED FRONTEND STYLES
			   ===================================================== */

			.completed-gallery-section {
				margin: 30px auto;
                width: 98%;
                position: relative;
			}

			.completed-gallery-section .completed-gallery-intro h2 {
				color: #ffffff !important;
			}

			.completed-gallery-section .completed-gallery-intro p,
			.completed-gallery-section .completed-gallery-intro small {
				color: rgba(255, 255, 255, 0.92) !important;
			}

			.completed-gallery-section .completed-gallery-view-button {
				display: inline-flex;
				align-items: center;
				justify-content: center;
				gap: 7px;
				width: auto;
				min-width: 106px;
				padding: 8px 13px;
				font-size: 18px;
				line-height: 1.2;
				border: 0;
				cursor: pointer;
                height: auto;
			}

			.completed-gallery-section .completed-gallery-item {
				display: block;
				width: 100%;
				padding: 0;
				border: 0;
				background: transparent;
				cursor: pointer;
			}

			.completed-gallery-section .completed-gallery-item img {
				display: block;
				width: 100%;
				height: 100%;
				object-fit: cover;
			}

			.completed-gallery-lightbox {
				position: fixed;
				inset: 0;
				z-index: 99999;
				display: grid;
				place-items: center;
				padding: 24px;
				background: rgba(5, 13, 6, 0.88);
			}

			.completed-gallery-lightbox[hidden] {
				display: none !important;
			}

			.completed-gallery-lightbox-backdrop {
				position: absolute;
				inset: 0;
				cursor: pointer;
			}

			.completed-gallery-lightbox-dialog {
				position: relative;
				z-index: 1;
				display: flex;
				flex-direction: column;
				align-items: center;
				width: min(100%, 1100px);
				max-height: calc(100vh - 48px);
			}

			.completed-gallery-lightbox-image {
				display: block;
				width: auto;
				max-width: 100%;
				max-height: calc(100vh - 105px);
				object-fit: contain;
				border-radius: 8px;
				box-shadow: 0 20px 70px rgba(0, 0, 0, 0.4);
			}

			.completed-gallery-lightbox-close {
				position: absolute;
				top: -44px;
				right: 0;
				z-index: 2;
				display: grid;
				place-items: center;
				width: 36px;
				height: 36px;
				padding: 0;
				border: 1px solid rgba(255, 255, 255, 0.35);
				border-radius: 50%;
				background: rgba(0, 0, 0, 0.35);
				color: #fff;
				font-size: 24px;
				line-height: 1;
				cursor: pointer;
			}

			.completed-gallery-lightbox-caption {
				width: 100%;
				padding-top: 10px;
				color: #fff;
				text-align: center;
				font-size: 11px;
			}

			.completed-gallery-open {
				overflow: hidden !important;
			}

			@media (max-width: 767px) {
				.completed-gallery-section {
					margin-top: 16px;
				}

				/*
				 * MOBILE GALLERY GRID
				 *
				 * Keep the intro panel full-width and place the
				 * four gallery images in a clean 2 x 2 layout.
				 * This prevents the five-column desktop layout from
				 * becoming squeezed on small screens.
				 */
				.completed-gallery {
					grid-template-columns: repeat(2, minmax(0, 1fr));
					gap: 10px;
				}

				.completed-gallery-intro {
					grid-column: 1 / -1;
					height: 180px;
					padding: 22px;
				}

				.completed-gallery-intro small {
					font-size: 10px;
					margin-bottom: 6px;
				}

				.completed-gallery-intro h2 {
					font-size: 29px !important;
					line-height: 1.08;
					margin: 5px 0 7px;
				}

				.completed-gallery-intro p {
					max-width: 280px;
					font-size: 11px;
					line-height: 1.45;
					margin-bottom: 12px;
				}

				.completed-gallery-item {
					height: 165px;
				}

				.completed-gallery-section .completed-gallery-view-button {
					min-width: 100px;
					padding: 7px 11px;
					font-size: 8px;
				}

				.completed-gallery-lightbox {
					padding: 16px;
				}

				.completed-gallery-lightbox-dialog {
					max-height: calc(100vh - 32px);
				}

				.completed-gallery-lightbox-image {
					max-height: calc(100vh - 90px);
				}

				.completed-gallery-lightbox-close {
					top: -42px;
				}
			}

			@media (max-width: 400px) {
				.completed-gallery {
					gap: 8px;
				}

				.completed-gallery-intro {
					height: 170px;
					padding: 18px;
				}

				.completed-gallery-intro h2 {
					font-size: 26px !important;
				}

				.completed-gallery-intro p {
					font-size: 10px;
					margin-bottom: 9px;
				}

				.completed-gallery-item {
					height: 150px;
				}
			}

			@media (prefers-reduced-motion: reduce) {
				.completed-gallery-section .completed-gallery-item img {
					transition: none;
				}
			}

				/* =====================================================
				   19H TESTIMONIALS — SCOPED STYLES ONLY
				   ===================================================== */

				.completed-testimonials-section {
					padding: 90px 0 85px;
					background: #f7f8f4;
					overflow: hidden;
				}

				.completed-testimonials-heading {
					text-align: center;
					margin: 0 auto 42px;
					max-width: 760px;
				}

				.completed-testimonials-eyebrow {
					display: block;
					font-size: 12px;
					font-weight: 800;
					letter-spacing: 2px;
					color: #426b35;
					margin-bottom: 10px;
				}

				.completed-testimonials-line {
					display: block;
					width: 44px;
					height: 2px;
					margin: 0 auto 16px;
					background: #426b35;
				}

				.completed-testimonials-heading h2 {
					margin: 0;
					font-size: clamp(30px, 4vw, 48px);
					line-height: 1.12;
					color: #182118;
				}

				.completed-testimonials-heading h2 span {
					color: #426b35;
				}

				.completed-testimonials-carousel {
					width: 100%;
					position: relative;
				}

				.completed-testimonials-viewport {
					width: 100%;
					overflow: hidden;
				}

				.completed-testimonials-track {
					display: flex;
					gap: 22px;
					will-change: transform;
					transition: transform .55s ease;
				}

				.completed-testimonial-card {
					flex: 0 0 calc((100% - 44px) / 3);
					min-width: 0;
					box-sizing: border-box;
					padding: 30px;
					background: #fff;
					border: 1px solid rgba(36, 64, 36, .10);
					border-radius: 12px;
					box-shadow: 0 10px 30px rgba(20, 40, 20, .06);
					position: relative;
				}

				.completed-testimonial-card-top {
					display: flex;
					align-items: center;
					justify-content: space-between;
					gap: 16px;
					margin-bottom: 20px;
				}

				.completed-testimonial-customer {
					display: flex;
					align-items: center;
					gap: 13px;
					min-width: 0;
				}

				.completed-testimonial-photo {
					width: 58px;
					height: 58px;
					flex: 0 0 58px;
					border-radius: 50%;
					overflow: hidden;
					background: #e9eee4;
					display: flex;
					align-items: center;
					justify-content: center;
					color: #426b35;
				}

				.completed-testimonial-photo img {
					width: 100%;
					height: 100%;
					display: block;
					object-fit: cover;
				}

				.completed-testimonial-photo span {
					font-size: 20px;
				}

				.completed-testimonial-customer h3 {
					margin: 0 0 4px;
					font-size: 16px;
					line-height: 1.25;
					color: #182118;
				}

				.completed-testimonial-project {
					display: block;
					font-size: 12px;
					line-height: 1.35;
					color: #778077;
				}

				.completed-testimonial-rating {
					flex: 0 0 auto;
					display: flex;
					gap: 3px;
					color: #d49a28;
					font-size: 13px;
				}

				.completed-testimonial-quote {
					font-family: Georgia, serif;
					font-size: 64px;
					line-height: .7;
					height: 34px;
					color: #426b35;
					opacity: .22;
				}

				.completed-testimonial-text {
					margin: 10px 0 0;
					font-size: 15px;
					line-height: 1.8;
					color: #566056;
				}

				.completed-testimonials-navigation {
					display: flex;
					align-items: center;
					justify-content: center;
					gap: 18px;
					margin-top: 32px;
				}

				.completed-testimonial-arrow {
					width: 44px;
					height: 44px;
					padding: 0;
					border: 1px solid rgba(36, 64, 36, .18);
					border-radius: 50%;
					background: #fff;
					color: #294528;
					display: inline-flex;
					align-items: center;
					justify-content: center;
					cursor: pointer;
					transition: all .25s ease;
				}

				.completed-testimonial-arrow:hover {
					background: #294528;
					color: #fff;
					border-color: #294528;
				}

				.completed-testimonial-dots {
					display: flex;
					align-items: center;
					justify-content: center;
					gap: 7px;
					min-width: 70px;
				}

				.completed-testimonial-dot {
					width: 7px;
					height: 7px;
					padding: 0;
					border: 0;
					border-radius: 50%;
					background: #cbd2c8;
					cursor: pointer;
					transition: all .25s ease;
				}

				.completed-testimonial-dot.active {
					width: 24px;
					border-radius: 10px;
					background: #426b35;
				}

				@media (max-width: 991px) {
					.completed-testimonial-card {
						flex-basis: calc((100% - 22px) / 2);
					}
				}

				@media (max-width: 640px) {
					.completed-testimonials-section {
						padding: 65px 0 60px;
					}

					.completed-testimonials-heading {
						margin-bottom: 30px;
					}

					.completed-testimonials-track {
						gap: 14px;
					}

					.completed-testimonial-card {
						flex-basis: 100%;
						padding: 24px;
					}

					.completed-testimonial-card-top {
						align-items: flex-start;
					}

					.completed-testimonial-rating {
						font-size: 12px;
					}
				}

/* =========================================================
   STEP 19I — COMPLETED PROJECTS FINAL CTA
   Scoped only to the Completed Projects final CTA.
   ========================================================= */

.completed-final-cta {
	position: relative;
	overflow: hidden;
	padding: 78px 0;
	background: #3e4d2b;
	color: #fff;
}

.completed-final-cta,
.completed-final-cta * {
	box-sizing: border-box;
}

.completed-final-cta .container {
	position: relative;
	z-index: 2;
}

.completed-final-cta-inner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 50px;
	min-height: 190px;
	padding: 42px 54px;
	border: 1px solid rgba(255,255,255,.14);
	border-radius: 14px;
	background: linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.025));
	box-shadow: 0 20px 50px rgba(20,30,14,.18);
}

.completed-final-cta-copy {
	max-width: 760px;
}

.completed-final-cta-eyebrow {
	display: inline-block;
	margin-bottom: 12px;
	color: #cde7a6;
	font-family: "Montserrat", Arial, sans-serif;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.completed-final-cta-copy h2 {
	margin: 0 0 9px;
	color: #fff;
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(34px, 4vw, 52px) !important;
	font-weight: 600;
	line-height: 1.08;
	letter-spacing: -1px;
}

.completed-final-cta-copy h2 span {
	color: #b9d88a;
}

.completed-final-cta-copy p {
	margin: 0;
	color: #e1ead7;
	font-family: "Montserrat", Arial, sans-serif;
	font-size: 18px !important;
	line-height: 1.6;
}

.completed-final-cta-action {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
}

.completed-final-cta-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 13px;
	min-width: 235px;
	padding: 15px 23px;
	border: 1px solid #7fa662;
	border-radius: 7px;
	background: #7fa662;
	color: #fff;
	font-family: "Montserrat", Arial, sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .3px;
	text-decoration: none;
	transition: transform .25s ease, background .25s ease, box-shadow .25s ease;
}

.completed-final-cta-button i {
	font-size: 13px;
	transition: transform .25s ease;
}

.completed-final-cta-button:hover {
	background: #6b8e23;
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(0,0,0,.2);
}

.completed-final-cta-button:hover i {
	transform: translateX(4px);
}

.completed-final-cta-action small {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: #cbd7bc;
	font-family: "Montserrat", Arial, sans-serif;
	font-size: 11px !important;
	line-height: 1.4;
	text-align: center;
}

.completed-final-cta-action small i {
	color: #b9d88a;
	font-size: 11px;
}

.completed-final-cta-shape {
	position: absolute;
	z-index: 1;
	pointer-events: none;
	border: 1px solid rgba(185,216,138,.12);
	border-radius: 50%;
}

.completed-final-cta-shape-left {
	width: 340px;
	height: 340px;
	left: -190px;
	top: -120px;
}

.completed-final-cta-shape-right {
	width: 430px;
	height: 430px;
	right: -245px;
	bottom: -235px;
}

@media (max-width: 900px) {
	.completed-final-cta {
		padding: 65px 0;
	}

	.completed-final-cta-inner {
		padding: 38px 35px;
		gap: 35px;
	}

	.completed-final-cta-copy h2 {
		font-size: 40px !important;
	}
}

@media (max-width: 700px) {
	.completed-final-cta-inner {
		flex-direction: column;
		align-items: flex-start;
		padding: 34px 28px;
		gap: 26px;
	}

	.completed-final-cta-action {
		align-items: flex-start;
		width: 100%;
	}

	.completed-final-cta-button {
		width: 100%;
		max-width: 280px;
	}

	.completed-final-cta-action small {
		text-align: left;
	}
}

@media (max-width: 560px) {
	.completed-final-cta {
		padding: 55px 0;
	}

	.completed-final-cta-inner {
		padding: 30px 22px;
		border-radius: 11px;
	}

	.completed-final-cta-copy h2 {
		font-size: 31px !important;
		line-height: 1.12;
	}

	.completed-final-cta-copy p {
		font-size: 15px !important;
	}

	.completed-final-cta-button {
		max-width: none;
		font-size: 13px;
	}
}


/* =========================================================
   PRIME URBAN — STEP 22A.2 FORM / PROJECT PAGE FIXES
   ========================================================= */

/* HTML [hidden] must always win over generic label/field display rules. */
.primeurban-other-property-wrap[hidden] {
    display: none !important;
}

.primeurban-other-property-wrap textarea {
    width: 100%;
    min-height: 86px;
    padding: 11px 12px;
    border: 1px solid #dfe3da;
    border-radius: 6px;
    background: #fff;
    color: #333;
    outline: none;
    resize: vertical;
    font: inherit;
    line-height: 1.45;
    box-sizing: border-box;
}

.primeurban-other-property-wrap textarea:focus {
    border-color: var(--green, #6c9622);
    box-shadow: 0 0 0 3px rgba(108,150,34,.10);
}

/* Services form */
#leadForm[data-service-form="1"] {
    max-width: 500px;
}

#leadForm[data-service-form="1"] .primeurban-service-select,
#leadForm[data-service-form="1"] .primeurban-service-context-input {
    width: 100%;
    min-height: 42px;
    box-sizing: border-box;
}

#leadForm[data-service-form="1"] .primeurban-service-context-input {
    padding-right: 12px;
}

#leadForm[data-service-form="1"] label {
    display: block;
    margin: 10px 0;
    line-height: 1.35;
}

#leadForm[data-service-form="1"] textarea {
    display: block;
    width: 100%;
    min-height: 86px;
    margin-top: 5px;
    padding: 11px 13px;
    border: 1px solid #e1e5dc;
    border-radius: 6px;
    background: #fff;
    color: var(--ink);
    font: inherit;
    font-size: 12px;
    line-height: 1.45;
    outline: none;
    resize: vertical;
    box-sizing: border-box;
}

#leadForm[data-service-form="1"] textarea:focus {
    border-color: var(--olive);
    box-shadow: 0 0 0 3px rgba(107,142,35,.1);
}

#leadForm[data-service-form="1"] .form-note {
    margin-top: 11px;
}

/* Ongoing hero: prevent the form from becoming wider than its column. */
.hero-inner > .lead-card {
    width: min(100%, 430px);
    flex: 0 1 430px;
    box-sizing: border-box;
}

.hero-inner > .lead-card form,
.hero-inner > .lead-card .field {
    min-width: 0;
}

.hero-inner > .lead-card .primeurban-other-property-wrap textarea {
    display: block;
}

/* Completed hero: stable desktop/tablet/mobile form layout. */
.completed-hero-inner {
    box-sizing: border-box;
}

.completed-lead-card {
    box-sizing: border-box;
}

.completed-lead-card .field {
    min-width: 0;
}

.completed-lead-card .primeurban-other-property-wrap textarea {
    width: 100%;
    box-sizing: border-box;
}

@media (max-width: 1100px) {
    .completed-hero-inner {
        grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
        gap: 32px;
    }

    .completed-lead-card {
        max-width: 380px;
    }
}

@media (max-width: 900px) {
    .completed-hero {
        min-height: auto;
        padding: 42px 0 48px;
    }

    .completed-hero-inner {
        min-height: auto;
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .completed-hero-content {
        padding: 10px 0 0;
    }

    .completed-lead-card {
        width: 100%;
        max-width: 520px;
        margin: 0 auto;
        padding: 22px;
    }

    .completed-hero-stats {
        gap: 18px 24px;
    }

    .completed-value-strip {
        margin-top: 0;
    }

    .completed-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .completed-filters {
        width: 100%;
        justify-content: flex-start;
    }
}

@media (max-width: 600px) {
    .hero-inner > .lead-card {
        width: 100%;
        max-width: 100%;
        flex-basis: auto;
    }

    #leadForm[data-service-form="1"] {
        max-width: 100%;
    }

    .completed-hero {
        padding: 34px 0 42px;
    }

    .completed-hero h1 {
        font-size: 38px !important;
    }

    .completed-hero-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .completed-hero-actions .btn,
    .completed-hero-actions .btn-primary {
        width: 100%;
    }

    .completed-hero-stats {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 15px;
    }

    .completed-lead-card {
        padding: 18px;
    }

    .completed-lead-card h2 {
        font-size: 30px !important;
    }
}

@media (max-width: 420px) {
    .completed-hero-stats {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   PRIME URBAN — STEP 22A.4 COMPACT / FLOATING LABEL FORMS
   UI-only: preserves existing field names, validation and
   submission handlers while reducing hero/form height.
   ========================================================= */

.pu-floating-field {
    position: relative !important;
    box-sizing: border-box;
}

/* Label-based forms */
.pu-floating-field > .pu-floating-label {
    position: absolute;
    z-index: 2;
    left: 13px;
    top: 50%;
    transform: translateY(-50%);
    margin: 0 !important;
    padding: 0 2px;
    max-width: calc(100% - 30px);
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    pointer-events: none;
    color: #747c6c;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    background: #fff;
    transition: opacity .16s ease, transform .16s ease;
}

.pu-floating-field:focus-within > .pu-floating-label,
.pu-floating-field.has-value > .pu-floating-label {
    opacity: 0;
}

.pu-floating-field input::placeholder,
.pu-floating-field textarea::placeholder {
    opacity: 0;
    transition: opacity .12s ease;
}

.pu-floating-field:focus-within input::placeholder,
.pu-floating-field:focus-within textarea::placeholder {
    opacity: .75;
}

/* Selects use their first option as the focused hint. */
.pu-floating-field select {
    cursor: pointer;
}

.pu-floating-field textarea {
    box-sizing: border-box;
}

/* Compact sizing for the standard white hero/enquiry forms. */
.lead-form .pu-floating-field,
.enquiry-card .pu-floating-field {
    margin: 7px 0 !important;
}

.lead-form .pu-floating-field > input,
.lead-form .pu-floating-field > select,
.enquiry-card .pu-floating-field > input,
.enquiry-card .pu-floating-field > select {
    margin-top: 0 !important;
    min-height: 42px;
    box-sizing: border-box;
}

/* Existing project/contact labels already contain a <span>; keep them compact. */
.pu-project-lead-form .pu-floating-field {
    margin: 0 !important;
}

.pu-project-lead-form .pu-floating-field > input,
.pu-project-lead-form .pu-floating-field > select {
    box-sizing: border-box;
}

/* Icon-based Ongoing / Completed hero cards. */
.lead-card .pu-floating-field,
.completed-lead-card .pu-floating-field {
    margin-bottom: 7px;
}

.lead-card .pu-floating-field > input,
.lead-card .pu-floating-field > select,
.completed-lead-card .pu-floating-field > input,
.completed-lead-card .pu-floating-field > select {
    box-sizing: border-box;
}

/* Their icons must stay above the floating label. */
.lead-card .pu-floating-field > i,
.completed-lead-card .pu-floating-field > i {
    z-index: 3;
}

/* Textareas: compact but still comfortable to type into. */
.pu-floating-field:has(> textarea) > .pu-floating-label {
    top: 15px;
    transform: none;
}

.pu-floating-field:has(> textarea) > textarea {
    padding-top: 14px;
    min-height: 70px;
}

/* Native date fields should keep their browser affordance. */
.pu-floating-field input[type="date"] {
    color: #333;
}

/* Keep hidden conditional fields truly hidden after compact-label enhancement. */
.pu-floating-field[hidden],
.primeurban-other-property-wrap[hidden] {
    display: none !important;
}

@media (max-width: 900px) {
    .lead-form {
        padding: 24px;
    }

    .lead-form h2 {
        font-size: 27px;
    }

    .lead-form > p {
        margin-bottom: 12px;
    }

    .lead-form .pu-floating-field,
    .enquiry-card .pu-floating-field {
        margin: 6px 0 !important;
    }
}

@media (max-width: 560px) {
    .lead-form {
        padding: 20px;
    }

    .lead-form h2 {
        font-size: 25px;
        line-height: 1.15;
    }

    .lead-form .pu-floating-field > input,
    .lead-form .pu-floating-field > select,
    .enquiry-card .pu-floating-field > input,
    .enquiry-card .pu-floating-field > select {
        min-height: 40px;
    }
}


/* Plain compact enquiry inputs keep their existing placeholder as the in-field label. */
.pu-compact-plain-field::placeholder {
    opacity: .82;
    transition: opacity .12s ease;
}

.pu-compact-plain-field:focus::placeholder {
    opacity: 0;
}

.enquiry-card > .pu-compact-plain-field,
.quick-form .quick-form-row > .pu-compact-plain-field,
.quick-form > .pu-compact-plain-field {
    margin-top: 0 !important;
}

/* =========================================================
   PRIME URBAN — STEP 22A.5 HOME HERO COMPACT FIELDS
   Home page only. UI/UX layer; no field names or submission
   behavior changed.
   ========================================================= */

.lead-form .pu-home-floating-field {
  position: relative;
  display: block;
  margin: 7px 0 !important;
  font-size: 0;
  color: transparent;
}

.lead-form .pu-home-floating-field > input,
.lead-form .pu-home-floating-field > select,
.lead-form .pu-home-floating-field > textarea {
  width: 100%;
  box-sizing: border-box;
  margin-top: 0 !important;
}

.lead-form .pu-home-floating-field > input,
.lead-form .pu-home-floating-field > select {
  min-height: 42px;
  padding: 11px 13px;
}

.lead-form .pu-home-floating-field > textarea {
  min-height: 70px;
  padding: 13px;
}

.lead-form .pu-home-floating-label {
  position: absolute;
  z-index: 2;
  left: 13px;
  top: 50%;
  transform: translateY(-50%);
  max-width: calc(100% - 34px);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  pointer-events: none;
  color: #747c6c;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  opacity: 1;
  transition: opacity .14s ease;
}

.lead-form .pu-home-floating-field > textarea + .pu-home-floating-label,
.lead-form .pu-home-floating-field:has(> textarea) > .pu-home-floating-label {
  top: 15px;
  transform: none;
}

/* Hide the in-field label while typing/focusing. */
.lead-form .pu-home-floating-field:focus-within > .pu-home-floating-label,
.lead-form .pu-home-floating-field:has(> input:not(:placeholder-shown)) > .pu-home-floating-label,
.lead-form .pu-home-floating-field:has(> select > option:checked:not([value=""])) > .pu-home-floating-label,
.lead-form .pu-home-floating-field:has(> textarea:not(:placeholder-shown)) > .pu-home-floating-label {
  opacity: 0;
}

/* Do not show a second native placeholder underneath our label. */
.lead-form .pu-home-floating-field > input::placeholder,
.lead-form .pu-home-floating-field > textarea::placeholder {
  color: transparent;
}

/* The native select needs no duplicate placeholder text. */
.lead-form .pu-home-floating-field > select > option:first-child {
  color: #747c6c;
}

.lead-form .pu-home-floating-field[hidden] {
  display: none !important;
}

@media (max-width: 900px) {
  .lead-form .pu-home-floating-field {
    margin: 6px 0 !important;
  }
}

@media (max-width: 560px) {
  .lead-form .pu-home-floating-field > input,
  .lead-form .pu-home-floating-field > select {
    min-height: 40px;
  }
}

/* Step 22A.5 — same compact treatment for Home bottom enquiry card. */
.enquiry-card .pu-home-floating-field {
  position: relative;
  display: block;
  margin: 6px 0 !important;
  font-size: 0;
  color: transparent;
}

.enquiry-card .pu-home-floating-field > input,
.enquiry-card .pu-home-floating-field > select,
.enquiry-card .pu-home-floating-field > textarea {
  width: 100%;
  box-sizing: border-box;
  margin: 0 !important;
}

.enquiry-card .pu-home-floating-field > input,
.enquiry-card .pu-home-floating-field > select {
  min-height: 42px;
  padding: 11px 13px;
}

.enquiry-card .pu-home-floating-label {
  position: absolute;
  z-index: 2;
  left: 13px;
  top: 50%;
  transform: translateY(-50%);
  max-width: calc(100% - 34px);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  pointer-events: none;
  color: #617b4c;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  opacity: 1;
  transition: opacity .14s ease;
}

.enquiry-card .pu-home-floating-field:focus-within > .pu-home-floating-label,
.enquiry-card .pu-home-floating-field:has(> input:not(:placeholder-shown)) > .pu-home-floating-label,
.enquiry-card .pu-home-floating-field:has(> select > option:checked:not([value=""])) > .pu-home-floating-label,
.enquiry-card .pu-home-floating-field:has(> textarea:not(:placeholder-shown)) > .pu-home-floating-label {
  opacity: 0;
}

.enquiry-card .pu-home-floating-field > input::placeholder,
.enquiry-card .pu-home-floating-field > textarea::placeholder {
  color: transparent;
}

.enquiry-card .pu-home-floating-field > textarea {
  min-height: 70px;
  padding: 13px;
}

.enquiry-card .pu-home-floating-field:has(> textarea) > .pu-home-floating-label {
  top: 15px;
  transform: none;
}

.enquiry-card .pu-home-floating-field[hidden] {
  display: none !important;
}
.destop-homeselect{top: 21px !IMPORTANT;}

.pu-home-map-embed{width: 100% !IMPORTANT;}