/*
Theme Name: Vajgani Realty
Theme URI: https://vajganirealty.com
Author: Vajgani Realty
Author URI: https://vajganirealty.com
Description: Premium, editable WordPress theme for Vajgani Builders / Vajgani Realty. Home banner, About, Projects (custom post type), Contact and Testimonial sections are all editable from the WordPress Customizer and admin — no code required.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: vajgani-realty
*/

:root{
  --green-950:#152219;
  --green-900:#1c2e24;
  --green-800:#28402f;
  --green-700:#33513c;
  --gold-300:#e3c894;
  --gold-400:#cba565;
  --gold-500:#af8748;
  --gold-600:#8f6c38;
  --ivory-50:#faf7f0;
  --ivory-100:#f2ece0;
  --ink-900:#20241f;
  --ink-600:#565f57;
  --line:#e0d8c6;
  --line-dark:rgba(227,200,148,0.25);
  --maxw:1240px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--ivory-50);
  color:var(--ink-900);
  font-family:'Jost', sans-serif;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,.serif{font-family:'Fraunces', serif;}
a{color:inherit; text-decoration:none;}
img{display:block; max-width:100%;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 48px;}
.eyebrow{
  display:flex; align-items:center; justify-content:center; gap:16px;
  font-size:12.5px; letter-spacing:0.32em; text-transform:uppercase;
  color:var(--gold-500); font-weight:500; margin-bottom:22px;
}
.eyebrow.left{justify-content:flex-start;}
.eyebrow::before,.eyebrow::after{content:""; height:1px; width:34px; background:currentColor; opacity:0.55;}
.eyebrow.left::after{display:none;}
.eyebrow.on-dark{color:var(--gold-300);}

/* ---------- HEADER (solid full-width bar, Voora-style) ---------- */
header.site-header{
  position:sticky; top:0; left:0; right:0; z-index:100; width:100%;
  background:var(--ivory-50); box-shadow:0 4px 18px rgba(21,34,25,0.08);
  transition:box-shadow .3s ease;
}
header.site-header.solid{ box-shadow:0 8px 24px rgba(21,34,25,0.14); }
header.site-header .wrap{
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  padding:14px 48px; max-width:1400px;
}
.brand{display:flex; align-items:center; gap:12px;}
.brand svg{width:40px; height:40px; flex-shrink:0;}
.brand img.custom-logo{max-height:50px; width:auto; display:block;}
.brand a.custom-logo-link{display:flex; align-items:center;}
.brand .word{line-height:1;}
.brand .word .name{
  font-family:'Fraunces', serif; font-weight:500; font-size:22px; letter-spacing:0.04em; color:var(--green-900);
}
.brand .word .tag{
  display:flex; align-items:center; gap:8px;
  font-size:9.5px; letter-spacing:0.3em; color:var(--gold-500); margin-top:4px;
}
.brand .word .tag::before,.brand .word .tag::after{content:""; width:14px; height:1px; background:var(--gold-500);}

nav.main-nav{ flex:1; display:flex; justify-content:center; }
nav.main-nav ul{display:flex; align-items:center; gap:34px; list-style:none; margin:0; padding:0;}
nav.main-nav li{position:relative;}
nav.main-nav > ul > li > a{
  font-size:13.5px; letter-spacing:0.06em; font-weight:600; text-transform:uppercase;
  color:var(--ink-900); position:relative; padding:8px 2px; display:flex; align-items:center; gap:6px;
}
nav.main-nav > ul > li > a:hover, nav.main-nav > ul > li.current-menu-item > a{ color:var(--gold-600); }
nav.main-nav li.menu-item-has-children > a::after{
  content:""; width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor;
  transform:rotate(45deg); margin-top:-4px;
}
/* dropdown submenu */
nav.main-nav ul.sub-menu{
  display:none; position:absolute; top:100%; left:50%; transform:translateX(-50%);
  background:var(--ivory-50); min-width:230px; padding:10px 0; margin-top:14px;
  border-radius:6px; box-shadow:0 20px 40px rgba(21,34,25,0.16); flex-direction:column; align-items:stretch; gap:0;
  z-index:20;
}
nav.main-nav li.menu-item-has-children:hover > ul.sub-menu{ display:flex; }
nav.main-nav ul.sub-menu li{ width:100%; }
nav.main-nav ul.sub-menu a{
  display:block; padding:11px 24px; font-size:13px; letter-spacing:0.02em; font-weight:400;
  text-transform:none; color:var(--ink-900); white-space:nowrap;
}
nav.main-nav ul.sub-menu a:hover{ background:var(--ivory-100); color:var(--gold-600); }
nav.main-nav ul.sub-menu .menu-item-has-children > a::after{ transform:rotate(-45deg); margin-top:0; }

