/* ==========================================================================
   Birla Projects Gurugram — Main Stylesheet
   ========================================================================== */

:root{
  --c-black:#0d0d0d;
  --c-dark:#151513;
  --c-charcoal:#1e1e1c;
  --c-cream:#f7f5f0;
  --c-white:#ffffff;
  --c-gold:#b8956a;
  --c-gold-light:#d4b896;
  --c-grey:#6b6b68;
  --c-grey-light:#9a9a97;
  --c-line:rgba(0,0,0,0.08);
  --c-line-dark:rgba(255,255,255,0.12);
  --font-head:'Playfair Display', Georgia, serif;
  --font-body:'Inter', Arial, sans-serif;
  --container:120rem;
  --nav-h:5.5rem;
  --ease:cubic-bezier(.23,1,.32,1);
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  color:var(--c-dark);
  background:var(--c-cream);
  font-size:16px;
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
input,select,textarea{font-family:inherit;font-size:1rem;}

.container{
  max-width:var(--container);
  margin:0 auto;
  padding:0 5rem;
}
@media(max-width:991px){.container{padding:0 2rem;}}
@media(max-width:600px){.container{padding:0 1.25rem;}}

h1,h2,h3,h4{font-family:var(--font-head);font-weight:500;line-height:1.15;}
.h-xl{font-size:clamp(2.6rem,5.5vw,5rem);letter-spacing:-.02em;}
.h-lg{font-size:clamp(2.1rem,4vw,3.4rem);letter-spacing:-.01em;}
.h-md{font-size:clamp(1.6rem,2.6vw,2.2rem);}
.h-sm{font-size:1.3rem;}
.eyebrow{
  font-family:var(--font-body);
  text-transform:uppercase;
  letter-spacing:.15em;
  font-size:.75rem;
  font-weight:600;
  color:var(--c-gold);
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  margin-bottom:1.2rem;
}
.eyebrow::before{content:'';width:2rem;height:1px;background:var(--c-gold);}
p.lead{font-size:1.05rem;color:var(--c-grey);max-width:38rem;}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  padding:1rem 2rem;font-size:.85rem;font-weight:600;letter-spacing:.03em;
  text-transform:uppercase;transition:all .35s var(--ease);border:1px solid transparent;
  white-space:nowrap;
}
.btn-primary{background:var(--c-gold);color:var(--c-black);}
.btn-primary:hover{background:var(--c-gold-light);transform:translateY(-2px);}
.btn-outline{border-color:rgba(255,255,255,.4);color:var(--c-white);}
.btn-outline:hover{background:rgba(255,255,255,.12);}
.btn-outline-dark{border-color:rgba(0,0,0,.25);color:var(--c-dark);}
.btn-outline-dark:hover{background:var(--c-dark);color:var(--c-white);}
.btn-block{width:100%;}

/* ---------- Preloader ---------- */
#preloader{
  position:fixed;inset:0;z-index:9999;background:var(--c-black);
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1rem;
  transition:opacity .6s ease, visibility .6s ease;
}
#preloader.hide{opacity:0;visibility:hidden;pointer-events:none;}
.preloader-logo{font-family:var(--font-head);color:var(--c-gold-light);font-size:1.5rem;letter-spacing:.05em;}
.preloader-bar{width:14rem;height:1px;background:rgba(255,255,255,.15);position:relative;overflow:hidden;}
.preloader-bar::after{content:'';position:absolute;left:0;top:0;height:100%;width:0%;background:var(--c-gold);animation:loadbar 1.4s var(--ease) forwards;}
@keyframes loadbar{to{width:100%;}}

/* ---------- Navbar ---------- */
.navbar{
  position:fixed;top:0;left:0;right:0;z-index:900;
  padding:1.4rem 0;transition:background .4s var(--ease),padding .4s var(--ease),box-shadow .3s;
}
.navbar.scrolled{background:rgba(13,13,13,.92);backdrop-filter:blur(10px);padding:.9rem 0;box-shadow:0 1px 0 rgba(255,255,255,.06);}
.navbar .container{display:flex;align-items:center;justify-content:space-between;}
.nav-logo{font-family:var(--font-head);color:var(--c-white);font-size:1.35rem;letter-spacing:.02em;}
.nav-logo span{color:var(--c-gold-light);}
.nav-links{display:flex;align-items:center;gap:2.4rem;}
.nav-links a{color:var(--c-white);font-size:.85rem;font-weight:500;letter-spacing:.02em;position:relative;padding:.3rem 0;}
.nav-links a::after{content:'';position:absolute;left:0;bottom:-2px;height:1px;width:0;background:var(--c-gold-light);transition:width .3s var(--ease);}
.nav-links a:hover::after{width:100%;}
.nav-dropdown{position:relative;}
.nav-dropdown-menu{
  position:absolute;top:calc(100% + 1.4rem);left:50%;transform:translateX(-50%) translateY(8px);
  background:var(--c-white);min-width:23rem;padding:1rem;box-shadow:0 1.5rem 3rem rgba(0,0,0,.18);
  opacity:0;visibility:hidden;transition:all .3s var(--ease);display:grid;grid-template-columns:1fr 1fr;gap:.2rem;
}
.nav-dropdown:hover .nav-dropdown-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.nav-dropdown-menu a{color:var(--c-dark);font-size:.8rem;padding:.6rem .7rem;display:block;border-radius:2px;}
.nav-dropdown-menu a:hover{background:var(--c-cream);color:var(--c-gold);}
.nav-dropdown-menu a::after{display:none;}
.nav-cta{display:flex;align-items:center;gap:1.2rem;}
.nav-burger{display:none;flex-direction:column;gap:5px;width:2rem;cursor:pointer;z-index:20;}
.nav-burger span{height:2px;background:var(--c-white);transition:.3s;}

