:root{
--bg:#f7f5ef;
--surface:#ffffff;
--surface-soft:#f1efe8;
--ink:#1c2a23;
--muted:#56635c;
--accent:#1f7a4a;
--accent-strong:#155d39;
--accent-soft:#dcecdf;
--line:#d8dfd9;
--shadow:0 18px 50px rgba(20,30,26,0.12);
}

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{
font-family:"Manrope",sans-serif;
background:
radial-gradient(circle at 10% 10%,#e8f0e6 0,#f7f5ef 40%),
radial-gradient(circle at 90% 0,#efe7d7 0,#f7f5ef 35%);
color:var(--ink);
line-height:1.65;
overflow-x:hidden;
}

body.modal-open{
overflow:hidden;
}

img{
max-width:100%;
height:auto;
}

h1,h2,h3,h4{
font-family:"Cormorant Garamond",serif;
line-height:1.2;
}

.navbar{
position:sticky;
top:0;
z-index:900;
display:flex;
justify-content:space-between;
align-items:center;
gap:24px;
padding:14px 5vw;
background:rgba(247,245,239,0.85);
backdrop-filter:blur(10px);
border-bottom:1px solid var(--line);
}

.logo{
display:flex;
align-items:center;
gap:10px;
font-family:"Cormorant Garamond",serif;
font-size:1.6rem;
font-weight:700;
color:#163525;
letter-spacing:.4px;
}

.logo-img{
width:auto;
height:38px;
object-fit:contain;
display:block;
}

.menu{
display:flex;
align-items:center;
gap:12px;
flex-wrap:wrap;
justify-content:flex-end;
}

.menu-toggle{
display:none;
background:var(--ink);
color:#fff;
border:none;
width:42px;
height:42px;
border-radius:999px;
cursor:pointer;
align-items:center;
justify-content:center;
gap:4px;
flex-direction:column;
transition:background .2s ease;
}

.menu-toggle span{
display:block;
width:18px;
height:2px;
background:#fff;
border-radius:2px;
transition:transform .25s ease,opacity .25s ease;
}

.menu-toggle.active span:nth-child(1){
transform:translateY(6px) rotate(45deg);
}

.menu-toggle.active span:nth-child(2){
opacity:0;
}

.menu-toggle.active span:nth-child(3){
transform:translateY(-6px) rotate(-45deg);
}

.menu a{
color:var(--ink);
text-decoration:none;
font-size:.92rem;
font-weight:600;
padding:8px 10px;
border-radius:999px;
transition:background .2s ease,color .2s ease;
}

.menu a:hover{
background:var(--accent-soft);
color:var(--accent-strong);
}

.menu button{
background:var(--accent);
border:none;
padding:9px 16px;
color:#fff;
border-radius:999px;
font-weight:600;
cursor:pointer;
transition:background .2s ease,transform .2s ease;
}

.menu button:hover{
background:var(--accent-strong);
transform:translateY(-1px);
}

section{
padding:92px 5vw 28px;
text-align:center;
}

section > h2{
font-size:clamp(2.1rem,4vw,3rem);
margin-bottom:22px;
color:#112519;
}

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

.hero{
min-height:auto;
text-align:center;
position:relative;
display:block;
}

.hero:before{
content:none;
}

.hero-media{
position:relative;
max-width:1120px;
margin:0 auto;
min-height:430px;
border-radius:26px;
overflow:hidden;
display:flex;
align-items:flex-end;
justify-content:center;
padding:26px;
background:url("../../Images/bhoomi-promoters.webp");
background-size:cover;
background-position:center;
background-repeat:no-repeat;
box-shadow:var(--shadow);
}

.hero-details{
width:min(1120px,100%);
margin:18px auto 0;
position:relative;
z-index:2;
text-align:center;
padding:28px 24px;
}

.card.hero-details,
.hero-details .lead{
text-align:center;
}

.eyebrow{
font-size:.85rem;
text-transform:uppercase;
letter-spacing:.15em;
font-weight:700;
color:var(--accent-strong);
margin-bottom:14px;
text-align:center;
display:block;
width:100%;
}

.hero h1{
font-size:clamp(2.2rem,5vw,4.1rem);
margin-bottom:12px;
color:#112519;
}

.hero h1 span{
display:block;
text-align:center;
}

.lead{
max-width:700px;
font-size:1.05rem;
color:var(--muted);
margin:0 auto;
}

.hero-actions{
display:flex;
flex-wrap:wrap;
gap:12px;
margin-top:24px;
justify-content:flex-start;
width:100%;
}

.hero-media .hero-actions{
position:absolute;
right:18px;
bottom:18px;
width:auto;
justify-content:flex-start;
align-items:flex-start;
z-index:2;
}

.primary,.ghost{
display:inline-flex;
align-items:center;
justify-content:center;
text-decoration:none;
border-radius:999px;
font-size:1rem;
font-weight:700;
padding:12px 22px;
}

.primary{
background:#fff;
color:#13462d;
}

.ghost{
border:1px solid rgba(255,255,255,.45);
color:#fff;
}

.hero-stats{
margin-top:24px;
display:flex;
flex-wrap:wrap;
gap:10px;
justify-content:center;
}

.stat-chip{
display:inline-block;
background:var(--accent-soft);
border:1px solid #bcd5c2;
padding:8px 13px;
border-radius:999px;
font-size:.85rem;
color:#174b30;
}

.cards{
margin-top:24px;
display:grid;
grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
gap:16px;
max-width:1120px;
margin-left:auto;
margin-right:auto;
}

.card{
background:var(--surface);
padding:20px 18px;
border-radius:16px;
border:1px solid var(--line);
box-shadow:0 8px 20px rgba(17,37,25,0.06);
text-align:left;
position:relative;
overflow:hidden;
transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
animation:cardFadeIn .5s ease both;
}

.card:before{
content:"";
position:absolute;
inset:0;
background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,0.6) 45%,transparent 90%);
transform:translateX(-140%);
transition:transform .65s ease;
pointer-events:none;
}