.header-actions{ display:flex; align-items:center; gap:18px; }
.btn-enquire-pill{
  background:var(--green-900); color:var(--ivory-50); border:none; cursor:pointer;
  padding:13px 26px; border-radius:3px; font-family:'Jost',sans-serif;
  font-size:12.5px; letter-spacing:0.06em; text-transform:uppercase; font-weight:600;
  transition:background .3s ease;
}
.btn-enquire-pill:hover{ background:var(--green-800); }

.burger{display:flex; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; padding:6px; z-index:120; position:relative;}
.burger span{width:24px; height:2px; background:var(--green-900); display:block; transition:transform .3s ease, opacity .3s ease;}
.burger.active span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.burger.active span:nth-child(2){ opacity:0; }
.burger.active span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
.mobile-nav-overlay{ position:fixed; inset:0; background:rgba(21,34,25,0.5); z-index:99; opacity:0; visibility:hidden; transition:opacity .3s ease; }
.mobile-nav-overlay.open{ opacity:1; visibility:visible; }

/* ---------- ABOUT STAT CARDS (4 outlined cards inside About Us) ---------- */
.stat-cards{
  display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:56px; max-width:1100px;
}
.stat-card-box{
  background:var(--ivory-50); border:1.5px solid var(--gold-400); border-radius:12px; padding:34px 16px; text-align:center;
}
.stat-card-box .num{ font-family:'Fraunces',serif; font-weight:700; font-size:46px; color:var(--gold-500); line-height:1; }
.stat-card-box .lbl{ font-size:12px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-900); margin-top:12px; font-weight:700; }
@media (max-width:720px){
  .stat-cards{ grid-template-columns:1fr 1fr; }
}
/* ---------- PROJECT TABS ---------- */
.proj-tabs{ display:flex; justify-content:center; gap:10px; flex-wrap:wrap; margin-bottom:44px; }
.proj-tab{
  padding:12px 26px; border-radius:999px; border:1px solid var(--line); background:var(--ivory-50);
  font-size:12px; letter-spacing:0.1em; text-transform:uppercase; font-weight:500; color:var(--ink-600);
  cursor:pointer; transition:all .3s ease;
}
.proj-tab.active, .proj-tab:hover{ background:var(--green-900); border-color:var(--green-900); color:var(--ivory-50); }
.proj-heading{
  text-align:center; font-size:clamp(28px,3.6vw,42px); font-weight:400; color:var(--green-900);
  margin:0 0 50px; letter-spacing:0.02em;
}

/* ---------- FAQ ACCORDION ---------- */
.faq-list{ max-width:820px; margin:0 auto; }
.faq-item{ border-bottom:1px solid var(--line); }
.faq-q{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:20px;
  background:none; border:none; text-align:left; cursor:pointer; padding:24px 4px;
  font-family:'Fraunces',serif; font-size:18px; color:var(--green-900);
}
.faq-icon{ font-size:22px; color:var(--gold-500); flex-shrink:0; transition:transform .3s ease; }
.faq-item.open .faq-icon{ transform:rotate(45deg); }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .4s ease; }
.faq-item.open .faq-a{ max-height:400px; }
.faq-a-inner{ padding:0 4px 26px; color:var(--ink-600); font-weight:300; line-height:1.8; font-size:15.5px; }

/* ---------- FLOATING CALL / ENQUIRE BUTTONS ---------- */
.floating-actions{
  position:fixed; right:24px; bottom:24px; z-index:150; display:flex; flex-direction:column; gap:12px;
}
.fab{
  display:flex; align-items:center; gap:10px; padding:14px 22px; border-radius:999px; border:none;
  font-family:'Jost',sans-serif; font-size:12.5px; letter-spacing:0.1em; text-transform:uppercase; font-weight:500;
  cursor:pointer; box-shadow:0 14px 30px rgba(21,34,25,0.25); transition:transform .25s ease;
}
.fab:hover{ transform:translateY(-3px); }
.fab-call{ background:var(--green-900); color:var(--ivory-50); }
.fab-enquire{ background:var(--gold-500); color:var(--green-950); }
.fab-icon{ font-size:16px; }
@media (max-width:600px){
  .floating-actions{ right:16px; bottom:16px; }
  .fab-text{ display:none; }
  .fab{ padding:16px; border-radius:50%; }
}

