/* ===== Base ===== */
:root { --cc-orange: #e8864c; --cc-text: #333; --cc-line: #d9e1e6; }
html * { -webkit-font-smoothing: antialiased; }
html, body { overflow-x: clip; } /* FIX: safety net against sideways scroll (use hidden for very old browsers) */
img { max-width: 100%; height: auto; }
body { background: #faf8f5; font-size: .9375rem; line-height: 1.6; font-family: Montserrat, Helvetica, sans-serif; color: var(--cc-text); }
main { position: relative; z-index: 2; background: #faf8f5; }
h1 { color: #fff; font-weight: 700; letter-spacing: -.03em; line-height: 1.3; }
h2, h3, h4, h5, h6 { color: var(--cc-text); font-weight: 700; letter-spacing: -.03em; line-height: 1.3; }
h3, h4, h5, h6, strong, .title small { font-weight: 600; }
p { margin-bottom: 25px; }
hr { margin: 30px 0; border-color: var(--cc-line); opacity: 1; }
hr.more_margin { margin: 10px 0; }
a { color: var(--cc-orange); text-decoration: none; outline: 0; transition: .3s ease-in-out; }
a:hover, a:focus { color: #24262d; text-decoration: none; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.bg_white { background: #fff; }
.margin_80 { padding-top: 80px; padding-bottom: 80px; } /* FIX: was "padding: 80px 0", which removed the container's side padding */
.iti { width: 100%; }

.title small { text-transform: uppercase; color: var(--cc-orange); letter-spacing: 3px; display: block; margin-bottom: 5px; font-size: .75rem; }
.title h2 { font-weight: 700; font-size: 2.1rem; margin-bottom: 15px; }

/* ===== Buttons ===== */
.btn_1, a.btn_1 { border: 0; color: #fff; background: var(--cc-orange); cursor: pointer; display: inline-flex; padding: 14px 25px; font-weight: 600; border-radius: 25px; align-items: center; justify-content: center; line-height: 1; transition: .3s ease-in-out; }
.btn_1.outline.white { background: transparent; border: 2px solid #fff; color: #fff; }
.btn_1.outline.white:hover { background: var(--cc-orange); border-color: #fff; }
.query-btn { margin-top: 10px; border: 0; color: #fff; background: var(--cc-orange); cursor: pointer; display: inline-flex; padding: 13px 25px; font-weight: 600; border-radius: 25px; align-items: center; justify-content: center; line-height: 1; font-size: 14px; transition: .3s ease-in-out; }
a.query-btn:hover, .query-btn:hover { color: #fff; opacity: .9; }
.dekstop_btn { padding-top: 10px; }

/* ===== Header ===== */
header { position: fixed; top: 0; left: 0; width: 100%; padding: 10px 0; z-index: 999; background: transparent; transition: .3s; }
header.fixed_header.sticky { border-bottom: 1px solid var(--cc-line); background: #fff; }
header nav ul { list-style: none; padding: 0; margin: 0; text-align: center; }
header nav ul li { display: inline-block; font-weight: 600; margin-left: 15px; }
header.fixed_header nav ul li a { color: #fff; }
header.fixed_header.sticky nav ul li a { color: var(--cc-text); }
header.fixed_header.sticky nav ul li a.btn_1 { color: #fff; }
a.head-call { border: 0; background: var(--cc-orange); padding: 14px 22px; font-weight: 600; border-radius: 25px; letter-spacing: 1px; }
header.fixed_header.sticky a.head-call { color: #fff; }
.destop-logo-sec { filter: brightness(165); }
header.fixed_header.sticky .destop-logo-sec, header.fixed_header.sticky .my_logo { filter: none; }
.logo_panel { display: flex; align-items: center; justify-content: flex-start; height: 68px; background: #faf8f5; text-align: center; }
.menu_v1 .logo_panel, .menu_v1 .closebt, .menu_v1 .hamburger_2 { display: none; margin-top: 13px !important; }
.closebt { display: inline-block; position: absolute; right: 25px; top: 0; color: #ccc; text-align: center; cursor: pointer; transition: .3s ease-in-out; }
.closebt i { font-size: 2.625rem; }
.closebt:hover { transform: rotate(90deg); }
.hamburger_2 { position: relative; top: 8px; display: inline-block; cursor: pointer; }
.menu_v1 .hamburger_2 { top: 5px; }
.hamburger_2 .hamburger__box { width: 24px; height: 24px; display: inline-block; position: relative; }
.hamburger_2 .hamburger__inner { display: block; top: 50%; margin-top: -2px; }
.hamburger_2 .hamburger__inner, .hamburger_2 .hamburger__inner::before, .hamburger_2 .hamburger__inner::after { width: 24px; height: 2px; background: #fff; position: absolute; transition: transform .15s ease; }
.hamburger_2 .hamburger__inner::before, .hamburger_2 .hamburger__inner::after { content: ""; display: block; }
.hamburger_2 .hamburger__inner::before { top: -8px; }
.hamburger_2 .hamburger__inner::after { bottom: -8px; }
header.fixed_header.sticky .hamburger__inner, header.fixed_header.sticky .hamburger__inner::before, header.fixed_header.sticky .hamburger__inner::after { background: var(--cc-text); }
.hamburger_2:hover .hamburger__inner { animation: burger .4s; }
.hamburger_2:hover .hamburger__inner::before { animation: burger .4s .1s; }
.hamburger_2:hover .hamburger__inner::after { animation: burger .4s .2s; }
@keyframes burger { 0%, 100% { transform-origin: 0 100%; transform: scale(1, 1); } 50% { transform-origin: 0 100%; transform: scale(0, 1); } }
@keyframes price-blink { 50% { color: #ffa500; } }

/* ===== Banner ===== */
#carousel-home { position: relative; overflow: hidden; background-size: cover; background-position: center; aspect-ratio: 1920 / 880; }
#carousel-home img { display: block; width: 100%; height: 100%; object-fit: cover; }
.container.banner-text { position: absolute; top: 50%; transform: translateY(-50%); z-index: 99; width: 100%; margin-left: 12%; }
.slide-text.white, .slide-text.white h2, .slide-text.white h3 { color: #fff; }
.slide-text p { font-size: 1.3125rem; }
.slide-text small { text-transform: uppercase; color: #ebd7b2; letter-spacing: 1px; font-weight: 600; display: block; margin: 0 0 10px; }
.banner-head { font-size: 50px !important; letter-spacing: 1px !important; }
img.check-icon { width: 24px; border: 1px solid #b09677; border-radius: 50%; padding: 3px; margin-right: 5px; }
p.banner-high { margin: 0; font-size: 16px; letter-spacing: .6px; background: #0000007d; width: fit-content; padding: 3px 10px 3px; margin-bottom: 0; }
.banner-price { margin-top: 25px; }
.banner-price .banner-price-detail { padding: 10px 20px; border: 1px solid #fff; border-radius: 30px; font-size: 20px; font-weight: 600; letter-spacing: 1px; }
.banner-form { position: absolute; z-index: 99; top: 50%; right: 10%; transform: translateY(-50%); padding: 30px; border-radius: 10px; background: rgba(255, 255, 255, .2); backdrop-filter: blur(10px); width: 23%; }
.form-heading { text-align: center; color: #fff; margin-bottom: 14px; border: 1px solid #ffffff85; padding: 4px; font-size: 20px; animation: price-blink 1s infinite; font-weight: 600; }
.mobile-section-footer { display: none; }

/* ===== Forms + modals ===== */
.form-control { border-color: #ededed; font-size: .875rem; color: var(--cc-text); height: 50px; }
.form-control:focus { border-color: #ddd; outline: 0; box-shadow: none; }
.form-floating > .form-control { height: calc(3.1rem + 2px) !important; }
.form-floating > label { padding: .8rem .75rem !important; }
p.footer-submit-btn { text-align: center; margin: 10px 0 0; }
.footer-submit-btn input#submit-contact { width: 200px; }
.footer-submit-btn .query-btn { border: 1px solid var(--cc-orange); padding: 15px 50px; }
.inp-box { display: flex; justify-content: center; align-items: baseline; padding-top: 10px; text-align: left; font-size: 12px; }
.inp-box label.inp-txt { padding-left: 10px; color: #fff; font-size: 12px; }
.inp-box label.inp-txt.black { color: #000; }
.modal-content { border: 0 !important; padding: 25px; border-radius: 5px !important; background: #fff; outline: 5px solid #fff; }
#exampleModal .modal-content, #exampleModal3 .modal-content { padding: 25px 5px; }
#exampleModal .banner-form-section, #exampleModal3 .banner-form-section { padding: 10px; }
input#name_contact2, input#phone_contact2, input#email_contact2, input#name_contact3, input#phone_contact3, input#email_contact3 { border: 1px solid #d9ad5b; }
.modal-head { color: #000; text-align: center; letter-spacing: 1px; font-size: 36px; font-weight: 700; line-height: 1.3; margin-bottom: 8px; }
p.modal-para { color: #000; text-align: center; font-size: 16px; margin-bottom: 10px; }
button.btn-close { position: absolute; right: 19px; top: 12px; }

/* ===== Overview ===== */
.parallax_wrapper { position: relative; margin-bottom: 25px; }
.parallax_wrapper .img_over { left: -25%; bottom: 10%; position: absolute; z-index: 99; }
.parallax_wrapper .img_over img { border: 5px solid #fff; width: 50%; height: auto; }
img.rounded-img { border-radius: 10px; }

/* ===== Price ===== */
#price { position: relative; background: linear-gradient(180deg, #fffdf6, transparent), url(../img/price-shape.png) center / cover no-repeat; }
#price .row > [class*="col-"] { display: flex; }
.price-section .price-box { flex: 1; display: flex; flex-direction: column; padding: 50px 20px; margin: 10px 35px; border-radius: 20px; background: #e8864c17; box-shadow: 8px 8px 12px rgba(0, 0, 0, .25), -4px -5px 8px rgba(255, 255, 255, .3); transition: .8s ease-in-out; min-height: 345px; }
.price-section .price-box:hover { background: #e8864c1c url(../img/amenities/rupee1.png) center / contain no-repeat; }
.price-section .typology { border: 1px solid var(--cc-orange); width: fit-content; margin: auto; padding: 5px 35px; border-radius: 10px; font-size: 18px; font-weight: 600; }
.price-section .price-details { text-align: center; padding-top: 20px; font-size: 24px; font-weight: 600; }
.price-section .size-detail { display: flex; justify-content: space-around; margin: 15px 20px 5px; padding-bottom: 5px; font-size: 20px; font-weight: 500; border-bottom: 1px dashed; }
span.rupee { font-size: 20px; }
.price-section .micro-btn { text-align: center; padding-top: 10px; margin-top: auto; }

/* ===== Amenities ===== */
.title-amenities { padding: 90px 12px 40px; } /* FIX: 12px side padding cancels the row's -12px margin (no .container wrapper here) */
img.icon-img { width: 100%; margin-bottom: 25px; }
.box_facilities { text-align: center; padding: 20px; background: #faf8f5; border: 2px solid #ebebeb38; margin: 6px; border-radius: 15px; }
.box_facilities h3 { font-size: 18px; font-weight: 600; }
.box_facilities:hover { box-shadow: rgba(100, 100, 111, .2) 0 7px 29px 0; }
.box_facilities:hover .icon-img { transform: scale(1.01); transition: transform .5s ease-in-out; }

/* ===== Floor plans ===== */
.floor-plans .floor-img { position: relative; border: 1px solid var(--cc-orange); padding: 10px; border-radius: 19px; }
.floor-plans .floor-img h3 { font-size: 20px; text-align: center; margin: 4px 0 12px; }
.floor-plans .floor-img img { border-radius: 30px; width: 100%; height: 350px; object-fit: cover; }

/* ===== Gallery ===== */
.gallerydiv .cols { margin-bottom: 15px; }
.gallerydiv .cols img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }

/* ===== Location ===== */
.location .title { text-align: center; margin-bottom: 40px; }
.high-details { display: flex; justify-content: start; align-items: center; }
.high-details p { padding-left: 15px; margin: 12px; font-size: 16px; }
.location-image { border: 8px solid #e8864c61; border-radius: 25px; padding: 5px; }
.location-image img { width: 100%; height: 100%; border-radius: 15px !important; border: 3px solid #e0d9cf; }

/* ===== Contact ===== */
#contact-us { position: relative; background: url(../img/bg-pattern-pricelist-2.png) center / cover no-repeat; }
.contact-head { padding-bottom: 60px; }
.about-developer { letter-spacing: .2px; line-height: 1.8; }
div#contactform { padding: 35px 35px 25px; border-radius: 10px; box-shadow: 0 3px 6px rgba(0, 0, 0, .16), 0 3px 6px rgb(0 0 0 / 34%); background: #e8864c80; max-width: 80%; }
#contactform .form-heading { color: #766341; }

/* ===== SEO text + FAQ ===== */
#content-section .container, #faq .container { max-width: 960px; }
#content-section h3 { margin: 32px 0 12px; font-size: 1.35rem; }
#content-section h4 { margin: 20px 0 6px; font-size: 1.05rem; }
#content-section p, #faq p { line-height: 1.75; margin-bottom: 14px; }
#content-section ul { columns: 2; column-gap: 32px; padding-left: 20px; margin-bottom: 18px; }
#content-section li { margin-bottom: 6px; line-height: 1.6; break-inside: avoid; }
#faq h3 { margin: 22px 0 6px; font-size: 1.1rem; padding-top: 16px; border-top: 1px solid #e5e5e5; }
#faq h3:first-of-type { border-top: 0; padding-top: 0; }
.fs-value a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }

/* ===== At a Glance / Fact sheet ===== */
.fact-sheet { padding: 70px 0; background: #fff; }
.fact-sheet .container { max-width: 900px; }
.fs-tag { text-align: center; text-transform: uppercase; color: var(--cc-orange); letter-spacing: 3px; font-size: .75rem; font-weight: 600; margin-bottom: 5px; }
.fs-heading { text-align: center; font-size: 2.1rem; margin-bottom: 35px; }
.fs-heading span { display: inline-block; padding-bottom: 10px; border-bottom: 3px solid var(--cc-orange); }
.fs-table { border: 1px solid #e8864c55; border-radius: 15px; overflow: hidden; box-shadow: rgba(100, 100, 111, .15) 0 7px 29px 0; }
.fs-row { display: flex; border-bottom: 1px solid #f0e4da; }
.fs-row:last-child { border-bottom: 0; }
.fs-row:nth-child(odd) { background: #faf8f5; }
.fs-label { flex: 0 0 40%; padding: 14px 20px; font-weight: 600; color: var(--cc-text); background: #e8864c14; border-right: 1px solid #f0e4da; }
.fs-value { flex: 1; padding: 14px 20px; color: #444; }
.fs-value a, .fs-value a:hover { color: var(--cc-orange); }
.fs-value a { text-decoration: underline; text-underline-offset: 3px; }
.fs-footnote { margin: 18px 0 0; font-size: 12px; line-height: 1.6; color: #777; text-align: center; }

/* ===== Footer ===== */
.footer-bottom { padding: 50px 0 10px; background: #24262d; color: #fff; }
.dis { text-align: center; }
.dis p, .dis .btm-foot { font-size: 14px; }
.dis .btm-foot { margin-bottom: 10px; }
.dis p a:hover { color: var(--cc-orange); }

/* ===== Responsive ===== */
@media (max-width: 1490px) {
  .fixed_header .container { max-width: 98%; margin: 0 auto; }
  .container.banner-text { margin-left: unset; }
  .container.banner-text .slide-text.white { position: relative; left: 10%; top: 10%; }
  .banner-form { top: 55%; width: 26%; }
  .inp-box label.inp-txt { font-size: 10px; }
}
@media (max-width: 1366px) {
  header nav ul li { margin-left: 7px; }
  .container.banner-text .slide-text.white { left: 21%; }
  .banner-head { font-size: 41px !important; }
  .banner-form { padding: 15px 20px; width: 28%; }
  .price-section .price-box { margin: 10px 15px; }
}
@media (max-width: 1199px) {
  img.icon-img { margin-bottom: 15px; }
  .box_facilities { border-width: 0; margin: 0; padding: 15px; }
  .box_facilities h3 { font-size: 16px; }
}
@media (min-width: 992px) { .submenu_version .main-menu { width: auto; } }
@media (max-width: 991px) {
  .margin_80 { padding-top: 60px; padding-bottom: 60px; } /* FIX: was "padding: 60px 0" */
  .hamburger_2 { top: 5px; }
  .menu_v1 .closebt, .menu_v1 .hamburger_2 { display: block; }
  .menu_v1 .logo_panel { display: flex; align-items: center; justify-content: center; }
  .main-menu { overflow-y: scroll; transform: translateX(102%); top: 0; right: 0; bottom: 0; width: 350px; height: 100%; position: fixed; z-index: 99999; background: #fff; transition: .5s cubic-bezier(.77, 0, .175, 1); box-shadow: 0 0 20px rgba(0, 0, 0, .1); }
  .main-menu.show { transform: translateX(0); }
  .main-menu #mainNav { padding: 30px; }
  .main-menu #mainNav ul { text-align: left; }
  .main-menu #mainNav ul li { display: block; margin: 0; }
  .main-menu #mainNav ul li a { display: block; color: var(--cc-text); text-transform: uppercase; padding: .35rem .65rem !important; margin: 0 0 10px; }
  .main-menu #mainNav ul li a.head-call { padding: 10px 25px !important; width: fit-content !important; letter-spacing: 1px !important; }
  .main-menu #mainNav ul li a.active, .main-menu #mainNav ul li a:hover { color: var(--cc-orange) !important; }
  .main-menu #mainNav ul li a.btn_1 { background: transparent; }
  .parallax_wrapper { padding-left: 25%; }
  .parallax_wrapper .img_over { left: 0; }
  .floor-plans .floor-img img { height: 100%; }
  .high-details p { padding-left: 10px; margin: 5px; line-height: 1.5; font-size: 14px; text-align: left; }
  .slide-text small { margin-bottom: 5px; }
}
@media (max-width: 767px) {
  body { padding-bottom: 64px; }
  header { padding: 5px 0; }
  .title h2 { font-size: 28px; }
  #carousel-home { background-image: none !important; }
  #carousel-home { aspect-ratio: auto; height: 620px; }
  .container.banner-text { margin-left: 0; top: 120px; transform: none; }
  .container.banner-text .slide-text.white { left: 1%; top: 0; min-height: 0; }
  .banner-head { font-size: 26px !important; }
  p.banner-high { font-size: 14px; padding-bottom: 6px; }
  img.check-icon { width: 21px; padding: 4px; }
  .banner-price { margin-top: 10px; }
  .banner-price .banner-price-detail { padding: 10px 18px; border-radius: 40px; font-size: 15px; }
  .banner-form { display: block; position: unset; width: 100%; background: #000; border-radius: 0; top: unset; transform: unset; }
  .logo_panel img { width: 25%; }
  a.head-call { padding: 10px 25px !important; width: fit-content !important; letter-spacing: 1px !important; color: #fff !important; }
  .price-section .price-box { padding: 40px 20px; margin: 10px; min-height: 250px; }
  .gallerydiv.row .col-6 { padding: 5px; }
  div#contactform { max-width: 100%; }
  #content-section ul { columns: 1; }
  #content-section h3 { font-size: 1.2rem; }
  .footer-bottom { padding: 50px 0 30px; text-align: center; }
  .mobile-section-footer { position: fixed; bottom: 0; z-index: 99; background: var(--cc-orange); width: 100%; padding: 2px; display: flex; justify-content: space-evenly; align-items: center; }
  .mobile-section-footer a.btn { font-size: 14px; font-weight: 500; color: #fff; border-radius: 0 !important; border-right: 1px solid #fff; }
  .mobile-section-footer a.btn:last-child { border-right: 0; }
  .modal .left_col, .modal .right_col { max-width: 100% !important; flex: 0 0 100% !important; }
  .content img { max-width: 100%; object-fit: contain; } /* FIX: was 355px, wider than small phones */
  .modal-head { font-size: 25px; margin-bottom: 0; }
  p.modal-para { margin-bottom: 6px; }
  .modal-dialog-centered { justify-content: center; }
  #exampleModal .modal-dialog, #exampleModal3 .modal-dialog { max-width: 367px; margin: 0 auto; }
  #exampleModal .modal-content, #exampleModal3 .modal-content { width: 90%; padding: 15px 10px; }
  #exampleModal .banner-form-section, #exampleModal3 .banner-form-section { padding: 0; }
  .inp-box { padding-top: 0; }
  .inp-box label.inp-txt.black { font-size: 10px; }
  p.footer-submit-btn { margin-top: 0; }
  button.btn-close { right: 10px; top: 0; }
  .fact-sheet { padding: 45px 0; }
  .fs-heading { font-size: 1.6rem; margin-bottom: 25px; }
  .fs-label { flex-basis: 45%; padding: 10px 12px; font-size: 13px; }
  .fs-value { padding: 10px 12px; font-size: 13px; }
}
@media (min-width: 320px) and (max-width: 350px) {
  .banner-head { font-size: 20px !important; }
  .banner-price .banner-price-detail { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  * { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
.header-logo-right { margin-left: 20px; flex-shrink: 0; display: inline-block; }
.header-logo-right img { height: 34px; width: auto; display: block; }

@media (max-width: 991px) {
  .header-logo-right { margin-left: 0; margin-right: 12px; }
  .header-logo-right img { height: 28px; }
}