.card:hover{
transform:translateY(-6px);
border-color:#b9d2bf;
box-shadow:0 16px 32px rgba(17,37,25,0.12);
background:#eef7f0;
}

.card:hover:before{
transform:translateX(140%);
}

.card.is-visible{
background:#f2f8f3;
border-color:#c2d9c7;
}

.reveal{
opacity:0;
transform:translateY(20px);
transition:opacity .55s ease, transform .55s ease;
will-change:opacity, transform;
}

.reveal.in-view{
opacity:1;
transform:translateY(0);
}

.card h3{
font-size:1.55rem;
margin-bottom:8px;
color:#12271b;
}

.card h4{
margin:8px 0 10px;
color:var(--accent-strong);
font-size:1.05rem;
font-family:"Manrope",sans-serif;
}

.card p{
margin-bottom:7px;
}

.card p:last-child{
margin-bottom:0;
}

.card a{
color:var(--accent-strong);
text-decoration:none;
font-weight:600;
}

.contact-actions{
display:flex;
gap:8px;
margin-top:8px;
flex-wrap:wrap;
}

.contact-btn{
display:inline-flex;
align-items:center;
justify-content:center;
padding:7px 12px;
font-size:.78rem;
font-weight:700;
border-radius:999px;
text-decoration:none;
background:var(--accent-soft);
border:1px solid #bcd5c2;
color:#174b30 !important;
}

.contact-btn.whatsapp{
background:#25d366;
border-color:#25d366;
color:#fff !important;
}

.project-gallery{
display:flex;
gap:10px;
margin:12px 0 14px;
overflow-x:auto;
scroll-snap-type:x mandatory;
scroll-behavior:smooth;
padding-bottom:6px;
scrollbar-width:none;
-ms-overflow-style:none;
cursor:grab;
user-select:none;
touch-action:pan-y;
overscroll-behavior-x:contain;
}

.project-gallery.is-dragging{
cursor:grabbing;
scroll-snap-type:none;
scroll-behavior:auto;
}

.project-gallery img{
flex:0 0 100%;
height:180px;
width:auto;
object-fit:cover;
border-radius:12px;
border:1px solid var(--line);
scroll-snap-align:start;
background:var(--surface-soft);
cursor:grab;
user-select:none;
-webkit-user-drag:none;
}

.project-gallery.is-dragging img{
cursor:grabbing;
}

.project-gallery::-webkit-scrollbar{
display:none;
}

.project-gallery-empty{
display:flex;
align-items:center;
justify-content:center;
min-height:120px;
background:var(--surface-soft);
border:1px dashed #b5c3b7;
border-radius:12px;
}

.project-gallery-empty p{
margin:0;
font-size:.9rem;
color:#6d7a72;
}

.feature-main{
width:min(1120px,100%);
margin:0 auto;
padding:24px;
}

.cards .card:nth-child(2){
animation-delay:.08s;
}

.cards .card:nth-child(3){
animation-delay:.16s;
}

.cards .card:nth-child(4){
animation-delay:.24s;
}

.feature-section + .feature-section{
margin-top:14px;
padding-top:14px;
border-top:1px solid var(--line);
}

.feature-section h3{
margin-bottom:8px;
font-size:1.6rem;
}

.section-title-core{
margin-top:28px;
margin-bottom:14px;
line-height:1.35;
min-height:44px;
display:flex;
align-items:center;
justify-content:center;
}

.feature-cta{
width:min(1120px,100%);
margin:24px auto 0;
text-align:center;
background:linear-gradient(145deg,#f8fbf7,#eef4ef);
}

#contact > p{
margin-top:22px;
font-size:.92rem;
}

.site-footer{
margin-top:0;
padding:64px 5vw 46px;
text-align:left;
background:#f7f8f7;
border-top:1px solid var(--line);
}

.footer-inner{
max-width:1520px;
margin:0 auto;
}

.footer-grid{
display:grid;
grid-template-columns:1.1fr 1.2fr 1.15fr .9fr;
gap:64px;
padding-bottom:54px;
border-bottom:1px solid #dfe5df;
}

.site-footer h2,
.site-footer h3{
font-family:"Manrope",sans-serif;
line-height:1.2;
color:#071019;
}

.site-footer h2{
font-size:1.55rem;
margin-bottom:22px;
}

.site-footer h3{
font-size:1.25rem;
margin-bottom:24px;
}

.site-footer p{
font-size:1rem;
color:#56677b;
line-height:1.6;
}

.site-footer a{
color:#56677b;
font-weight:500;
text-decoration:none;
}

.site-footer a:hover{
color:var(--accent);
}

.footer-brand p{
max-width:340px;
margin-bottom:30px;
}

.footer-whatsapp{
display:inline-flex;
align-items:center;
justify-content:center;
gap:10px;
padding:10px 20px;
border:1px solid #22c96a;
border-radius:10px;
color:#17bf5d !important;
font-weight:700 !important;
background:#fff;
}

.footer-item{
display:grid;
grid-template-columns:26px minmax(0,1fr);
gap:14px;
align-items:start;
margin-bottom:20px;
}

.footer-icon{
display:inline-flex;
align-items:center;
justify-content:center;
width:24px;
height:24px;
color:#178a5c;
font-size:1.05rem;
line-height:1;
}

.footer-item strong{
color:#071019;
font-weight:800;
}

.footer-links{
display:flex;
flex-direction:column;
align-items:flex-start;
}

.footer-links a{
display:inline-flex;
margin-bottom:15px;
font-size:1rem;
}

.footer-bottom{
display:flex;
align-items:center;
justify-content:space-between;
gap:28px;
padding-top:40px;
}

.footer-legal{
display:flex;
gap:32px;
flex-wrap:wrap;
justify-content:flex-end;
}

.modal{
display:none;
position:fixed;
inset:0;
padding:20px;
background:rgba(15,24,18,0.72);
z-index:1000;
}

.modal.show{
display:flex;
align-items:center;
justify-content:center;
}

.enquiry-modal{
background:rgba(15,24,18,0.52);
backdrop-filter:blur(8px);
z-index:1150;
}