/* ---------- ENQUIRY MODAL ---------- */
.enquiry-modal{ position:fixed; inset:0; z-index:200; display:none; align-items:center; justify-content:center; padding:20px; }
.enquiry-modal.open{ display:flex; }
.enquiry-modal-overlay{ position:absolute; inset:0; background:rgba(21,34,25,0.75); backdrop-filter:blur(4px); }
.enquiry-modal-panel{ position:relative; z-index:2; max-width:460px; width:100%; max-height:90vh; overflow-y:auto; }
.enquiry-modal-panel .form-card{ margin:0; }
.enquiry-modal-close{
  position:absolute; top:-14px; right:-14px; width:36px; height:36px; border-radius:50%;
  background:var(--gold-500); color:var(--green-950); border:none; font-size:20px; cursor:pointer; z-index:3;
}

/* ---------- BANNER / HERO (Voora-style full-bleed slider) ---------- */
.hero{
  position:relative; height:min(78vh, 720px); min-height:460px; overflow:hidden;
  background:radial-gradient(ellipse at 20% 15%, #223829 0%, var(--green-900) 45%, var(--green-950) 100%);
}
.hero-slide{
  position:absolute; inset:0; background-size:cover; background-position:center;
  opacity:0; visibility:hidden; transition:opacity 1.2s ease; z-index:1;
}
.hero-slide.active{ opacity:1; visibility:visible; z-index:2; }
.hero-slide-default{
  display:flex; align-items:center;
  background:radial-gradient(ellipse at 20% 15%, #223829 0%, var(--green-900) 45%, var(--green-950) 100%);
}
.hero-slide-default .hero-overlay{ position:relative; padding:0 60px; }

.hero-overlay{
  position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end;
  padding:0 0 70px; z-index:2;
}
.hero-overlay::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(0deg, rgba(21,34,25,0.55) 0%, rgba(21,34,25,0.08) 55%, transparent 80%);
}
.hero-overlay-main{ max-width:900px; padding:0 60px; }
.hero-headline{
  font-family:'Fraunces', serif; font-style:italic; font-weight:500;
  font-size:clamp(38px,6vw,84px); line-height:0.95; margin:0 0 10px;
  color:var(--green-900); text-shadow:0 2px 0 rgba(250,247,240,0.6), 0 12px 30px rgba(21,34,25,0.25);
  background:linear-gradient(180deg, var(--green-800) 0%, var(--gold-500) 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.hero-slide-default .hero-headline, .hero-slide:not([style]) .hero-headline{
  -webkit-text-fill-color:var(--ivory-50); background:none; text-shadow:0 4px 20px rgba(0,0,0,0.35);
}
.hero-headline-sub{
  font-size:14px; letter-spacing:0.08em; color:var(--ink-900); font-weight:600; text-transform:uppercase;
  background:rgba(250,247,240,0.85); display:inline-block; padding:6px 14px; border-radius:2px;
}
.hero-badges{
  position:absolute; right:60px; bottom:70px; display:flex; align-items:center; gap:18px; flex-wrap:wrap; z-index:2;
  max-width:520px;
}
.hero-badge{
  background:rgba(250,247,240,0.88); color:var(--green-900); padding:14px 22px; border-radius:2px;
  font-size:13px; letter-spacing:0.04em; font-weight:600; text-align:center; line-height:1.5;
  box-shadow:0 10px 24px rgba(21,34,25,0.12);
}

.hero-arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:10;
  width:44px; height:44px; border-radius:50%; border:none;
  background:rgba(21,34,25,0.28); color:var(--gold-300); font-size:26px; line-height:1;
  cursor:pointer; transition:all .3s ease; display:flex; align-items:center; justify-content:center;
}
.hero-arrow:hover{ background:var(--gold-500); color:var(--green-950); }
.hero-arrow.prev{ left:20px; } .hero-arrow.next{ right:20px; }
.hero-dots{ position:absolute; bottom:22px; left:50%; transform:translateX(-50%); z-index:10; display:flex; gap:10px; }
.hero-dot{ width:8px; height:8px; border-radius:50%; border:1px solid var(--gold-300); background:transparent; cursor:pointer; padding:0; transition:all .3s ease; }
.hero-dot.active{ background:var(--gold-400); width:22px; border-radius:5px; }

.hero-ctas{display:flex; gap:18px; flex-wrap:wrap;}
.btn{
  display:inline-flex; align-items:center; gap:10px; padding:16px 32px; border-radius:2px;
  font-size:12.5px; letter-spacing:0.16em; text-transform:uppercase; font-weight:500; transition:all .3s ease;
  border:1px solid transparent; cursor:pointer;
}
.btn-gold{background:var(--gold-500); color:var(--green-950);}
.btn-gold:hover{background:var(--gold-400); transform:translateY(-2px); box-shadow:0 12px 24px rgba(175,135,72,0.3);}
.btn-ghost{border-color:rgba(227,200,148,0.45); color:var(--ivory-50);}
.btn-ghost:hover{border-color:var(--gold-300); background:rgba(227,200,148,0.08);}
.btn-dark{border-color:var(--green-800); color:var(--green-900);}
.btn-dark:hover{background:var(--green-900); color:var(--ivory-50);}

@media (max-width:860px){
  .hero-overlay-main, .hero-slide-default .hero-overlay{ padding:0 24px; }
  .hero-badges{ position:static; margin-top:20px; padding:0 24px; }
  .hero-overlay{ padding-bottom:40px; }
  .hero-arrow{ display:none; }
}

.blueprint{position:relative;}
.blueprint svg{width:100%; height:auto; overflow:visible;}
.blueprint .draw{stroke-dasharray:1400; stroke-dashoffset:1400; animation:draw 2.6s cubic-bezier(.4,0,.2,1) forwards;}
.blueprint .draw2{animation-delay:.35s;}
.blueprint .draw3{animation-delay:.7s;}
@keyframes draw{to{stroke-dashoffset:0;}}
.blueprint .tagbox{opacity:0; animation:fadeUp .8s ease forwards 2.3s;}
@keyframes fadeUp{from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:translateY(0);}}

.scroll-cue{position:absolute; bottom:34px; left:50%; transform:translateX(-50%); z-index:2; display:flex; flex-direction:column; align-items:center; gap:10px; color:var(--gold-300); font-size:10.5px; letter-spacing:0.28em;}
.scroll-cue .line{width:1px; height:38px; background:linear-gradient(var(--gold-300), transparent); animation:pulse 2s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:.3;}50%{opacity:1;}}

