:root{
  --navy:#0A2C57;
  --navy-deep:#071D3B;
  --royal:#1F4E96;
  --red:#E3232A;
  --gold:#B08A34;
  --gold-light:#D8B96A;
  --cream:#F6F2E9;
  --paper:#FBF9F4;
  --ink:#141A22;
  --ink-soft:#4B5563;
  --line:#E2DCCC;
  --radius:2px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth; overflow-x:clip;}
body{
  font-family:'Manrope',sans-serif;
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;}
h1,h2,h3,h4,.font-display{
  font-family:'Fraunces',serif;
  letter-spacing:-0.01em;
}
p{color:var(--ink-soft); line-height:1.7;}
a{text-decoration:none;}
.container-xl{max-width:1240px;}
.site-header{position:relative; z-index:1050;}

/* ---------- Buttons ---------- */
.btn{border-radius:var(--radius); font-weight:700; padding:.75rem 1.6rem; letter-spacing:.01em; transition:transform .18s ease, box-shadow .18s ease, background .18s ease;}
.btn:active{transform:translateY(1px);}
.btn-red{background:var(--red); color:#fff; border:1px solid var(--red);}
.btn-red:hover{background:#c81b21; color:#fff;}
.btn-outline-cream{background:transparent; color:#fff; border:1px solid rgba(255,255,255,.55);}
.btn-outline-cream:hover{background:rgba(255,255,255,.1); color:#fff; border-color:#fff;}
.btn-navy{background:var(--navy); color:#fff; border:1px solid var(--navy);}
.btn-navy:hover{background:var(--navy-deep); color:#fff;}
.btn-gold-line{background:transparent; color:var(--navy); border:1px solid var(--gold); font-weight:700;}
.btn-gold-line:hover{background:var(--gold); color:#fff;}

/* ---------- Navbar ---------- */
#mainNav{
  background:rgba(251,249,244,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
  transition:padding .25s ease, box-shadow .25s ease;
  padding: 10px 0;
}
#mainNav.scrolled{padding: 14px 0;box-shadow:0 6px 24px rgba(10,44,87,.08);}
#mainNav .navbar-brand img{height: 49px;transition:height .25s ease;}
#mainNav.scrolled .navbar-brand img{height: 42px;}
#mainNav .nav-link{
  font-weight:600; font-size:.92rem; color:var(--ink);
  margin:0 .6rem; position:relative; padding:.4rem .1rem;
}
#mainNav .nav-link::after{
  content:""; position:absolute; left:0; bottom:0; width:0; height:2px; background:var(--red);
  transition:width .2s ease;
}
#mainNav .nav-link:hover::after,
#mainNav .nav-link.active::after{width:100%;}
#mainNav .nav-phone{
  display:flex; align-items:center; gap:.5rem;
  border:1px solid var(--navy); color:var(--navy); font-weight:700;
  padding:.5rem 1rem; border-radius:var(--radius); font-size:.9rem;
}
#mainNav .nav-phone:hover{background:var(--navy); color:#fff;}

/* ---------- Hero ---------- */
.hero{
  position:relative;
  background: linear-gradient(180deg, #000000 0%, #000000 100%);
  color:#fff;
  overflow:hidden;
  padding-top:9.5rem;
  padding-bottom:5rem;
}
.hero-banner-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  opacity: .5;
  /* mix-blend-mode:screen; */
  pointer-events:none;
}
.hero > .container{position:relative; z-index:1;}
.hero .eyebrow-tag{
  display:inline-flex; align-items:center; gap:.5rem;
  border:1px solid rgba(216,185,106,.5); color:var(--gold-light);
  padding:.35rem .9rem; font-size:.78rem; font-weight:600;
  letter-spacing:.03em; border-radius:20px; background:rgba(216,185,106,.06);
}
.hero h1{
  font-size: 36px;
  font-weight:600;
  line-height:1.08;
  color:#fff;
  margin:1.2rem 0 1.1rem;
}
.hero h1 em{font-style:italic; font-weight:500; color:var(--gold-light);}
.hero .lead-text{color: #ffffff;font-size: 16px;/* max-width:520px; */}
.hero-price{
  display:inline-block; margin-top:1.35rem; padding:.9rem 1.25rem;
  border-left:3px solid var(--gold-light); background:rgba(7,29,59,.62);
}
.hero-price-label{color:var(--gold-light); font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase;}
.hero-price-value{color:#fff;font-family:'Fraunces',serif;font-size: 25px;font-weight:600;line-height:1.1;margin-top:.2rem;}
.hero-price-value span{color:var(--gold-light); font-size:1rem; vertical-align:top;}
.hero-price-note{color:#C9D2E0; font-size:.75rem; margin-top:.25rem;}
.hero .divider-strip{
  display:flex; flex-wrap:wrap; gap:0; margin-top:2.2rem; border-top:1px solid rgba(255,255,255,.15);
}
.hero .divider-strip div{
  padding:1rem 1.4rem 0 0; border-right:1px solid rgba(255,255,255,.15); margin-right:1.4rem;
}
.hero .divider-strip div:last-child{border-right:none;}
.hero .divider-strip .num{font-family:'Fraunces',serif; font-size:1.4rem; color:var(--gold-light); font-weight:600;}
.hero .divider-strip .lbl{font-size: 14px;color: #ffffff;text-transform:uppercase;letter-spacing:.04em;}

.hero-form{
  position:relative; z-index:2; padding:1.7rem; background:rgba(251,249,244,.97);
  border-top:4px solid var(--red); box-shadow:0 20px 45px rgba(0,0,0,.24);
}
.hero-form h2{margin:.25rem 0 .45rem; color:var(--navy); font-size:1.65rem;}
.hero-form p{margin-bottom:1.1rem; font-size:.9rem;}
.hero-form-kicker{color:var(--red); font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase;}
.hero-form .form-control,.hero-form .form-select{background:#fff;}
.hero-form-note{display:block; color:var(--ink-soft); font-size:.72rem; line-height:1.4;}

/* ---------- Section shell ---------- */
.section{padding:5.5rem 0;}
.section-alt{background:var(--cream);}
.section-navy{background:var(--navy-deep); color:#fff;}
.kicker{
  font-size:.8rem; font-weight:700; color:var(--red); letter-spacing:.03em;
}
.section-head h2{
  font-size:clamp(1.7rem,2.6vw,2.4rem); color:var(--navy); font-weight:600; margin-top:.4rem;
}
.section-navy .section-head h2{color:#fff;}
.rule-gold{width:56px; height:3px; background:var(--gold); margin:1.1rem 0 0;}

/* ---------- Overview ---------- */
.overview-figure{
  border:1px solid var(--line);
  border-radius:var(--radius);
  /* padding:2rem; */
  background:#fff;
  position:relative;
}
.overview-image{display:block;width: 100%;height: 376px;object-fit:cover;/* object-position:center; */margin: 0;border-radius:var(--radius) var(--radius) 0 0;}
.overview-figure .stat-big{font-family:'Fraunces',serif; font-size:3.2rem; color:var(--navy); font-weight:600; line-height:1;}
.overview-figure .stat-lbl{color:var(--ink-soft); font-size:.95rem; margin-top:.3rem;}
@media (max-width:575px){.overview-image{height:165px;}}

/* ---------- Price cards ---------- */
.price-card{
  border:1px solid var(--line); background:#fff; padding:2.2rem 1.8rem; height:100%;
  border-radius:var(--radius); position:relative;
}
.price-card .badge-tag{
  font-size:.7rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
  color:var(--gold); border:1px solid var(--gold); padding:.25rem .6rem; border-radius:20px;
}
.price-card h3{font-size:1.25rem;color: #000000;margin:1rem 0 .3rem;}
.price-card .area{color:var(--ink-soft); font-size:.9rem;}
.price-card .price{font-family:'Fraunces',serif;font-size:1.7rem;color: #00448d;margin:.7rem 0 1.2rem;}
.price-card.featured{
  background:var(--navy); color:#fff; border-color:var(--navy); transform:translateY(-10px);
  box-shadow:0 24px 48px rgba(10,44,87,.22);
}
.price-card.featured h3, .price-card.featured .price{color:#fff;}
.price-card.featured .area{color:#C9D2E0;}
.price-card.featured .badge-tag{color:var(--gold-light); border-color:var(--gold-light);}

/* ---------- Why invest grid ---------- */
.why-invest-layout{display:grid; grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr); gap:3.2rem; align-items:stretch;}
.why-invest-panel{display:flex; flex-direction:column; align-items:flex-start; padding:2.3rem; color:#fff; background:linear-gradient(145deg,var(--navy-deep),var(--navy)); border-radius:var(--radius); box-shadow:0 18px 36px rgba(10,44,87,.14);}
.why-invest-panel .section-head h2{color:#fff; font-size:clamp(1.65rem,2.5vw,2.2rem);}
.why-invest-panel p{color:#C9D2E0; font-size:.9rem; line-height:1.7; margin:1.6rem 0 0;}
.why-invest-trust{display:flex; align-items:center; gap:.65rem; margin-top:auto; padding-top:2rem; color:var(--gold-light); font-size:.8rem; font-weight:800; letter-spacing:.03em;}
.why-invest-trust i{font-size:1.15rem;}
.why-invest-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem;}
.why-invest-card{display:flex; gap:1rem; align-items:flex-start; padding:1.35rem; background:#fff; border:1px solid var(--line); border-radius:var(--radius); transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;}
.why-invest-card:hover{transform:translateY(-3px); border-color:var(--gold); box-shadow:0 14px 28px rgba(10,44,87,.08);}
.why-invest-card i{flex:0 0 auto; color:var(--red); font-size:1.35rem; margin-top:.15rem;}
.why-invest-card h4{font-size:.98rem; color:var(--navy); margin:0 0 .3rem; font-family:'Manrope',sans-serif; font-weight:800;}
.why-invest-card p{margin:0;font-size: 15px;line-height:1.55;}
.why-invest-card-featured{grid-column:span 2;background: #ffffff;border-color:rgba(176,138,52,.45);}

/* ---------- Highlights grid ---------- */
.hl-grid{display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line);}
.hl-item{
  border-right:1px solid var(--line); border-bottom:1px solid var(--line);
  padding:2.1rem 1.6rem; background:#fff; transition:background .2s ease;
}
.hl-item:hover{background:var(--cream);}
.hl-item i{font-size:1.6rem; color:var(--gold);}
.hl-item h4{font-size: 20px;color:var(--navy);margin:.9rem 0 .3rem;}
.hl-item p{font-size: 15px;margin:0;}

/* ---------- Location ---------- */
.loc-badge{
  display:flex; align-items:flex-start; gap:.8rem; padding:.9rem 0; border-bottom:1px dashed var(--line);
}
.loc-badge:last-child{border-bottom:none;}
.loc-badge i{color:var(--navy); font-size:1.15rem; margin-top:.15rem;}
.map-frame{position:relative; height:420px; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; box-shadow:0 20px 40px rgba(10,44,87,.08); background:var(--cream);}
.location-map-image{display:block; width:100%; height:100%; object-fit:cover;}
.map-location-pin{position:absolute; left:50%; top:50%; display:flex; align-items:center; gap:.45rem; transform:translate(-50%,-50%); padding:.55rem .75rem; color:#fff; background:var(--red); border-radius:var(--radius); box-shadow:0 8px 18px rgba(0,0,0,.25); font-size:.78rem; font-weight:800; white-space:nowrap;}
.map-location-pin::after{content:""; position:absolute; left:50%; bottom:-8px; width:16px; height:16px; background:var(--red); transform:translateX(-50%) rotate(45deg); z-index:0;}
.map-location-pin i,.map-location-pin span{position:relative; z-index:1;}

/* ---------- Vision / gallery mosaic ---------- */
.vision-gallery-card{position:relative;height:280px;overflow:hidden;background:var(--navy);border-radius:var(--radius);}
.vision-gallery-card::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(7,29,59,.02) 25%,rgba(7,29,59,.86) 100%);}
.vision-gallery-card img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s ease;}
.vision-gallery-card:hover img{transform:scale(1.06);}
.vision-gallery-caption{position:absolute;z-index:1;left:1.2rem;right:1.2rem;bottom:1.1rem;color:#fff;font-family:'Fraunces',serif;font-size:1.12rem;font-weight:600;display: none;}

/* ---------- CTA band ---------- */
.cta-band{
  background:linear-gradient(120deg,var(--navy-deep), var(--navy) 60%, var(--royal));
  color:#fff; padding:4rem 0; position:relative; overflow:hidden;
}
.cta-band h2{font-size: 28px;color:#fff;}
.cta-band .cta-phone{font-family:'Fraunces',serif; font-size:1.6rem; color:var(--gold-light);}

/* ---------- Contact ---------- */
.contact-card{background:var(--navy); color:#fff; padding:2.4rem; border-radius:var(--radius);}
.contact-card h3{color:#fff; font-size:1.3rem;}
.contact-line{display:flex; gap:.9rem; align-items:flex-start; padding:.85rem 0; border-bottom:1px solid rgba(255,255,255,.15);}
.contact-line:last-child{border-bottom:none;}
.contact-line i{color:var(--gold-light); font-size:1.1rem; margin-top:.15rem;}
.form-control, .form-select{
  border-radius:var(--radius); border:1px solid var(--line); padding:.75rem .9rem; font-size:.95rem;
}
.form-control:focus, .form-select:focus{border-color:var(--navy); box-shadow:0 0 0 .2rem rgba(10,44,87,.12);}
.form-label{font-size:.85rem; font-weight:700; color:var(--navy);}

/* ---------- Footer ---------- */
footer{background:var(--navy-deep); color:#C9D2E0; padding:4rem 0 0;}
footer h5{color:#fff; font-family:'Fraunces',serif; font-size:1.05rem; margin-bottom:1rem;}
footer a{color:#B7C1D2;}
footer a:hover{color:var(--gold-light);}
footer .foot-logo{height: 43px;/* filter:brightness(0) invert(1); *//* opacity:.95; */text-align: center;margin: 0 auto;display: flex;}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1); margin-top:2.5rem; padding:1.4rem 0; font-size:.82rem; color:#8895AA;}

/* ---------- Legal pages ---------- */
.legal-page{padding-top:10rem; padding-bottom:5rem; min-height:70vh;}
.legal-page .legal-intro{max-width:760px; margin:0 auto 3rem; text-align:center;}
.legal-page .legal-intro h1{color:var(--navy); font-size:clamp(2.3rem,4vw,3.8rem);}
.legal-page .legal-intro p{margin:1rem auto 0;}
.legal-content{max-width:860px; margin:0 auto; padding:2.5rem; background:#fff; border:1px solid var(--line);}
.legal-content h2{color:var(--navy); font-size:1.45rem; margin:2rem 0 .7rem;}
.legal-content h2:first-child{margin-top:0;}
.legal-content p,.legal-content li{font-size:.94rem;}
.legal-content ul{padding-left:1.25rem;}
.legal-content li{margin-bottom:.45rem; color:var(--ink-soft); line-height:1.7;}
.legal-back{display:inline-flex; align-items:center; gap:.45rem; margin-top:2rem; color:var(--red); font-weight:700;}
@media (max-width:575px){.legal-page{padding-top:8rem;}.legal-content{padding:1.5rem;}}
.rera-strip{/* background:var(--navy); */color:#C9D2E0;font-size:.8rem;padding:.6rem 0;text-align:center;}
.rera-strip strong{color:var(--gold-light);}

/* ---------- Floating actions ---------- */
.float-actions{position:fixed; right:1.2rem; bottom:1.2rem; z-index:1050; display:flex; flex-direction:column; gap:.7rem;}
.float-btn{
  width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:1.4rem; box-shadow:0 10px 24px rgba(0,0,0,.25); transition:transform .2s ease;
}
.float-btn:hover{transform:scale(1.08); color:#fff;}
.float-btn.wa{background:#25D366;}
.float-btn.call{background:var(--red);}
.float-btn.top{background:var(--navy); opacity:0; pointer-events:none; transition:opacity .25s ease, transform .2s ease;}
.float-btn.top.show{opacity:1; pointer-events:auto;}

/* ---------- Sticky mobile bar ---------- */
.mobile-cta-bar{
  position:fixed; left:0; right:0; bottom:0; z-index:1040; display:none;
  background:var(--navy-deep); border-top:1px solid rgba(255,255,255,.1);
}
.mobile-cta-bar a{flex:1; text-align:center; padding:.85rem 0; color:#fff; font-weight:700; font-size:.85rem;}
.mobile-cta-bar a.call{background:var(--red);}
.mobile-cta-bar a.enq{background:var(--gold);}
@media (max-width:767px){
  .container,.container-fluid{width:100%; max-width:100%;}
  .row > *{min-width:0;}
  .hero-form,.overview-figure,.price-card,.contact-card,.blueprint-card,.why-invest-card{max-width:100%; min-width:0;}
  .form-control,.form-select{max-width:100%;}
  #mainNav{padding:.65rem 0;}
  #mainNav .navbar-brand img{height:32px;}
  #mainNav .navbar-collapse{margin-top:.7rem; padding:.6rem 0 .25rem; border-top:1px solid var(--line);}
  #mainNav .navbar-nav{gap:.15rem;}
  #mainNav .nav-link{margin:0; padding:.65rem .2rem;}
  #mainNav .nav-link::after{bottom:.2rem;}
  .hero{padding-top:7.2rem; padding-bottom:3.5rem;}
  .hero .row{--bs-gutter-y:2.5rem;}
  .hero h1{font-size:26px;}
  .hero .lead-text{font-size:1rem;}
  .hero-price-value{font-size:1.55rem;}
  .hero .btn{width:100%;}
  .hero-banner-image{object-position:58% center; opacity:.4;}
  .hero-form{margin-top:.5rem; padding:1.35rem;}
  .mobile-cta-bar{display:flex;}
  body{padding-bottom:52px;}
  .hl-grid{grid-template-columns:repeat(2,1fr);}
  .vision-gallery-card{height:230px;}
  .price-card.featured{transform:none;}
  .price-float{position:static; margin-top:1.5rem; max-width:100%;}
  .payment-plan-heading{display:block; margin-bottom:1.8rem;}
  .payment-plan-heading > p{margin-top:1.1rem;}
  .payment-plan-layout{display:block;}
  .payment-summary{padding:1.6rem; margin-bottom:1.8rem;}
  .payment-summary-label{margin-top:1.25rem;}
  .payment-summary strong{font-size:3rem;}
  .payment-timeline{padding:.1rem 0;}
  .payment-step{grid-template-columns:2.7rem 1fr auto; gap:.75rem; min-height:68px;}
  .payment-step-marker{width:2.6rem; height:2.6rem; font-size:.68rem;}
  .payment-timeline::before{left:1.3rem; top:1.45rem; bottom:1.45rem;}
  .payment-step-content span{font-size:.85rem;}
  .payment-step-content small{font-size:.72rem;}
  .payment-step > strong{font-size:1.25rem;}
  .why-invest-layout{display:block;}
  .why-invest-panel{padding:1.7rem; margin-bottom:1.25rem;}
  .why-invest-trust{margin-top:1.7rem; padding-top:0;}
  .why-invest-grid{grid-template-columns:1fr; gap:.75rem;}
  .why-invest-card-featured{grid-column:auto;}
  .why-invest-card{padding:1.1rem;}
}

@media (min-width:768px) and (max-width:991px){
  #mainNav .navbar-collapse{margin-top:.75rem; padding-top:.5rem; border-top:1px solid var(--line);}
  #mainNav .nav-link{margin:0 .2rem;}
  .hero{padding-top:8.5rem;}
}

@media (min-width:992px){
  .hero-form{padding:1.35rem;}
  .hero-form h2{font-size:1.4rem;}
  .hero-form p{font-size:.82rem;}
  .hero-form .btn{padding:.65rem .8rem; font-size:.85rem;}
}

.reveal{opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease;}
.reveal.in{opacity:1; transform:translateY(0);}

/* ---------- Floor Plan (blueprint cards) ---------- */
.blueprint-card{
  background:
    repeating-linear-gradient(0deg, rgba(216,185,106,.08) 0 1px, transparent 1px 26px),
    repeating-linear-gradient(90deg, rgba(216,185,106,.08) 0 1px, transparent 1px 26px),
    linear-gradient(160deg,var(--navy-deep),var(--navy));
  color:#fff; border-radius:var(--radius); padding:2.1rem; height:100%;
  position:relative; border:1px solid rgba(216,185,106,.3);
}
.blueprint-card .bp-icon{font-size:1.7rem; color:var(--gold-light);}
.blueprint-card h4{color:#fff;font-size: 20px;margin:1rem 0 .4rem;font-family:'Fraunces',serif;font-weight:600;}
.blueprint-card p{color:#C9D2E0;font-size: 15px;}
.blueprint-card a{color:var(--gold-light); font-weight:700; font-size:.85rem; display:inline-flex; align-items:center; gap:.3rem;}
.blueprint-card a:hover{color:#fff;}

/* ---------- Payment plan timeline ---------- */
.payment-plan-heading{display:flex; align-items:flex-end; justify-content:space-between; gap:3rem; margin-bottom:2.5rem;}
.payment-plan-heading .section-head h2{max-width:600px;}
.payment-plan-heading > p{max-width:420px; margin:0 0 .15rem; font-size:.92rem;}
.payment-plan-layout{display:grid; grid-template-columns:minmax(240px,.78fr) minmax(0,1.22fr); gap:3rem; align-items:stretch;}
.payment-summary{display:flex; flex-direction:column; align-items:flex-start; padding:2.2rem; color:#fff; background:linear-gradient(145deg,var(--navy-deep),var(--navy)); border-radius:var(--radius); box-shadow:0 18px 36px rgba(10,44,87,.16);}
.payment-summary-icon{display:flex; align-items:center; justify-content:center; width:48px; height:48px; color:var(--gold-light); border:1px solid rgba(216,185,106,.5); border-radius:50%; font-size:1.35rem;}
.payment-summary-label{margin-top:2rem; color:var(--gold-light); font-size:.75rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase;}
.payment-summary strong{font-family:'Fraunces',serif; font-size:3.7rem; font-weight:600; line-height:1; margin:.45rem 0 .7rem;}
.payment-summary p{color:#C9D2E0; font-size:.9rem; line-height:1.65; margin:0 0 1.7rem;}
.payment-summary .btn{margin-top:auto;}
.payment-timeline{position:relative; padding:.25rem 0;}
.payment-timeline::before{content:""; position:absolute; top:1.6rem; bottom:1.6rem; left:1.45rem; width:1px; background:var(--line);}
.payment-step{position:relative; display:grid; grid-template-columns:3rem 1fr auto; gap:1rem; align-items:center; min-height:74px; padding:.65rem 0;}
.payment-step-marker{position:relative; z-index:1; display:flex; align-items:center; justify-content:center; width:2.9rem; height:2.9rem; color:var(--navy); background:var(--paper); border:1px solid var(--gold); border-radius:50%; font-size:.72rem; font-weight:800;}
.payment-step-content{display:flex; flex-direction:column; gap:.2rem;}
.payment-step-content span{color:var(--navy); font-weight:800; font-size:.95rem;}
.payment-step-content small{color:var(--ink-soft); font-size:.78rem;}
.payment-step > strong{color:var(--red); font-family:'Fraunces',serif; font-size:1.45rem; font-weight:600;}
.payment-step-last .payment-step-marker{color:#fff; background:var(--red); border-color:var(--red);}
.payment-plan-note{margin:1.5rem 0 0; color:var(--ink-soft); font-size:.78rem;}

/* ---------- Virtual tour tiles ---------- */
.video-tile{
  position:relative; border-radius:var(--radius); overflow:hidden; height:250px;
  display:flex; align-items:center; justify-content:center; cursor:pointer;
  background:linear-gradient(135deg,var(--navy-deep),var(--royal)) center / cover no-repeat;
}
.video-tile .play-btn{
  width:62px; height:62px; border-radius:50%; background:rgba(255,255,255,.14); border:2px solid #fff;
  display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.5rem;
  transition:transform .2s ease, background .2s ease, border-color .2s ease;
}
.video-tile:hover .play-btn{transform:scale(1.1); background:var(--red); border-color:var(--red);}
.video-tile .vt-label{
  position:absolute; left:0; right:0; bottom:0; padding:1.1rem 1.3rem;
  background:linear-gradient(0deg, rgba(0,0,0,.72), transparent);
  color:#fff; font-family:'Fraunces',serif; font-weight:600; font-size:1.05rem;
}

/* ---------- FAQ accordion ---------- */
.accordion-item{border:none; border-bottom:1px solid var(--line); background:transparent;}
.accordion-item:first-of-type, .accordion-item:last-of-type{border-radius:0;}
.accordion-button{font-family:'Manrope',sans-serif; font-weight:700; font-size:1rem; color:var(--navy); background:transparent; padding:1.15rem 0; box-shadow:none !important;}
.accordion-button:not(.collapsed){color:var(--red); background:transparent;}
.accordion-body{padding:0 0 1.3rem; color:var(--ink-soft); font-size:.92rem;}

.contact-line a {
    color: #ffffffb5;
}
@media (max-width: 768px) {
   .hero .divider-strip{
    display: none;
   }
   .section {
  padding: 52px 0;
}
.section-head h2{
  font-size: 26px;
}
.hl-item{
  padding: 15px;
}
.blueprint-card{
  padding: 15px;
}
.contact-card{
  padding: 15px;
}
.cta-band h2{
  font-size: 22px;
}
.cta-band .cta-phone{
  font-size: 20px;
}
}
.food_item{
  color: #ffffff;
  font-size: 16px;
  font-weight: 500;
}


/* nn */
.offer-list {
    width: 100%;
    max-width: 373px;
}

.offer-item {
    display: flex;
    align-items: center;
    /* height: 42px; */
    margin-bottom: 9px;
    background: #01438d;
    color: #fff;
    border-radius: 2px;
    /* overflow: hidden; */
    padding: 2px 4px;
}

.offer-icon {
    width: 45px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(0, 0, 0, 0.08);
    font-size: 19px;
    flex-shrink: 0;
}

.offer-text {
    padding: 0 12px;
    font-family: Arial, sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;
}

/* Mobile */
@media (max-width: 576px) {
    .offer-item {
        height: 40px;
    }

    .offer-icon {
        width: 42px;
        font-size: 17px;
    }

    .offer-text {
        font-size: 12px;
        padding: 0 8px;
    }
}

.offer-icon {
    width: 28px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgb(1 67 141);
    /* border-right: 1px solid rgba(255,255,255,0.08); */
    font-size: 14px;
}

/* =========================================
   PRICE LIST SECTION
========================================= */

#price {
    position: relative;
    padding: 53px 0;
    background: #f7f7f5;
}

#price .section-head {
    margin-bottom: 20px;
}

#price .kicker {
    color: #c99b45;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 10px;
}

#price .section-head h2 {
    color: #16263a;
    font-size: 30px;
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 18px;
}

#price .rule-gold {
    width: 65px;
    height: 3px;
    background: #c99b45;
}


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

#price .price-card {
    position: relative;
    height: 100%;
    padding: 24px 24px 24px;
    background: #ffffff;
    border: 1px solid #e7e2d9;
    border-radius: 14px;
    box-shadow: 0 8px 30px rgba(20, 35, 50, 0.07);
    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease,
        border-color 0.35s ease;
    overflow: hidden;
}

#price .price-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(
        90deg,
        #d71920,
        #c99b45
    );
}

#price .price-card:hover {
    transform: translateY(-8px);
    border-color: #d6b56e;
    box-shadow: 0 18px 45px rgba(20, 35, 50, 0.13);
}


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

#price .price-card.featured {
    background: #16263a;
    border-color: #16263a;
    box-shadow: 0 15px 40px rgba(22, 38, 58, 0.18);
}

#price .price-card.featured::before {
    height: 5px;
    background: linear-gradient(
        90deg,
        #ed1c24,
        #d7aa4b
    );
}

#price .price-card.featured h3 {
    color: #ffffff;
}

#price .price-card.featured .area {
    color: #dce2e8;
    border-bottom-color: rgba(255,255,255,0.10);
}

#price .price-card.featured .area i {
    color: #e0b65b;
}

#price .price-card.featured .price {
    color: #e0b65b;
}


/* =========================================
   BADGE
========================================= */

#price .badge-tag {
    display: inline-flex;
    align-items: center;

    padding: 6px 13px;
    margin-bottom: 20px;

    background: #f5ead4;
    color: #9a702c;

    border-radius: 50px;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

#price .featured .badge-tag {
    background: rgba(255,255,255,0.12);
    color: #e7c477;
}


/* =========================================
   ICON
========================================= */

#price .price-icon {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    background: linear-gradient(
        135deg,
        #fff6e4,
        #f1dfb8
    );
    color: #a4772d;
    border-radius: 12px;
    font-size: 17px;
}

#price .featured .price-icon {
    background: rgba(255,255,255,0.10);
    color: #e2b75e;
}


/* =========================================
   TITLE
========================================= */

#price .price-card h3 {
    color: #17283b;
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 4px;
}


/* =========================================
   FEATURES
========================================= */

#price .area {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 0;
    color: #000000;
    font-size: 16px;
    line-height: 1.4;
    border-bottom: 1px solid #eeeeee;
}

#price .area i {
    width: 18px;
    color: #b58a3c;
    font-size: 13px;
    text-align: center;
}

#price .area:last-of-type {
    border-bottom: 0;
}


/* =========================================
   PRICE
========================================= */

#price .price {
    margin-top: 11px;
    margin-bottom: 11px;
    color: #8a6a2d;
    font-size: 17px;
    font-weight: 600;
}

#price .price strong {
    display: block;
    margin-top: 4px;
    color: #000000;
    font-size: 20px;
    font-weight: 700;
}

#price .featured .price strong {
    color: #ffffff;
}


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

#price .price-card .btn {
    min-height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 7px;

    font-size: 14px;
    font-weight: 700;

    transition: all 0.3s ease;
}


/* Gold button */

#price .btn-gold-line {
    color: #9b732e;
    background: transparent;
    border: 1px solid #c69a4b;
}

#price .btn-gold-line:hover {
    color: #ffffff;
    background: #b88735;
    border-color: #b88735;
}


/* Red button */

#price .btn-red {
    color: #ffffff;
    background: #df2027;
    border: 1px solid #df2027;
}

#price .btn-red:hover {
    background: #b9161c;
    border-color: #b9161c;
    transform: translateY(-2px);
}


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

@media (max-width: 991px) {

    #price {
        padding: 70px 0;
    }

    #price .section-head h2 {
        font-size: 32px;
    }

}