.enquiry-modal-card{
width:min(640px,100%);
max-height:calc(100svh - 40px);
background:#fff;
border-radius:24px;
overflow:hidden;
box-shadow:0 28px 80px rgba(8,14,11,0.28);
border:1px solid rgba(215,223,217,0.9);
display:flex;
flex-direction:column;
}

.enquiry-modal-head{
display:flex;
align-items:flex-start;
justify-content:space-between;
gap:16px;
padding:30px 30px 22px;
border-bottom:1px solid #e4e9e4;
}

.enquiry-modal-head h2{
margin:0 0 8px;
font-size:clamp(2rem,4vw,3rem);
font-family:"Manrope",sans-serif;
line-height:1.1;
}

.enquiry-modal-head p{
font-size:1.02rem;
color:#68786e;
}

.enquiry-close{
border:none;
background:transparent;
color:#2d3831;
font-size:2rem;
line-height:1;
cursor:pointer;
padding:2px 8px;
}

.enquiry-form{
padding:30px;
display:grid;
gap:18px;
overflow-y:auto;
}

.enquiry-form label{
display:block;
margin-bottom:8px;
font-size:1rem;
font-weight:700;
color:#243129;
text-align:left;
}

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

.enquiry-form input,
.enquiry-form textarea{
width:100%;
border:1px solid #c9ddd1;
border-radius:16px;
padding:14px 16px;
font:inherit;
color:#1c2a23;
background:#f3faf6;
box-shadow:0 2px 8px rgba(18,31,22,0.04) inset, 0 2px 6px rgba(18,31,22,0.03);
outline:none;
transition:border-color .2s ease, box-shadow .2s ease;
}

.enquiry-form input::placeholder,
.enquiry-form textarea::placeholder{
color:#c4ccc8;
opacity:1;
}

.enquiry-form input:focus,
.enquiry-form textarea:focus{
border-color:#63a57d;
box-shadow:0 0 0 4px rgba(31,122,74,0.12);
}

.phone-input-wrap{
width:100%;
display:flex;
align-items:center;
gap:8px;
border:1px solid #c9ddd1;
border-radius:16px;
padding:0 16px;
color:#1c2a23;
background:#f3faf6;
box-shadow:0 2px 8px rgba(18,31,22,0.04) inset, 0 2px 6px rgba(18,31,22,0.03);
transition:border-color .2s ease, box-shadow .2s ease;
}

.phone-input-wrap:focus-within{
border-color:#63a57d;
box-shadow:0 0 0 4px rgba(31,122,74,0.12);
}

.phone-prefix{
font-weight:800;
color:#1f7a4a;
white-space:nowrap;
}

.enquiry-form .phone-input-wrap input,
.inline-contact-form .phone-input-wrap input{
border:none;
border-radius:0;
padding:14px 0;
background:transparent;
box-shadow:none;
}

.enquiry-form .phone-input-wrap input:focus,
.inline-contact-form .phone-input-wrap input:focus{
box-shadow:none;
border-color:transparent;
}

.enquiry-form textarea{
min-height:122px;
resize:vertical;
}

.form-consent,
.enquiry-form .form-consent,
.inline-contact-form .form-consent{
display:grid;
grid-template-columns:18px 1fr;
align-items:flex-start;
gap:10px;
margin:0;
font-size:.9rem;
font-weight:600;
line-height:1.45;
color:#435248;
}

.enquiry-form .form-consent input,
.inline-contact-form .form-consent input{
width:18px;
height:18px;
margin:2px 0 0;
padding:0;
accent-color:#248f5f;
box-shadow:none;
}

.form-consent span{
display:block;
}

.enquiry-submit{
border:none;
border-radius:14px;
padding:14px 22px;
background:#248f5f;
color:#fff;
font:inherit;
font-weight:800;
font-size:1.05rem;
cursor:pointer;
transition:background .2s ease, transform .2s ease;
}

.enquiry-submit:hover{
background:#1c7a50;
transform:translateY(-1px);
}

.enquiry-submit:disabled{
cursor:not-allowed;
opacity:.72;
transform:none;
}

.form-status{
min-height:22px;
font-size:.92rem;
font-weight:700;
color:#1f7a4a;
text-align:center;
}

.form-status.is-error{
color:#b23b3b;
}

.modal-content{
position:relative;
width:min(900px,100%);
max-height:90vh;
overflow:hidden;
background:var(--surface);
border:1px solid var(--line);
border-radius:16px;
padding:26px;
box-shadow:var(--shadow);
}

.legal-header{
position:fixed;
top:0;
left:0;
right:0;
z-index:1200;
background:rgba(255,255,255,.96);
border-bottom:1px solid var(--line);
box-shadow:0 8px 24px rgba(18,31,22,.08);
backdrop-filter:blur(12px);
}

.legal-header-inner{
width:min(960px,92vw);
min-height:64px;
margin:0 auto;
display:flex;
align-items:center;
justify-content:space-between;
gap:18px;
color:#243129;
font-weight:800;
}

.legal-page{
max-width:960px;
padding-top:112px;
padding-bottom:56px;
}

.legal-back-link{
display:inline-flex;
align-items:center;
color:#1f7a4a;
font-weight:800;
text-decoration:none;
}

.legal-back-link:hover{
text-decoration:underline;
}

.modal-close{
position:absolute;
top:8px;
right:12px;
background:rgba(12,18,14,0.72);
border:1px solid rgba(255,255,255,0.25);
color:#fff;
width:34px;
height:34px;
border-radius:50%;
font-size:20px;
line-height:1;
cursor:pointer;
z-index:3;
}

.image-modal{
padding:18px;
background:rgba(10,16,12,0.88);
z-index:1200;
}

.image-modal-content{
position:relative;
width:min(1100px,96vw);
max-height:92vh;
display:flex;
align-items:center;
justify-content:center;
flex-direction:column;
gap:12px;
overflow:hidden;
}

.image-modal-track{
width:100%;
max-height:72vh;
display:flex;
overflow-x:auto;
overflow-y:hidden;
scroll-snap-type:x mandatory;
scroll-behavior:smooth;
border-radius:10px;
scrollbar-width:none;
-ms-overflow-style:none;
overscroll-behavior:contain;
}