/* ---------- reveal ---------- */
.reveal{opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s ease;}
.reveal.in{opacity:1; transform:translateY(0);}

/* ---------- ABOUT ---------- */
section{padding:100px 0;}
.about .wrap{ max-width:1200px; }
.about .sect-head{ max-width:none; margin-bottom:26px; }
.about-heading{
  font-size:clamp(26px,3.4vw,42px); font-weight:400; line-height:1.25; margin:0; text-align:center;
}
.about-heading .gold{ color:var(--gold-600); }
.about-heading .dark{ color:var(--green-950); font-weight:500; }
.about-copy{ max-width:none; text-align:left; }
.about-copy p{color:var(--ink-900); font-size:15.5px; line-height:1.9; font-weight:400; margin:0 0 20px; opacity:0.85;}

/* ---------- PROJECTS ---------- */
.projects{background:#e9e7e2;}
.sect-head{text-align:center; max-width:640px; margin:0 auto 40px;}
.sect-head h2{font-size:clamp(30px,3.6vw,46px); font-weight:400; color:var(--green-900); margin:0 0 18px; line-height:1.15;}
.sect-head p{color:var(--ink-600); font-weight:300; font-size:16px; line-height:1.7;}
.proj-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:32px;}
.proj-card{background:var(--ivory-50); border-radius:12px; overflow:hidden; position:relative; box-shadow:0 10px 30px rgba(21,34,25,0.08); transition:transform .4s ease, box-shadow .4s ease;}
.proj-card:hover{transform:translateY(-8px); box-shadow:0 30px 50px rgba(28,46,36,0.14);}