.mobile-nav{
  position:fixed;inset:0;background:var(--c-black);z-index:850;
  display:flex;flex-direction:column;justify-content:center;padding:2rem 2rem;
  transform:translateY(-100%);transition:transform .5s var(--ease);
}
.mobile-nav.open{transform:translateY(0);}
.mobile-nav a{display:block;color:var(--c-white);font-family:var(--font-head);font-size:1.8rem;padding:.6rem 0;border-bottom:1px solid rgba(255,255,255,.08);}
.mobile-nav .mnav-sub{padding-left:1rem;}
.mobile-nav .mnav-sub a{font-size:1rem;font-family:var(--font-body);color:var(--c-grey-light);border:none;padding:.4rem 0;}

@media(max-width:991px){
  .nav-links{display:none;}
  .nav-burger{display:flex;}
  .nav-cta .btn{display:none;}
}

/* ---------- Hero ---------- */
.hero{
  position:relative;height:100svh;min-height:38rem;width:100%;overflow:hidden;
  display:flex;align-items:flex-end;color:var(--c-white);
}
.hero-media{position:absolute;inset:0;z-index:1;}
.hero-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);}
.hero-overlay{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(0,0,0,.25) 0%,rgba(0,0,0,.15) 40%,rgba(0,0,0,.75) 100%);}
.hero-content{position:relative;z-index:3;padding-bottom:5rem;width:100%;}
.hero-content .eyebrow{color:var(--c-gold-light);}
.hero-content h1{max-width:46rem;}
.hero-content p.lead{color:rgba(255,255,255,.82);margin-top:1.2rem;}
.hero-btns{display:flex;gap:1rem;margin-top:2.2rem;flex-wrap:wrap;}
.hero-scroll{position:absolute;bottom:2rem;right:5rem;z-index:3;color:#fff;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;writing-mode:vertical-rl;opacity:.7;display:flex;align-items:center;gap:.8rem;}
.hero-scroll::after{content:'';width:1px;height:3rem;background:#fff;opacity:.5;}
@media(max-width:600px){.hero-scroll{right:1.25rem;}}

/* small page hero (inner pages) */
.page-hero{height:70vh;min-height:26rem;}
.page-hero .hero-content{padding-bottom:3.5rem;}

/* ---------- Sections generic ---------- */
section{position:relative;}
.sec-pad{padding:6.5rem 0;}
@media(max-width:767px){.sec-pad{padding:4rem 0;}}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:3.5rem;flex-wrap:wrap;}
.sec-head.center{flex-direction:column;align-items:center;text-align:center;}
.reveal{opacity:0;transform:translateY(36px);transition:opacity .9s var(--ease),transform .9s var(--ease);}
.reveal.in{opacity:1;transform:translateY(0);}
.reveal-delay-1{transition-delay:.1s;}
.reveal-delay-2{transition-delay:.2s;}
.reveal-delay-3{transition-delay:.3s;}

/* ---------- Trust strip ---------- */
.trust-strip{background:var(--c-black);color:#fff;padding:1.6rem 0;}
.trust-strip .container{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1.2rem;}
.trust-item{display:flex;align-items:center;gap:.7rem;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--c-grey-light);}
.trust-item strong{color:#fff;font-weight:600;}
.trust-item svg{width:18px;height:18px;stroke:var(--c-gold-light);flex-shrink:0;}

/* ---------- Project grid ---------- */
.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
@media(max-width:991px){.projects-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.projects-grid{grid-template-columns:1fr;}}
.project-card{position:relative;overflow:hidden;background:var(--c-charcoal);aspect-ratio:4/5;color:#fff;}
.project-card .pc-img{position:absolute;inset:0;}
.project-card .pc-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);}
.project-card:hover .pc-img img{transform:scale(1.08);}
.project-card .pc-gradient{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.85) 100%);}
.project-card .pc-status{position:absolute;top:1.2rem;left:1.2rem;background:var(--c-gold);color:#000;font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.35rem .8rem;z-index:2;}
.project-card .pc-body{position:absolute;left:0;right:0;bottom:0;padding:1.6rem;z-index:2;}
.project-card .pc-body .loc{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--c-gold-light);margin-bottom:.4rem;}
.project-card .pc-body h3{font-size:1.4rem;}
.project-card .pc-body .cfg{font-size:.8rem;color:rgba(255,255,255,.75);margin-top:.4rem;}
.project-card .pc-arrow{position:absolute;top:1.2rem;right:1.2rem;width:2.6rem;height:2.6rem;border:1px solid rgba(255,255,255,.4);border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:2;transition:.35s;}
.project-card:hover .pc-arrow{background:var(--c-gold);border-color:var(--c-gold);transform:rotate(45deg);}
.project-card .pc-arrow svg{width:16px;height:16px;stroke:#fff;}
.project-card:hover .pc-arrow svg{stroke:#000;}

/* ---------- Advantages ---------- */
.adv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--c-line);}
@media(max-width:991px){.adv-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.adv-grid{grid-template-columns:1fr;}}
.adv-item{background:var(--c-cream);padding:2.6rem 2rem;}
.adv-num{font-family:var(--font-head);font-size:.85rem;color:var(--c-gold);border:1px solid var(--c-gold);width:2.4rem;height:2.4rem;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1.4rem;}
.adv-item h4{font-size:1.15rem;margin-bottom:.7rem;}
.adv-item p{font-size:.88rem;color:var(--c-grey);}