.image-modal-track::-webkit-scrollbar{
display:none;
}

.image-modal-slide{
flex:0 0 100%;
display:flex;
align-items:center;
justify-content:center;
scroll-snap-align:center;
}

.image-modal-slide img{
max-width:100%;
max-height:72vh;
width:auto;
height:auto;
object-fit:contain;
border-radius:10px;
box-shadow:0 20px 50px rgba(0,0,0,0.35);
transition:transform .08s ease;
user-select:none;
-webkit-user-drag:none;
touch-action:none;
}

.image-zoom-controls{
display:flex;
gap:8px;
}

.image-zoom-controls button{
border:1px solid rgba(255,255,255,0.35);
background:rgba(12,18,14,0.66);
color:#fff;
border-radius:999px;
padding:6px 12px;
font-size:.86rem;
font-weight:700;
cursor:pointer;
}

.image-modal-thumbs{
width:100%;
display:flex;
gap:8px;
overflow-x:auto;
overflow-y:hidden;
padding-bottom:4px;
scrollbar-width:none;
-ms-overflow-style:none;
}

.image-modal-thumbs::-webkit-scrollbar{
display:none;
}

.image-thumb{
border:2px solid transparent;
background:transparent;
padding:0;
border-radius:8px;
cursor:pointer;
flex:0 0 auto;
}

.image-thumb img{
width:82px;
height:58px;
object-fit:cover;
border-radius:6px;
display:block;
}

.image-thumb.active{
border-color:#6fd49f;
}

.brochure-modal{
padding:0;
background:rgba(10,16,12,0.9);
z-index:1220;
}

.brochure-modal-content{
width:100%;
height:100vh;
height:100svh;
background:#f6f8f4;
display:flex;
flex-direction:column;
overflow:hidden;
}

.brochure-modal-bar{
display:flex;
align-items:center;
justify-content:space-between;
gap:16px;
padding:calc(env(safe-area-inset-top, 0px) + 14px) 22px 14px;
background:#fff;
border-bottom:1px solid var(--line);
box-shadow:0 8px 24px rgba(12,18,14,0.08);
z-index:1;
}

.brochure-modal-bar h2{
margin:0;
font-family:"Manrope",sans-serif;
font-size:1.1rem;
line-height:1.25;
}

.brochure-modal-actions{
display:flex;
align-items:center;
gap:10px;
flex:0 0 auto;
}

.brochure-open-link,
.brochure-close{
border:1px solid rgba(31,122,74,0.18);
border-radius:999px;
background:#eef7f1;
color:#155d39;
font:inherit;
font-weight:800;
line-height:1;
text-decoration:none;
cursor:pointer;
}

.brochure-open-link{
padding:10px 14px;
}

.brochure-close{
width:38px;
height:38px;
font-size:20px;
}

.brochure-modal-frame{
width:100%;
flex:1;
border:none;
background:#fff;
}

.image-nav{
position:absolute;
top:45%;
transform:translateY(-50%);
width:38px;
height:38px;
border:none;
border-radius:50%;
background:rgba(12,18,14,0.66);
color:#fff;
cursor:pointer;
display:flex;
align-items:center;
justify-content:center;
font-size:22px;
z-index:1;
}

.image-nav.prev{
left:8px;
}

.image-nav.next{
right:8px;
}

.privacy-content{
text-align:left;
line-height:1.7;
}

.modal-content .privacy-content{
max-height:calc(90vh - 52px);
overflow-y:auto;
padding-right:8px;
}

.privacy-content h2{
margin-bottom:10px;
}

.privacy-content h3{
margin-top:16px;
margin-bottom:6px;
}

.whatsapp-float{
position:fixed;
right:18px;
bottom:18px;
z-index:1100;
background:#25d366;
color:#fff;
text-decoration:none;
width:52px;
height:52px;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
font-weight:700;
box-shadow:0 14px 28px rgba(22,95,57,0.28);
}

.whatsapp-float:hover{
background:#1fb85a;
}

.whatsapp-float svg{
width:28px;
height:28px;
fill:currentColor;
display:block;
}

.menu a.is-active{
color:var(--accent);
box-shadow:inset 0 -2px 0 var(--accent);
border-radius:0;
}

.menu .nav-action{
padding:11px 18px;
border-radius:14px;
border:1px solid var(--line);
box-shadow:0 8px 18px rgba(17,37,25,0.06);
}

.menu .nav-enquire{
background:#fff;
color:var(--ink);
}

.menu .nav-whatsapp{
background:#25d366;
border-color:#25d366;
color:#fff;
}

.menu .nav-whatsapp:hover{
background:#1fb85a;
color:#fff;
}

.hero{
padding:0 0 34px;
}

.hero-media{
max-width:none;
min-height:calc(100svh - 76px);
border-radius:0;
align-items:flex-end;
padding:40px 24px 70px;
box-shadow:none;
}

.hero-overlay{
position:absolute;
inset:0;
background:linear-gradient(180deg,rgba(12,20,16,0.28),rgba(10,16,13,0.62));
}

.hero-copy{
position:relative;
z-index:2;
width:min(980px,100%);
padding:40px 16px;
display:grid;
gap:26px;
justify-items:center;
}

.hero-badge{
position:absolute;
top:48px;
left:50%;
z-index:2;
transform:translateX(-50%);
display:inline-flex;
align-items:center;
justify-content:center;
padding:12px 22px;
border-radius:999px;
background:rgba(75,132,109,0.9);
color:#fff;
font-size:1rem;
font-weight:800;
white-space:nowrap;
}

.hero h1,
.hero-copy h1{
font-family:"Manrope",sans-serif;
font-size:clamp(3rem,6vw,5.4rem);
line-height:1.05;
max-width:900px;
margin:0;
color:#fff;
letter-spacing:-0.04em;
}

.hero-copy .lead{
max-width:940px;
font-size:clamp(1.15rem,2vw,1.65rem);
color:rgba(255,255,255,0.95);
}