@media (max-width: 767px) {

    #price {
        padding: 60px 0;
    }

    #price .section-head h2 {
        font-size: 28px;
    }

    #price .price-card {
        padding: 32px 24px 25px;
    }

    #price .price-card h3 {
        font-size: 22px;
    }

}


@media (max-width: 575px) {

    #price .section-head h2 {
        font-size: 25px;
    }

    #price .price-card {
        border-radius: 12px;
    }

    #price .price strong {
        font-size: 25px;
    }

}

/* ==============================
   PROJECT HIGHLIGHTS
================================ */

.project-highlights {
    padding: 70px 0 80px;
    background: #f5f2eb;
}


/* Heading */

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

.heading-kicker {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;

    margin-bottom: 20px;

    color: #a98a4c;
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 4px;
}

.heading-kicker span {
    width: 28px;
    height: 1px;
    background: #a98a4c;
}


.section-heading h2 {
    margin: 0;

    color: #172d47;

    font-family: "DM Serif Display", serif;
    font-size: 32px;
    font-weight: 400;
    line-height: 1.3;
}


.heading-line {
    width: 65px;
    height: 3px;

    margin: 25px auto 0;

    background: #ae8d4d;
}


/* Cards */

.highlight-card {
    position: relative;

    min-height: 138px;

    padding: 25px 22px;

    background: #ffffff;

    border-radius: 10px;

    box-shadow:
        0 8px 25px rgba(25, 35, 45, 0.07);

    transition: all 0.3s ease;
}