/* ---------- Stats ---------- */
.stats-row{display:flex;gap:3rem;flex-wrap:wrap;border-top:1px solid var(--c-line);padding-top:2.6rem;margin-top:3rem;}
.stat{flex:1;min-width:8rem;}
.stat .num{font-family:var(--font-head);font-size:2.6rem;color:var(--c-dark);}
.stat .num span{color:var(--c-gold);}
.stat .lbl{font-size:.8rem;color:var(--c-grey);margin-top:.3rem;}

/* ---------- Dark CTA ---------- */
.cta-dark{background:var(--c-black);color:#fff;position:relative;overflow:hidden;}
.cta-dark .container{position:relative;z-index:2;text-align:center;padding:6rem 5rem;}
.cta-dark h2{color:#fff;max-width:42rem;margin:0 auto 1.2rem;}
.cta-dark p{color:rgba(255,255,255,.7);max-width:34rem;margin:0 auto 2.2rem;}
.cta-dark .hero-btns{justify-content:center;}
.cta-bg-pattern{position:absolute;inset:0;opacity:.06;background-image:radial-gradient(circle at 20% 30%,#fff 0,transparent 40%),radial-gradient(circle at 80% 70%,#fff 0,transparent 40%);}

/* ---------- FAQ accordion ---------- */
.faq-list{max-width:56rem;margin:0 auto;}
.faq-item{border-bottom:1px solid var(--c-line);}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 0;cursor:pointer;gap:1rem;}
.faq-q h4{font-size:1.05rem;font-weight:500;font-family:var(--font-body);}
.faq-icon{flex-shrink:0;width:1.4rem;height:1.4rem;position:relative;}
.faq-icon::before,.faq-icon::after{content:'';position:absolute;background:var(--c-dark);top:50%;left:50%;transform:translate(-50%,-50%);}
.faq-icon::before{width:100%;height:1px;}
.faq-icon::after{width:1px;height:100%;transition:transform .3s var(--ease);}
.faq-item.open .faq-icon::after{transform:translate(-50%,-50%) rotate(90deg) scale(0);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease);}
.faq-a-inner{padding-bottom:1.5rem;color:var(--c-grey);font-size:.92rem;max-width:44rem;}

/* ---------- Footer ---------- */
footer{background:var(--c-black);color:#fff;padding-top:5rem;}
.footer-top{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:2rem;padding-bottom:3.5rem;border-bottom:1px solid rgba(255,255,255,.1);}
@media(max-width:991px){.footer-top{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.footer-top{grid-template-columns:1fr;}}
.footer-brand .nav-logo{margin-bottom:1rem;display:block;}
.footer-brand p{color:var(--c-grey-light);font-size:.85rem;max-width:20rem;margin-bottom:1.4rem;}
.footer-social{display:flex;gap:.7rem;}
.footer-social a{width:2.4rem;height:2.4rem;border:1px solid rgba(255,255,255,.15);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:.3s;}
.footer-social a:hover{background:var(--c-gold);border-color:var(--c-gold);}
.footer-social svg{width:16px;height:16px;}
.footer-col h5{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--c-grey-light);margin-bottom:1.4rem;}
.footer-col a,.footer-col p{display:block;color:rgba(255,255,255,.85);font-size:.85rem;padding:.35rem 0;}
.footer-col a:hover{color:var(--c-gold-light);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:2rem 0;flex-wrap:wrap;gap:1rem;}
.footer-bottom p{font-size:.75rem;color:var(--c-grey-light);}
.footer-bottom-links{display:flex;gap:1.6rem;flex-wrap:wrap;}
.footer-bottom-links a{font-size:.75rem;color:var(--c-grey-light);}
.footer-bottom-links a:hover{color:#fff;}
.footer-disclaimer{background:rgba(255,255,255,.03);padding:1.4rem 0;font-size:.72rem;color:var(--c-grey-light);line-height:1.7;}

/* ---------- WhatsApp float ---------- */
.wa-float{
  position:fixed;bottom:1.8rem;right:1.8rem;z-index:500;
  width:3.6rem;height:3.6rem;background:#25D366;border-radius:50%;
  display:flex;align-items:center;justify-content:center;box-shadow:0 .6rem 1.6rem rgba(0,0,0,.3);
  transition:transform .3s;
}
.wa-float:hover{transform:scale(1.08);}
.wa-float svg{width:1.8rem;height:1.8rem;fill:#fff;}

/* ---------- Enquiry form ---------- */
.enquiry-wrap{background:var(--c-charcoal);color:#fff;padding:3.5rem;}
@media(max-width:600px){.enquiry-wrap{padding:2rem 1.4rem;}}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-bottom:1.2rem;}
@media(max-width:600px){.form-row{grid-template-columns:1fr;}}
.field{display:flex;flex-direction:column;gap:.4rem;}
.field label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--c-grey-light);}
.field input,.field select,.field textarea{
  background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.2);
  color:#fff;padding:.7rem 0;font-size:.95rem;
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--c-gold);}
.field select option{color:#000;}
.form-note{font-size:.72rem;color:var(--c-grey-light);margin-top:1.2rem;}

/* ---------- Project page: quickfacts ---------- */
.quickfacts{background:#fff;box-shadow:0 1rem 3rem rgba(0,0,0,.08);margin-top:-4.5rem;position:relative;z-index:5;padding:2rem 2.5rem;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;}
@media(max-width:767px){.quickfacts{margin-top:-2.5rem;padding:1.5rem;}}
.qf-item{flex:1;min-width:8rem;}
.qf-item .lbl{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--c-grey);margin-bottom:.35rem;}
.qf-item .val{font-family:var(--font-head);font-size:1.15rem;}
.qf-cta{display:flex;align-items:center;}

.two-col{display:grid;grid-template-columns:1.5fr 1fr;gap:4rem;align-items:start;}
@media(max-width:900px){.two-col{grid-template-columns:1fr;gap:2.5rem;}}
.info-table{width:100%;border-collapse:collapse;margin-top:1.5rem;}
.info-table tr{border-bottom:1px solid var(--c-line);}
.info-table td{padding:1rem 0;font-size:.92rem;}
.info-table td:first-child{color:var(--c-grey);width:45%;}
.info-table td:last-child{font-weight:600;}

.amenities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem;}
@media(max-width:600px){.amenities-grid{grid-template-columns:1fr 1fr;}}
.amenity{background:#fff;border:1px solid var(--c-line);padding:1.2rem;text-align:center;font-size:.82rem;font-weight:500;}
.amenity svg{width:22px;height:22px;margin:0 auto .6rem;stroke:var(--c-gold);}

.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;}
@media(max-width:767px){.gallery-grid{grid-template-columns:repeat(2,1fr);}}
.gallery-grid img{aspect-ratio:1;object-fit:cover;transition:transform .5s;}
.gallery-grid a{overflow:hidden;display:block;}
.gallery-grid a:hover img{transform:scale(1.06);}

.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
@media(max-width:767px){.related-grid{grid-template-columns:1fr;}}

.breadcrumb{font-size:.75rem;color:rgba(255,255,255,.75);position:relative;z-index:3;margin-bottom:1rem;}
.breadcrumb a{color:rgba(255,255,255,.9);}
.breadcrumb a:hover{color:var(--c-gold-light);}

.sidebar-card{background:#fff;border:1px solid var(--c-line);padding:2rem;position:sticky;top:7rem;}
.sidebar-card h4{margin-bottom:1.2rem;}

.legal-content{max-width:52rem;}
.legal-content h2{margin-top:2.2rem;margin-bottom:.9rem;font-size:1.4rem;}
.legal-content p,.legal-content li{color:var(--c-grey);font-size:.94rem;margin-bottom:.9rem;}
.legal-content ul{padding-left:1.4rem;list-style:disc;}
.legal-content strong{color:var(--c-dark);}

.badge-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.2rem;}
.badge{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--c-line);padding:.4rem .8rem;color:var(--c-grey);}