.hero-copy .hero-actions{
justify-content:center;
margin-top:0;
position:static;
width:100%;
}

.hero-primary{
background:#279261;
color:#fff;
min-width:230px;
}

.hero-secondary{
background:rgba(255,255,255,0.2);
color:#fff;
border:1px solid rgba(255,255,255,0.38);
min-width:220px;
}

.section-shell{
padding:88px 5vw;
}

.section-soft{
background:#f6f8f7;
border-top:1px solid rgba(216,223,217,0.9);
border-bottom:1px solid rgba(216,223,217,0.9);
}

.section-intro{
width:min(960px,100%);
margin:0 auto 42px;
display:grid;
gap:16px;
text-align:center;
}

.section-intro h2,
.about-content h2{
font-family:"Manrope",sans-serif;
font-size:clamp(2.6rem,5vw,4rem);
line-height:1.05;
letter-spacing:-0.04em;
margin:0;
color:#232a32;
}

.section-intro p{
max-width:760px;
margin:0 auto;
font-size:clamp(1.05rem,1.9vw,1.35rem);
}

.section-pill{
display:inline-flex;
align-items:center;
justify-content:center;
padding:10px 16px;
border-radius:999px;
background:#e5f0ea;
color:#167b50;
font-size:1rem;
font-weight:800;
width:max-content;
margin:0 auto;
}

.about-content .section-pill{
margin:0;
}

.property-grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:28px;
max-width:1220px;
margin:0 auto;
}

.property-card{
padding:0;
border-radius:24px;
overflow:hidden;
background:#fff;
box-shadow:0 14px 34px rgba(17,37,25,0.1);
border:1px solid #dde5df;
}

.property-card:hover{
transform:translateY(-6px);
background:#fff;
}

.property-card .project-gallery{
margin:0;
overflow:hidden;
padding-bottom:0;
}

.property-card .project-gallery img{
flex:0 0 100%;
height:255px;
border:none;
border-radius:0;
}

.property-card-body{
padding:22px 24px 24px;
text-align:left;
position:relative;
}

.property-status{
position:absolute;
top:14px;
right:14px;
z-index:2;
padding:8px 16px;
border-radius:999px;
font-size:.92rem;
font-weight:700;
}

.property-status.ongoing{
background:#279261;
color:#fff;
}

.property-status.coming-soon{
background:#8a5a12;
color:#fff;
}

.property-status.completed{
background:#fff;
color:#112519;
}

.property-status.ready{
background:#1d6fd6;
color:#fff;
}

.property-tag{
display:inline-flex;
padding:6px 12px;
border-radius:999px;
background:rgba(17,37,25,0.62);
color:#fff;
font-size:.86rem;
font-weight:700;
margin-top:-44px;
position:relative;
}

.property-card h3{
font-family:"Manrope",sans-serif;
font-size:1.2rem;
margin:18px 0 10px;
}

.property-location{
color:#1f7a4a;
font-weight:700;
margin-bottom:12px;
}

.property-features{
list-style:none;
padding:0;
margin:18px 0 24px;
display:grid;
gap:10px;
}

.property-features li{
position:relative;
padding-left:22px;
color:var(--muted);
}

.property-features li:before{
content:"";
position:absolute;
left:0;
top:.5em;
width:10px;
height:10px;
border:2px solid var(--accent);
border-radius:50%;
transform:translateY(-50%);
}

.property-link{
display:inline-flex;
width:100%;
justify-content:center;
align-items:center;
padding:14px 18px;
border-radius:12px;
background:#248f5f;
color:#fff !important;
text-decoration:none;
font-weight:800;
}

.about-grid{
display:grid;
grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
gap:48px;
max-width:1280px;
margin:0 auto;
align-items:start;
text-align:left;
}

.about-visual{
position:relative;
min-height:760px;
}

.about-image{
height:720px;
border-radius:34px;
background:
linear-gradient(rgba(17,37,25,0.08),rgba(17,37,25,0.08)),
url("../../Images/bhoomi-promoters.webp") center/cover no-repeat;
box-shadow:0 22px 54px rgba(17,37,25,0.14);
}

.about-badge{
position:absolute;
right:-18px;
bottom:8px;
background:#248f5f;
color:#fff;
border-radius:28px;
padding:34px 40px;
width:min(400px,72%);
box-shadow:0 18px 40px rgba(20,70,45,0.28);
}

.about-badge strong{
display:block;
font-size:3.8rem;
line-height:1;
font-family:"Manrope",sans-serif;
}

.about-badge span{
display:block;
margin-top:16px;
font-size:1rem;
font-weight:700;
}

.about-content{
display:grid;
gap:20px;
padding-top:34px;
text-align:left;
}

.about-content p{
font-size:1.05rem;
}

.about-story{
padding:38px 40px;
border-radius:24px;
margin-top:12px;
}

.about-stats{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:24px;
margin-top:28px;
}

.about-stats strong{
display:block;
font-size:3rem;
font-family:"Manrope",sans-serif;
color:#1f7a4a;
}

.about-stats span{
display:block;
font-size:1rem;
color:var(--muted);
}

.why-grid{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:34px;
max-width:1360px;
margin:0 auto;
}

.why-card{
flex:0 1 calc((100% - 68px) / 3);
padding:38px 34px;
border-radius:26px;
text-align:center;
min-height:320px;
display:grid;
align-content:start;
justify-items:center;
gap:18px;
}

.why-icon{
width:64px;
height:64px;
border-radius:18px;
display:flex;
align-items:center;
justify-content:center;
background:#e6f1eb;
color:#1d8a5b;
font-size:1.7rem;
font-weight:800;
}

.why-card h3{
font-family:"Manrope",sans-serif;
font-size:1.15rem;
}

.vision-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:34px;
max-width:1100px;
margin:54px auto 0;
}

.vision-card{
background:#f4ede8;
border:1px solid #eaded5;
border-radius:28px;
padding:40px 46px;
text-align:left;
}

.mission-card{
background:#eef6f4;
border-color:#d5e6df;
}