.proj-media{position:relative; height:260px; overflow:hidden; background:var(--green-900);}
.proj-media img{width:100%; height:100%; object-fit:cover; transition:transform .6s ease;}
.proj-card:hover .proj-media img{transform:scale(1.06);}
.proj-media-overlay{
  position:absolute; left:0; right:0; bottom:0; padding:34px 18px 14px;
  background:linear-gradient(0deg, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.35) 55%, transparent 100%);
}
.proj-media-overlay h3{font-size:21px; font-weight:700; color:#fff; margin:0 0 4px;}
.proj-media-overlay .loc{font-size:13px; color:#e9e7e2; display:flex; align-items:center; gap:6px;}
.proj-media-overlay .loc .ic{width:14px; height:14px; flex-shrink:0;}
.proj-media-overlay .loc .ic svg{width:100%; height:100%;}

/* Corner ribbon */
.proj-ribbon{
  position:absolute; top:16px; right:-36px; z-index:5; width:150px; text-align:center;
  transform:rotate(40deg); padding:6px 0; font-size:11px; font-weight:700; letter-spacing:0.04em;
  text-transform:uppercase; color:#1c1c1c; box-shadow:0 4px 10px rgba(0,0,0,0.2);
}
.ribbon-launch{ background:linear-gradient(180deg,#a9d65a,#7fae2e); color:#1f3a0a; }
.ribbon-handover{ background:linear-gradient(180deg,#ffe28a,#e6b422); color:#3a2c02; }
.ribbon-ready{ background:linear-gradient(180deg,#7fd6c0,#2e9e85); color:#062e26; }
.ribbon-soldout{ background:linear-gradient(180deg,#d98a8a,#8a3b3b); color:#fff; }

.proj-body{padding:20px 22px 24px;}
.proj-detail-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px 12px; margin-bottom:14px;}
.proj-detail{display:flex; align-items:flex-start; gap:10px;}
.proj-detail .ic, .proj-cert .ic{width:20px; height:20px; flex-shrink:0; color:var(--gold-600); margin-top:1px;}
.proj-detail .ic svg, .proj-cert .ic svg{width:100%; height:100%;}
.proj-detail .dl, .proj-cert .dl{font-size:11px; color:var(--ink-600); text-transform:uppercase; letter-spacing:0.04em;}
.proj-detail .dv{font-size:13.5px; font-weight:700; color:var(--ink-900); margin-top:1px;}
.proj-cert{display:flex; align-items:flex-start; gap:10px; padding-top:14px; border-top:1px solid var(--line); margin-bottom:16px;}
.proj-cert .dv{font-size:12.5px; font-weight:600; color:var(--ink-900); margin-top:1px;}
.proj-cert-done .ic{color:#2e9e50;}
.proj-cert-done .dl{color:#2e9e50; font-weight:700; text-transform:none; letter-spacing:0; font-size:13px;}

.proj-card-actions{display:flex; gap:10px; flex-wrap:wrap;}
.btn-sm{padding:11px 16px; font-size:11px; letter-spacing:0.06em; flex:1; justify-content:center; text-align:center;}

.projects-foot{text-align:center; margin-top:56px;}
.projects-foot .page-numbers{
  display:inline-flex; align-items:center; justify-content:center; min-width:42px; height:42px; margin:0 4px;
  padding:0 12px; border:1px solid var(--line); border-radius:2px; color:var(--green-900); font-size:14px;
}
.projects-foot .page-numbers.current{ background:var(--green-900); color:var(--ivory-50); border-color:var(--green-900); }
.projects-foot .page-numbers:hover{ background:var(--ivory-100); }
.projects-foot .nav-links{ display:flex; justify-content:center; flex-wrap:wrap; gap:6px; }

/* ---------- WHY (kept in case re-enabled on another page) ---------- */
.why{background:var(--green-950); color:var(--ivory-50); position:relative;}
.why-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:0;}
.why-col{padding:0 30px; border-right:1px solid var(--line-dark);}
.why-col:last-child{border-right:none;}
.why-col .num{font-family:'Fraunces',serif; font-style:italic; font-size:15px; color:var(--gold-400); margin-bottom:18px;}
.why-col h3{font-size:19px; font-weight:500; margin:0 0 12px; color:var(--ivory-50);}
.why-col p{font-size:14.5px; color:#b9c2b8; line-height:1.75; font-weight:300; margin:0;}

/* ---------- HAPPY CUSTOMERS (testimonials, 2-col grid) ---------- */
.testi{ background:var(--ivory-50); }
.testi-grid{ display:grid; grid-template-columns:1fr 1fr; gap:32px; max-width:1000px; margin:0 auto; }
.testi-card{
  background:#f2f0eb; border-radius:10px; padding:38px 36px; position:relative;
}
.testi-photo{ width:52px; height:52px; border-radius:50%; overflow:hidden; margin-bottom:16px; }
.testi-photo img{ width:100%; height:100%; object-fit:cover; }
.testi-card .quote-mark{font-family:'Fraunces',serif; font-size:48px; color:var(--gold-400); line-height:1; margin-bottom:4px;}
.testi-card blockquote{
  font-family:'Jost',sans-serif; font-style:normal; font-weight:300; font-size:15.5px;
  color:var(--ink-900); margin:0 0 20px; line-height:1.8;
}
.testi-card .who{font-family:'Fraunces',serif; font-size:16px; color:var(--green-900); font-weight:600;}
.testi-card .who span{display:block; font-family:'Jost',sans-serif; font-size:12px; font-weight:400; color:var(--ink-600); margin-top:3px;}
@media (max-width:720px){ .testi-grid{ grid-template-columns:1fr; } }

/* ---------- CTA BANNER (legacy, unused on homepage now) ---------- */
.cta-band{
  background:linear-gradient(120deg, var(--green-900), var(--green-800));
  color:var(--ivory-50); text-align:center; position:relative; overflow:hidden;
  padding:100px 0;
}
.cta-band::before{
  content:""; position:absolute; inset:0; opacity:0.06;
  background-image:repeating-linear-gradient(90deg, var(--gold-300) 0 1px, transparent 1px 64px);
}
.cta-band h2{font-size:clamp(28px,3.6vw,42px); font-weight:400; margin:0 0 32px; position:relative;}
.cta-band .btn-row{position:relative; display:flex; gap:18px; justify-content:center; flex-wrap:wrap;}

/* ---------- CONTACT US PAGE (Pages > Contact Us, split info + form layout) ---------- */
.contact{ padding:90px 0; }
.contact .wrap{display:grid; grid-template-columns:0.8fr 1fr; gap:60px;}
.contact-info h2{font-size:clamp(26px,3vw,36px); font-weight:400; color:var(--green-900); margin:0 0 20px;}
.contact-info > p{color:var(--ink-600); font-weight:300; line-height:1.8; margin-bottom:30px; max-width:400px;}
.info-row{display:flex; gap:18px; padding:18px 0; border-top:1px solid var(--line);}
.info-row:last-child{border-bottom:1px solid var(--line);}
.info-row .ic{width:38px; height:38px; border:1px solid var(--gold-400); border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; color:var(--gold-500);}
.info-row .lbl{font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--ink-600); margin-bottom:4px;}
.info-row .val{font-size:15px; color:var(--green-900); font-weight:500; word-break:break-word;}
@media (max-width:860px){
  .contact .wrap{ grid-template-columns:1fr; gap:40px; }
}

/* ---------- FIND YOUR PERFECT PROPERTY (homepage CTA + form, image background) ---------- */
.find-property{
  position:relative; padding:90px 0; background-size:cover; background-position:center;
  background-color:var(--green-800);
}
.find-property::before{
  content:""; position:absolute; inset:0; background:rgba(21,34,25,0.35);
}
.find-property-card{
  position:relative; z-index:2; max-width:640px; margin:0 auto; background:var(--ivory-50);
  border:2px solid var(--green-800); border-radius:16px; padding:48px 50px;
}
.find-property-card h2{
  text-align:center; font-size:clamp(24px,3vw,32px); font-weight:400; color:var(--green-900);
  margin:0 0 34px; letter-spacing:0.02em;
}
.find-property-card .form-card{ background:none; padding:0; }
.find-property-card .form-card::before{ display:none; }
.find-property-card .form-card h3, .find-property-card .form-card .sub{ display:none; }
.find-property-card .field label{ color:var(--ink-600); text-transform:none; letter-spacing:0; font-size:14px; font-weight:500; }
.find-property-card .field input, .find-property-card .field textarea{
  color:var(--ink-900); border-bottom:1px solid var(--line);
}
.find-property-card .field ::placeholder{ color:#a3a89c; }
.find-property-card .btn-gold{ background:var(--green-900); color:var(--ivory-50); }
.find-property-card .btn-gold:hover{ background:var(--green-800); }
@media (max-width:600px){ .find-property-card{ padding:34px 24px; } }
.form-card{background:var(--green-950); padding:52px; border-radius:2px; position:relative;}
.form-card::before{content:""; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg, var(--gold-500), var(--gold-300));}
.form-card h3{color:var(--ivory-50); font-size:24px; font-weight:400; margin:0 0 8px;}
.form-card .sub{color:#b9c2b8; font-size:14px; margin-bottom:32px; font-weight:300;}
.field{margin-bottom:22px;}
.field label{display:block; font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-300); margin-bottom:9px;}
.field input, .field textarea{
  width:100%; background:transparent; border:none; border-bottom:1px solid rgba(227,200,148,0.3);
  color:var(--ivory-50); font-family:'Jost',sans-serif; font-size:15px; padding:8px 2px; outline:none;
  transition:border-color .3s ease;
}
.field input:focus, .field textarea:focus{border-color:var(--gold-400);}
.field textarea{resize:none; height:70px;}
.field ::placeholder{color:#6f796f;}
.form-card .btn-gold{width:100%; justify-content:center; margin-top:8px; border:none;}
.form-notice{padding:14px 18px; margin-bottom:22px; font-size:13.5px; border-radius:2px;}
.form-notice.success{background:rgba(227,200,148,0.15); color:var(--gold-300); border:1px solid var(--gold-500);}
.form-notice.error{background:rgba(200,90,90,0.15); color:#e8a3a3; border:1px solid #b95c5c;}

/* ---------- FOOTER ---------- */
footer.site-footer{background:var(--green-950); color:#b9c2b8; padding:70px 0 30px; border-top:1px solid var(--line-dark);}
.foot-top{display:grid; grid-template-columns:1.1fr 0.9fr 1.1fr 0.9fr 0.9fr; gap:36px; padding-bottom:50px; border-bottom:1px solid var(--line-dark);}
.foot-col h4{color:var(--gold-300); font-size:12px; letter-spacing:0.16em; text-transform:uppercase; margin:0 0 14px; font-weight:600;}
.foot-col a, .foot-col span, .foot-col p{display:block; font-size:14px; margin-bottom:12px; color:#b9c2b8; transition:color .3s ease; font-weight:300;}
.foot-col a:hover{color:var(--gold-300);}
.foot-contact h4{margin-top:22px;}
.foot-contact h4:first-child{margin-top:0;}
.foot-brand-col{ text-align:center; }
.foot-logo{ justify-content:center; margin-bottom:18px; }
footer .brand .word .name{color:var(--ivory-50) !important;}
.follow-us-h4{ text-align:center; }
.foot-social{ display:flex; flex-direction:column; align-items:center; gap:4px; }
.foot-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:26px; font-size:12.5px; color:#7d867c; flex-wrap:wrap; gap:12px;}

/* ---------- STANDARD PAGE CONTENT (About Us / Contact Us pages edited in WP editor) ---------- */
.page-hero{
  background:var(--green-950); color:var(--ivory-50); padding:190px 0 90px; text-align:center;
}
.page-hero h1{font-size:clamp(34px,4.4vw,52px); font-weight:400; margin:0;}
.page-content-wrap{max-width:800px; margin:0 auto; padding:100px 48px;}
.page-content-wrap .entry-content h2{color:var(--green-900); font-weight:400; font-size:32px; margin-top:48px;}
.page-content-wrap .entry-content h3{color:var(--green-900); font-weight:500; font-size:23px;}
.page-content-wrap .entry-content p{color:var(--ink-600); line-height:1.85; font-size:16.5px; font-weight:300;}
.page-content-wrap .entry-content img{border-radius:2px; margin:20px 0;}
.page-content-wrap .entry-content a{color:var(--gold-500); text-decoration:underline;}
.page-content-wrap .entry-content ul, .page-content-wrap .entry-content ol{color:var(--ink-600); font-weight:300; line-height:1.9;}
.page-content-wrap .entry-content blockquote{border-left:3px solid var(--gold-500); padding-left:22px; font-style:italic; color:var(--green-900);}
.single-project-actions{margin-top:40px; display:flex; gap:14px; flex-wrap:wrap;}

@media (max-width:960px){
  .about .wrap, .contact .wrap{grid-template-columns:1fr; gap:50px;}
  .hero .wrap{grid-template-columns:1fr; padding-top:130px;}
  .blueprint{display:none;}
  .proj-grid{grid-template-columns:1fr 1fr;}
  .why-grid{grid-template-columns:1fr 1fr;}
  .why-col{border-right:none; border-bottom:1px solid var(--line-dark); padding:30px;}
  .foot-top{grid-template-columns:1fr 1fr;}
}
@media (max-width:860px){
  .wrap{padding:0 24px;}
  header.site-header .wrap{padding:12px 20px;}
  nav.main-nav{ position:static; flex:none; }
  nav.main-nav ul{
    position:fixed; top:0; right:0; height:100vh; width:82%; max-width:340px; background:var(--green-950);
    flex-direction:column; justify-content:flex-start; align-items:flex-start; padding:100px 32px 40px; gap:22px;
    transform:translateX(100%); transition:transform .4s ease; z-index:110; overflow-y:auto;
  }
  nav.main-nav ul.open{transform:translateX(0);}
  nav.main-nav li{ width:100%; }
  nav.main-nav > ul > li > a{color:var(--ivory-50) !important; width:100%; justify-content:space-between;}
  nav.main-nav ul.sub-menu{
    position:static; transform:none; box-shadow:none; background:none; margin:8px 0 0 12px; padding:0;
    display:none; min-width:0; border-left:1px solid var(--line-dark); padding-left:16px;
  }
  nav.main-nav li.menu-item-has-children.mobile-open > ul.sub-menu{ display:flex; }
  nav.main-nav ul.sub-menu a{ color:var(--ivory-50) !important; padding:8px 0; }
  .mobile-nav-overlay{ display:block; }
  .header-actions{ gap:10px; }
  .btn-enquire-pill{ padding:11px 18px; font-size:11.5px; }
  section{padding:80px 0;}
  .proj-grid{grid-template-columns:1fr;}
  .why-grid{grid-template-columns:1fr;}
  .stat-row{grid-template-columns:1fr;}
  .stat-row .stat{border-right:none; border-bottom:1px solid var(--line); padding-bottom:20px;}
  .foot-top{grid-template-columns:1fr;}
  .about-media .stat-card{position:static; margin-top:-6px; display:inline-block;}
  .page-hero{ padding:130px 0 60px; }
  .page-content-wrap{ padding:70px 24px; }
}

/* ---------- SMALL PHONE REFINEMENTS ---------- */
@media (max-width:480px){
  .page-content-wrap{ padding:50px 18px; }
  .single-project-actions{ flex-direction:column; }
  .single-project-actions .btn{ text-align:center; justify-content:center; width:100%; }
  .wrap{padding:0 18px;}
  header.site-header .wrap{padding:10px 16px;}
  .header-actions{ gap:6px; }
  .btn-enquire-pill{ padding:10px 14px; font-size:10.5px; letter-spacing:0.03em; }
  .brand .word .name{ font-size:17px; }
  .brand img.custom-logo{ max-height:38px; }

  .page-hero{ padding:120px 0 50px; }

  .stat-cards{ gap:14px; }
  .stat-card-box{ padding:22px 10px; }
  .stat-card-box .num{ font-size:34px; }
  .stat-card-box .lbl{ font-size:10.5px; }
  .about-heading .gold, .about-heading .dark{ display:block; }
  .about-heading .gold{ margin-bottom:2px; }

  .proj-tab{ padding:10px 18px; font-size:11px; }
  .proj-heading{ margin-bottom:34px; }
  .proj-detail-grid{ gap:12px 8px; }
  .proj-detail .dv{ font-size:12.5px; }
  .proj-card-actions{ flex-direction:column; }
  .proj-media-overlay h3{ font-size:18px; }
  .proj-ribbon{ font-size:10px; width:130px; top:12px; right:-32px; }

  .testi-card{ padding:28px 22px; }
  .testi-card .quote-mark{ font-size:38px; }
  .testi-card blockquote{ font-size:14.5px; }

  .hero-badge{ padding:11px 16px; font-size:12px; }
  .find-property-card{ padding:28px 18px; border-radius:12px; }

  .form-card{ padding:34px 22px; }
}
