html, body { overflow-x: hidden; scroll-behavior: smooth; }

:root{
  --maroon:#8E3B2F;          /* Vajram heading maroon */
  --maroon-dark:#6E2B22;
  --green:#5E7A3A;           /* logo green */
  --cream:#FAF7F2;
  --ink:#3E3A36;
  --grey:#8d8780;
  --gold:#C8A24B;
  --line:#E7E0D6;
}
html{scroll-behavior:smooth;}
body{font-family:'Jost',sans-serif;color:var(--ink);background:#fff;font-weight:300;}
h1,h2,h3,h4,.serif{font-family:'Cormorant Garamond',serif;}

/* ---------- Header ---------- */
.topbar{background:var(--maroon);color:#fff;font-size:.82rem;letter-spacing:.5px;}
.topbar a{color:#fff;text-decoration:none;}
.navbar{background:#fff;box-shadow:0 2px 14px rgba(0,0,0,.06);}
.navbar .nav-link{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:600;color:var(--maroon)!important;letter-spacing:1.5px;margin:0 .65rem;}
.navbar .nav-link:hover{color:var(--green)!important;}
.brand-logo{display:flex;flex-direction:column;line-height:1;text-decoration:none;}
.brand-logo .mark{font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:700;letter-spacing:4px;color:var(--green);}
.brand-logo .mark .roof{color:var(--maroon);}
.brand-logo .tag{font-size:.55rem;letter-spacing:3px;color:var(--grey);text-transform:uppercase;margin-top:2px;}
.btn-maroon{background:var(--maroon);color:#fff;border-radius:0;letter-spacing:2px;text-transform:uppercase;font-size:.78rem;padding:.65rem 1.4rem;border:1px solid var(--maroon);}
.btn-maroon:hover{background:#fff;color:var(--maroon);}
.btn-outline-maroon{background:transparent;color:var(--maroon);border:1px solid var(--maroon);border-radius:0;letter-spacing:2px;text-transform:uppercase;font-size:.78rem;padding:.65rem 1.4rem;}
.btn-outline-maroon:hover{background:var(--maroon);color:#fff;}

/* ---------- Banner ---------- */
.banner-img{width:100%;overflow:hidden;line-height:0;}
.banner-img__img{width:100%;height:auto;display:block;object-fit:cover;}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:88vh;display:flex;align-items:center;
  background:
    linear-gradient(90deg, rgba(250,247,242,.96) 0%, rgba(250,247,242,.82) 45%, rgba(250,247,242,.35) 100%),
    url('https://www.vajramgroup.com/assets/images/projects/vivera/banner.jpg') center/cover no-repeat, var(--cream);
}
.hero::after{content:"";position:absolute;inset:0;background:url('') center/cover;pointer-events:none;}
.badge-launch{display:inline-block;border:1px solid var(--gold);color:var(--maroon);letter-spacing:4px;font-size:.72rem;padding:.45rem 1.1rem;text-transform:uppercase;background:#fff;}
.hero h1{font-size:clamp(2.6rem,7vw,5.2rem);font-weight:500;letter-spacing:6px;color:#7a756e;}
.hero .meta{color:#8a857d;font-size:1.05rem;}
.hero .meta i{color:var(--maroon);}

/* price card */
.price-card{background:#fff;border:1px solid var(--line);box-shadow:0 18px 40px rgba(110,43,34,.10);padding:1.8rem 1.6rem;}
.price-card .rera{font-size:.72rem;color:var(--grey);letter-spacing:1px;}
.price-card .rera b{color:var(--maroon);font-weight:500;display:block;word-break:break-all;}
.price-card .price{font-family:'Cormorant Garamond',serif;font-size:2.1rem;font-weight:700;color:var(--ink);text-align:center;}
.price-card hr{border-color:var(--line);opacity:1;}
.fact{display:flex;gap:.7rem;align-items:flex-start;}
.fact i{font-size:1.4rem;color:var(--maroon);}
.fact .lbl{font-size:.72rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--grey);}
.fact .val{font-weight:500;color:var(--ink);}

/* ---------- Sections ---------- */
.section{padding:5rem 0;}
.section-title{font-size:clamp(2rem,4.5vw,3rem);font-weight:500;letter-spacing:4px;color:var(--maroon);text-transform:uppercase;}
.section-title-rule{width:100%;height:1px;background:var(--line);margin:1.2rem 0 2.4rem;}
.lead-copy{font-size:1.12rem;line-height:1.9;color:#5c564f;font-weight:300;text-align: justify;}

/* plans tabs */
.plan-tabs .nav-link{font-family:'Cormorant Garamond',serif;border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--grey);font-size:1.15rem;font-weight:600;letter-spacing:2px;}
.plan-tabs .nav-link.active{color:var(--maroon);border-bottom-color:var(--maroon);background:transparent;}
.plan-img{width:100%;aspect-ratio:16/7;object-fit:cover;background:var(--cream);border:1px solid var(--line);}

/* amenities */
.amenity{border:1px solid var(--line);background:#fff;text-align:center;padding:1.6rem .8rem;height:100%;transition:.3s;}
.amenity:hover{box-shadow:0 14px 30px rgba(110,43,34,.10);transform:translateY(-4px);border-color:var(--gold);}
.amenity i{font-size:2rem;color:var(--maroon);}
.amenity .name{margin-top:.7rem;font-size:.92rem;color:var(--ink);}

/* specifications accordion */
.accordion-item{border:1px solid var(--line);border-radius:0!important;margin-bottom:-1px;}
.accordion-button{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:600;letter-spacing:2px;color:var(--maroon);background:#fff;border-radius:0!important;text-transform:uppercase;}
.accordion-button:not(.collapsed){background:var(--cream);color:var(--maroon);box-shadow:none;}
.accordion-button:focus{box-shadow:none;border-color:var(--line);}
.accordion-body{color:#5c564f;line-height:1.9;}
.spec-top-rule{height:3px;background:var(--maroon);}

/* location */
.map-frame{width:100%;height:480px;border:1px solid var(--line);}

/* gallery */
.gallery-img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--cream);border:1px solid var(--line);transition:.35s;display:block;}
.gallery-img:hover{transform:scale(1.02);box-shadow:0 16px 34px rgba(0,0,0,.15);}

/* footer */
footer{background:var(--cream);border-top:1px solid var(--line);}
footer .ft-title{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:700;letter-spacing:2px;color:var(--ink);}
footer a{color:#5c564f;text-decoration:none;}
footer a:hover{color:var(--maroon);}
.social-circle{width:42px;height:42px;border:1px solid var(--ink);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--ink);margin-right:.5rem;transition:.3s;}
.social-circle:hover{background:var(--maroon);border-color:var(--maroon);color:#fff;}
.copy-strip{background:var(--maroon);color:#fff;font-size:.85rem;}
.copy-strip a{color:#fff;}

/* floating buttons */
.float-stack{position:fixed;right:18px;bottom:22px;z-index:1050;display:flex;flex-direction:column;gap:.7rem;align-items:center;}
.float-btn{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;box-shadow:0 8px 22px rgba(0,0,0,.25);text-decoration:none;}
.float-wa{background:#25D366;}
.float-wa:hover{color:#fff;transform:scale(1.06);}
.float-call{background:var(--maroon);}
.float-call:hover{color:#fff;transform:scale(1.06);}

/* modal */
.modal-content{border-radius:0;border:1px solid var(--line);}
.form-control,.form-select{border-radius:0;border-color:var(--line);font-weight:300;}
.form-control:focus,.form-select:focus{border-color:var(--maroon);box-shadow:0 0 0 .15rem rgba(142,59,47,.15);}

@media (max-width: 991.98px){
  .hero{min-height:auto;padding:4rem 0;}
  .section{padding:3.5rem 0;}
}
@media (prefers-reduced-motion: reduce){
  *{transition:none!important;animation:none!important;}
  html{scroll-behavior:auto;}
}
 