.vision-card h3,
.career-main h3,
.investment-copy h3,
.contact-side h2,
.contact-form-wrap h2{
font-family:"Manrope",sans-serif;
font-size:1.9rem;
margin-bottom:18px;
}

.career-card{
max-width:1200px;
margin:0 auto;
display:grid;
grid-template-columns:minmax(0,1fr) 280px;
padding:0;
overflow:hidden;
}

.customers-section{
background:#fff;
}

.customer-stats{
max-width:980px;
margin:0 auto 42px;
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:18px;
}

.customer-stat{
padding:28px 24px;
border-radius:22px;
background:#eef6f2;
border:1px solid #d3e7dc;
text-align:center;
}

.customer-stat strong{
display:block;
font-family:"Manrope",sans-serif;
font-size:2.8rem;
line-height:1;
color:#1f7a4a;
margin-bottom:10px;
}

.customer-stat span{
display:block;
font-weight:700;
color:#485b52;
}

.customer-photo-gallery{
width: 100vw; /* Force full viewport width */
position: relative;
left: 50%;
right: 50%;
margin-left: -50vw; /* Pull left edge to viewport edge */
margin-right: -50vw; /* Pull right edge to viewport edge */
max-width: none; /* Override any max-width from parent containers */

margin-top: 0; /* Adjust as needed */
margin-bottom: 42px; /* Keep original bottom margin */
gap:16px;
padding:6px 20px 0; /* Add horizontal padding */
background:#fff;

display: flex; /* Use flexbox for horizontal layout */
flex-wrap: nowrap; /* Prevent images from wrapping to the next line */
overflow-x: auto; /* Enable horizontal scrolling when content overflows */
scroll-snap-type:none;
touch-action: pan-y; /* Allows vertical scrolling on touch devices while dragging horizontally */
-webkit-overflow-scrolling: touch; /* Provides smooth momentum scrolling on iOS */
scrollbar-width: none; /* Hides scrollbar in Firefox for a cleaner look */
}

.customer-photo-gallery img{
flex: 0 0 auto; /* Do not grow, do not shrink, base size is auto (content-based) */
max-width: clamp(230px, 28vw, 360px); /* Define image width */
height:250px;
border-radius:22px;
box-shadow:0 18px 42px rgba(20,30,26,0.12);
background:#fff;
margin-right: 16px; /* Add spacing between images */
scroll-snap-align:none;
}

.customer-photo-gallery-empty{
max-width:780px;
margin:0 auto 42px;
padding: 0 20px; /* Add padding for consistency */
box-sizing: border-box;
}

.section-intro .customer-photo-gallery,
.section-intro .customer-photo-gallery-empty{
width: auto; /* Let the full-bleed styles handle width */
margin: 4px auto 8px; /* Keep original margins */
}

.testimonial-grid{
max-width:1220px;
margin:0 auto;
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:24px;
}

.testimonial-card{
padding:30px 28px;
border-radius:22px;
display:grid;
gap:18px;
min-height:260px;
align-content:start;
}

.testimonial-card p{
font-size:1.02rem;
line-height:1.75;
}

.testimonial-card strong{
font-family:"Manrope",sans-serif;
font-size:1rem;
color:#15241c;
}

.testimonial-card span{
color:#1f7a4a;
font-weight:700;
}

.career-main{
padding:48px 50px;
text-align:left;
}

.career-meta{
display:flex;
flex-wrap:wrap;
gap:12px;
margin:22px 0 28px;
}

.career-meta span{
padding:10px 16px;
border-radius:999px;
background:#f2f5f3;
color:#52615a;
font-weight:700;
}

.career-points{
list-style:none;
padding:0;
display:grid;
gap:18px;
}

.career-points li{
position:relative;
padding-left:34px;
font-size:1.05rem;
}

.career-points li:before{
content:"\2713";
position:absolute;
left:0;
top:0;
color:#1f8a5b;
font-weight:900;
}

.career-side{
background:#fff;
border-left:1px solid var(--line);
padding:30px 24px;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:18px;
text-align:center;
}

.career-badge{
display:inline-flex;
padding:12px 20px;
border-radius:0 0 0 20px;
background:#248f5f;
color:#fff;
font-weight:800;
align-self:flex-end;
margin:-30px -24px 26px 0;
}

.career-apply{
display:inline-flex;
align-items:center;
justify-content:center;
padding:16px 34px;
border-radius:14px;
background:#248f5f;
color:#fff !important;
text-decoration:none;
font-weight:800;
font-size:1.1rem;
}

.career-apply:hover{
color:#fff !important;
background:#1c7a50;
}

.investment-accent{
color:#1d8a5b;
font-weight:700;
}

.investment-copy{
max-width:1120px;
margin:0 auto;
text-align:left;
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:22px;
}

.investment-card{
padding:28px 26px;
border-radius:22px;
background:#fff;
border:1px solid #dde5df;
box-shadow:0 14px 34px rgba(17,37,25,0.08);
display:grid;
align-content:start;
gap:14px;
}

.investment-card h3{
margin:0;
font-size:1.45rem;
}

.investment-card p{
margin:0;
}

.investment-placeholders{
width: 100vw; /* Force full viewport width */
position: relative;
left: 50%;
right: 50%;
margin-left: -50vw; /* Pull left edge to viewport edge */
margin-right: -50vw; /* Pull right edge to viewport edge */
max-width: none; /* Override any max-width from parent containers */

margin-top: 54px; /* Keep original top margin */
display:grid;
gap:0;
background:transparent;
}

.placeholder-block{
text-align: center;
}

/* Removed .investment-gallery-intro full-bleed styles. It should inherit from .section-intro */
/* The .section-intro class already provides the desired max-width, centering, and padding for titles. */

.section-intro.investment-gallery-intro{
margin:0 auto 18px;
gap:0;
}

.section-intro.investment-gallery-intro h2{ /* Adjusted selector to maintain specific H2 styling */
display: block;
opacity: 1;
visibility: visible;
transform: none;
position: relative;
z-index: 2;
font-family: "Manrope", sans-serif; /* Ensure correct font */
font-size: clamp(2.1rem, 4vw, 3rem); /* Ensure readable size */
color: #112519; /* Ensure visible color */
margin-bottom: 0;
}