.highlight-card:hover {
    transform: translateY(-4px);

    box-shadow:
        0 14px 32px rgba(25, 35, 45, 0.12);
}


/* Number */

.highlight-number {
    margin-bottom: 10px;
    color: #000000;
    font-family: "Montserrat", sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 1;
}


/* Main title */

.highlight-title {
    color: #172d47;
    font-family: "DM Serif Display", serif;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 1.2px;
}


/* Subtitle */

.highlight-subtitle {
    margin-top: 6px;
    color: #000000;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.8px;
}


/* Dark Card */

.highlight-card-dark {
    display: flex;
    flex-direction: column;
    justify-content: center;

    background: #172f4d;
}


.highlight-card-dark .highlight-number {
    color: #ffffff;
}

.highlight-card-dark .highlight-title {
    color: #ffffff;
}

.highlight-card-dark .highlight-subtitle {
    color: #bfc7d0;
}


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

@media (max-width: 991px) {

    .project-highlights {
        padding: 60px 0;
    }

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

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

}


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

@media (max-width: 767px) {

    .project-highlights {
        padding: 50px 15px;
    }

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

    .heading-kicker {
        font-size: 9px;
        letter-spacing: 2.5px;
        gap: 10px;
    }

    .heading-kicker span {
        width: 20px;
    }

    .section-heading h2 {
        font-size: 25px;
        padding: 0 10px;
    }

    .heading-line {
        margin-top: 20px;
    }

    .highlight-card {
        min-height: 125px;
        padding: 22px 20px;
    }

    .highlight-number {
        font-size: 27px;
    }

}


/* Small Mobile */

@media (max-width: 400px) {

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

    .highlight-card {
        min-height: 120px;
    }

}