.investment-gallery-intro .project-gallery{
width: auto; /* Let the full-bleed styles handle width */
margin-left: 0; /* Reset margin */
margin-right: 0; /* Reset margin */
}

.investment-update-gallery,
.investment-project-gallery{
width: 100vw; /* Force full viewport width */
position: relative;
left: 50%;
right: 50%;
margin-left: -50vw; /* Pull left edge to viewport edge */
margin-right: -50vw; /* Pull right edge to viewport edge */
max-width: none; /* Override any max-width from parent containers */

margin-top: 0;
margin-bottom: 0; /* Reset bottom margin */
transform: none;
gap:16px;
padding:6px 20px 0; /* Add horizontal padding */
position:relative;
background:transparent;

display: flex; /* Use flexbox for horizontal layout */
flex-wrap: nowrap; /* Prevent images from wrapping to the next line */
overflow-x: auto; /* Enable horizontal scrolling when content overflows */
touch-action: pan-y; /* Allows vertical scrolling on touch devices while dragging horizontally */
-webkit-overflow-scrolling: touch; /* Provides smooth momentum scrolling on iOS */
scrollbar-width: none; /* Hides scrollbar in Firefox for a cleaner look */
}

.investment-update-gallery img,
.investment-project-gallery img{
flex: 0 0 auto; /* Do not grow, do not shrink, base size is auto (content-based) */
max-width: clamp(230px, 28vw, 360px); /* Match Happy Customers image width */
height:250px; /* Match Happy Customers image height */
border-radius:22px;
box-shadow:0 18px 42px rgba(20,30,26,0.12);
background:#fff;
margin-right: 16px; /* Add spacing between images */
}

.investment-update-gallery{
margin-bottom:64px;
}

.investment-project-gallery img{
flex: 0 0 auto; /* Ensure it doesn't shrink */
max-width: clamp(230px, 28vw, 360px); /* Match Happy Customers image width */
}

.investment-update-gallery-empty,
.investment-project-gallery-empty{
max-width:780px;
margin:18px auto 0;
padding: 0 20px; /* Add padding for consistency */
box-sizing: border-box;
}

.contact-panel{
max-width:1440px;
margin:0 auto;
display:grid;
grid-template-columns:460px minmax(0,1fr);
border-radius:42px;
overflow:hidden;
background:#fff;
box-shadow:0 20px 56px rgba(17,37,25,0.12);
border:1px solid #dfe6e0;
text-align:left;
}

.contact-side{
background:#248f5f;
color:#fff;
padding:54px 42px;
display:grid;
align-content:start;
gap:28px;
}

.contact-side p{
color:rgba(255,255,255,0.92);
font-size:1.05rem;
}

.contact-side-item{
display:grid;
gap:8px;
}

.contact-side-item span{
color:rgba(255,255,255,0.82);
}

.contact-side-item a{
color:#fff;
text-decoration:none;
font-size:1.2rem;
font-weight:800;
}

.contact-side-whatsapp{
display:inline-flex;
align-items:center;
justify-content:center;
padding:18px 24px;
width:max-content;
min-width:260px;
border-radius:18px;
text-decoration:none;
background:rgba(255,255,255,0.1);
color:#fff;
font-size:1.05rem;
font-weight:800;
margin-top:38px;
}

.contact-form-wrap{
padding:40px 58px 48px; /* Reduced top/bottom padding */
display:grid;
gap:22px;
}

.contact-form-wrap p{
font-size:1.05rem;
max-width:760px;
}

.inline-contact-form{
display:grid; /* Keep grid for structure */
gap:16px; /* Reduced gap between elements */
margin-top:20px;
}

.inline-contact-form label{
display:block;
margin-bottom:4px; /* Reduced margin below labels */
font-size:1rem;
font-weight:700;
color:#243129;
}

.inline-contact-form input,
.inline-contact-form textarea{
width:100%;
border:1px solid #d8dfd9; /* Keep border */
border-radius:16px;
padding:10px 16px; /* Reduced vertical padding inside inputs */
font:inherit;
color:#1c2a23;
background:#fff;
box-shadow:0 2px 8px rgba(18,31,22,0.04) inset, 0 2px 6px rgba(18,31,22,0.03);
outline:none;
}

.inline-contact-form .phone-input-wrap{
border-color:#d8dfd9;
background:#fff;
}

.inline-contact-form textarea{
min-height:100px; /* Reduced minimum height for textarea */
resize:vertical;
}

/* Hide scrollbar pseudo-element for Chrome/Safari/Edge for all relevant galleries */
.investment-update-gallery::-webkit-scrollbar,
.investment-project-gallery::-webkit-scrollbar,
.customer-photo-gallery::-webkit-scrollbar {
  display: none;
}

.inline-contact-form .enquiry-submit{
margin-top:2px;
min-height:58px;
}

.inline-contact-form .form-status:empty{
display:none;
}

.inline-contact-form input::placeholder,
.inline-contact-form textarea::placeholder{
color:#c4ccc8;
opacity:1;
}

@media(max-width:860px){
.enquiry-grid{
grid-template-columns:1fr; /* Force single column on mobile */
gap:16px; /* Adjust gap for mobile */
}

.navbar{
align-items:center;
justify-content:space-between;
flex-wrap:wrap;
padding:12px 4vw;
position:sticky;
}

.logo{
font-size:1.4rem;
}

.logo-img{
width:auto;
height:34px;
}

.menu-toggle{
display:inline-flex;
}

.menu{
display:none;
position:absolute;
left:4vw;
right:4vw;
top:calc(100% + 8px);
padding:10px;
background:var(--surface);
border:1px solid var(--line);
border-radius:12px;
box-shadow:0 10px 20px rgba(17,37,25,0.08);
flex-direction:column;
align-items:stretch;
gap:8px;
}

.menu.open{
display:flex;
}

.menu .nav-action{
width:100%;
}

.menu a,
.menu button{
width:100%;
text-align:center;
}

.hero-media{
min-height:calc(100svh - 72px);
padding:28px 16px 54px;
}

.hero-copy{
gap:18px;
padding:28px 12px;
}

.hero-badge{
top:36px;
}

.property-grid,
.why-grid,
.about-grid,
.vision-grid,
.investment-copy,
.customer-stats,
.testimonial-grid,
.contact-panel,
.career-card{
grid-template-columns:1fr;
}

.about-visual{
min-height:auto;
}

.about-image{
height:420px;
}

.about-badge{
position:relative;
right:auto;
bottom:auto;
width:100%;
margin-top:-32px;
}

.contact-form-wrap,
.contact-side,
.career-main{
padding:32px 24px;
}

.career-side{
border-left:none;
border-top:1px solid var(--line);
}

.career-badge{
align-self:center;
margin:0 0 8px;
border-radius:999px;
}

.why-card{
flex-basis:100%;
}

.contact-side-whatsapp{
min-width:0;
width:100%;
}

.property-card .project-gallery img{
height:220px;
}

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

.footer-bottom{
align-items:flex-start;
flex-direction:column;
}

.footer-legal{
justify-content:flex-start;
}
}

@media(max-width:620px){
section{
padding:82px 4vw 20px;
}

.enquiry-modal{
padding:10px;
align-items:center;
}

.enquiry-modal-card{
max-height:calc(100svh - 20px);
border-radius:18px;
}

.enquiry-modal-head,
.enquiry-form{
padding:16px 14px;
}

.enquiry-modal-head{
gap:10px;
}

.enquiry-modal-head h2{
font-size:1.65rem;
margin-bottom:4px;
}

.enquiry-modal-head p{
font-size:.92rem;
line-height:1.35;
}

.enquiry-close{
font-size:1.75rem;
padding:0 6px;
}

.enquiry-form{
gap:12px;
}

.enquiry-form label{
margin-bottom:5px;
font-size:.92rem;
}

.enquiry-grid{
grid-template-columns:1fr;
gap:12px;
}

.enquiry-form input,
.enquiry-form textarea{
border-radius:12px;
padding:10px 12px;
font-size:.95rem;
}

.phone-input-wrap{
border-radius:12px;
padding:0 12px;
}

.enquiry-form .phone-input-wrap input,
.inline-contact-form .phone-input-wrap input{
padding:10px 0;
}

.enquiry-form textarea{
min-height:88px;
}

.form-consent,
.enquiry-form .form-consent,
.inline-contact-form .form-consent{
grid-template-columns:16px 1fr;
gap:9px;
font-size:.82rem;
line-height:1.4;
}

.enquiry-form .form-consent input,
.inline-contact-form .form-consent input{
width:16px;
height:16px;
margin-top:1px;
}

.enquiry-submit{
border-radius:12px;
padding:11px 18px;
font-size:1rem;
}

.form-status{
min-height:18px;
font-size:.86rem;
}

.hero-actions{
flex-direction:column;
align-items:center;
width:100%;
}

.hero-primary,
.hero-secondary{
width:100%;
max-width:320px;
}

.hero-copy h1{
font-size:clamp(2.6rem,12vw,4rem);
}

.hero-media{
min-height:calc(100svh - 68px);
padding:24px 14px 34px;
}

.hero-copy{
gap:16px;
padding:22px 10px;
}

.hero-badge{
top:24px;
max-width:calc(100% - 28px);
white-space:normal;
}

.hero-copy .lead{
font-size:clamp(1rem,4.6vw,1.2rem);
}


.section-shell{
padding:72px 4vw;
}

.property-card-body,
.vision-card,
.about-story{
padding:24px 20px;
}

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

.customer-stat strong{
font-size:2.3rem;
}

.customer-photo-gallery{
width:calc(100% + 8vw);
left:auto;
right:auto;
margin-left:-4vw;
margin-right:-4vw;
padding-left:4vw;
padding-right:4vw;
box-sizing:border-box;
}

.customer-photo-gallery img{
max-width: 76vw; /* Adjust image width for mobile */
}

.investment-update-gallery img,
.investment-project-gallery img{
max-width: 82vw; /* Adjust image width for mobile */
}

/* Remove specific mobile padding for .investment-gallery-intro as it should inherit from .section-intro */
/* The .section-intro class already handles appropriate padding on mobile. */
/* If you need specific mobile padding for this intro, re-add it here. */

.why-card{
padding:28px 22px;
min-height:auto;
}

.contact-panel{
border-radius:28px;
}

.site-footer{
padding:46px 6vw 36px;
}

.footer-grid{
grid-template-columns:1fr;
gap:34px;
padding-bottom:36px;
}

.site-footer h2,
.site-footer h3{
margin-bottom:14px;
}

.footer-brand p{
max-width:none;
margin-bottom:20px;
}

.footer-bottom{
padding-top:28px;
}

.footer-legal{
gap:18px;
}

.image-modal .modal-close{
position:fixed;
top:calc(env(safe-area-inset-top, 0px) + 10px);
right:12px;
z-index:1300;
}

.brochure-modal-bar{
align-items:flex-start;
gap:10px;
padding:calc(env(safe-area-inset-top, 0px) + 10px) 12px 10px;
}

.brochure-modal-bar h2{
font-size:.98rem;
}

.brochure-modal-actions{
gap:8px;
}

.brochure-open-link{
padding:9px 11px;
font-size:.86rem;
}

.brochure-close{
width:34px;
height:34px;
font-size:18px;
}

.whatsapp-float{
right:12px;
bottom:12px;
width:46px;
height:46px;
}

.whatsapp-float svg{
width:24px;
height:24px;
}
}

@keyframes cardFadeIn{
from{
opacity:0;
transform:translateY(12px);
}
to{
opacity:1;
transform:translateY(0);
}
}

@media (prefers-reduced-motion: reduce){
.card,
.card:before{
animation:none;
transition:none;
}

.reveal{
opacity:1;
transform:none;
transition:none;
}
}
