/* ==========================================================================
   1. GLOBAL RESET & LAYOUT BASICS
   ========================================================================== */
* { 
    margin: 0; 
    padding: 0; 
    text-decoration: none !important; 
    outline: none !important; 
    box-sizing: border-box; 
}

div, span, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, input, select, legend, table, caption, tbody, tfoot, thead, tr, th, td { 
    margin: 0; 
    padding: 0; 
    border: 0; 
    font-family: 'Manrope', sans-serif !important; 
    box-sizing: border-box; 
}

h1, h2, h3, h4, h5, h1 span, h2 span, h3 span, h4 span, h5 span { 
    font-family: 'Times New Roman', serif !important; 
    font-weight: 700; 
}

p { 
    font-family: 'Manrope', sans-serif; 
    line-height: 1.25; 
}

small { font-size: .7em; }
.left { float: left; }
.right { float: right; }
.clear:after { display: block; content: ""; clear: both; }
.relative { position: relative; }
.white { color: #fff; }
.black { color: #000; }
.gray { color: #888; }
.green2 { color: #04c928; }
.blue { color: #074677; }
.bg-gray { background: #f0f5fb; }
.bg-white { background: #fff; }
.bg-dark { background: #343a40; }
.text-uppercase { text-transform: uppercase; }
.text-center { text-align: center; }
.text-justify { text-align: justify; }
.fw-bold { font-weight: bold; }
.block { display: block; }
.clearfix { clear: both; }
.m-0 { margin: 0 !important; }
.p-0 { padding: 0 !important; }
.mb-3 { margin-bottom: 1rem !important; }
.mb-4 { margin-bottom: 1.5rem !important; }
.mt-4 { margin-top: 1rem !important; }
.mt-5 { margin-top: 3rem !important; }
.mx-3 { margin-left: 1rem !important; margin-right: 1rem !important; }
.align-items-center { align-items: center !important; }
.justify-content-center { justify-content: center !important; }
.w-100 { width: 100% !important; }
.h-auto { height: auto !important; }
.img-fluid { max-width: 100%; height: auto; }
.list-unstyled { list-style: none; padding-left: 0; }
.hide { display: none; }
.pointer { cursor: pointer; }

.rerap { 
    line-height: 1em; 
    font-size: 1em; 
    font-weight: bold; 
    text-transform: uppercase; 
    background: linear-gradient(to bottom, #cfc09f 27%, #ffecb3 40%, #c29335 78%); 
    -webkit-background-clip: text; 
    -webkit-text-fill-color: transparent; 
    color: #fff; 
}

.visuallyhidden { 
    position: absolute; 
    clip: rect(1px, 1px, 1px, 1px); 
    -webkit-clip-path: inset(0px 0px 99.9% 99.9%); 
    clip-path: inset(0px 0px 99.9% 99.9%); 
    overflow: hidden; 
    height: 1px; 
    width: 1px; 
    padding: 0; 
    border: 0; 
}

.line-anim { position: relative; }
.line-anim:after { 
    content: ''; 
    display: block; 
    left: 0; 
    bottom: 0; 
    width: 0; 
    height: 2px; 
    transition: all .3s ease; 
    background: rgb(172, 159, 94); 
}
.line-anim:hover:after, .line-anim.active:after { width: 100%; }

/* ==========================================================================
   2. HEADER & NAVIGATION STYLES
   ========================================================================== */
header { position: absolute; z-index: 99; left: 0; right: 0; }
header .mainhead { padding: 0px 100px; height: 70px; background: rgba(255, 255, 255, 0.072); transition: all .5s ease; }
header.sticky { position: fixed; top: 0; transition: all .2s; }
header.sticky .mainhead { margin-top: 0; background: rgb(255, 255, 255); -webkit-box-shadow: 0 10px 10px rgba(0,0,0,0.2); box-shadow: 0 10px 10px rgba(0,0,0,0.2); }
header .logo img { height: 70px; width: auto; padding: 10px 0; display: block; filter: brightness(0) invert(1) grayscale(1); }
header.sticky .logo img { filter: none; }
header .contact { font-size: 1.4em; line-height: 60px; padding: 0 15px; cursor: pointer; transition: all .3s ease; filter: brightness(0) invert(1) grayscale(1); }
header.sticky .contact { color: #023d8a; filter: none; }
header .menu { padding: 0 15px; cursor: pointer; filter: brightness(0) invert(1) grayscale(1); }
header.sticky .menu { color: #0f0801f3; filter: none; }
header .menu i { font-size: 1.8em; line-height: 60px; }

.menu-overlay { position: fixed; content: ''; width: 100%; height: 100%; left: 0; top: 0; background: rgba(0,0,0,.5); display: none; }
.menu-wrp { 
    background: rgba(255, 255, 255, 0.808); 
    position: fixed; 
    right: 0; 
    top: 0; 
    color: #201f1f; 
    height: 100%; 
    padding: 5em; 
    display: flex; 
    flex-direction: column; 
    justify-content: space-between; 
    transform: translateX(100%); 
    transition: all 1s ease; 
    z-index: 1001; 
}
.menu-wrp.active { transform: translateX(0%); overflow-y: auto !important; }
.menu-wrp .menuclose { position: absolute; top: 4em; right: 2em; cursor: pointer; }
.menu-wrp ul { display: block; list-style: none; }
.menu-wrp ul li { display: block; }
.menu-wrp ul li a { color: #2c2b2b; font-weight: 500; font-size: 1em; text-decoration: none; display: inline-block; line-height: 35px !important; }
.menu-wrp .bottom-wrp { padding: 0 0 20px 0; display: flex; justify-content: space-between; font-size: 1em; }
.menu-wrp .bottom-wrp a, .menu-wrp .bottom-wrp a:hover { color: #165fbf !important; }
.menu-wrp .bottom-wrp a strong { font-family: 'Manrope', sans-serif; letter-spacing: 2px; }

/* ==========================================================================
   3. HERO BANNER & FORM STYLES
   ========================================================================== */
.clsfix { height: auto; width: 100% !important; overflow: hidden; position: relative; }
.dswitch { display: block; }
.mswitch { display: none !important; }
.bg-home { background-color: transparent; background-image: linear-gradient(90deg, #000000d6 0%, rgba(0, 0, 0, 0.461) 70%, rgba(0, 0, 0, 0) 100%); opacity: 1; transition: background 0.3s, border-radius 0.3s, opacity 0.3s; }
.ctapro { position: absolute; left: 0; right: 0; top: 0; bottom: 0; }
.protitle { padding: 150px; }
.hero-title { margin: 0; line-height: 1.1; text-align: left; }
.top-label { font-family: 'Manrope', sans-serif !important; color: #c7c5c5 !important; font-size: 1.1rem; margin-bottom: 0 !important; display: inline-flex; align-items: center; gap: 6px; font-weight: 500 !important; }
.location-subtitle { font-family: 'Manrope', sans-serif !important; letter-spacing: 2px; font-weight: 400; color: #c7c5c5 !important; font-size: 0.9rem; }

.main-brand { 
    display: block; 
    font-family: 'Times New Roman', serif !important; 
    font-size: 35px; 
    background: linear-gradient(180deg, #6bbffe 0%, #1ea1f9 50%, #0188db 100%); 
    -webkit-background-clip: text; 
    -webkit-text-fill-color: transparent; 
    filter: drop-shadow(2px 2px 4px rgba(0,0,0,0.3)); 
    font-weight: 700; 
    text-transform: uppercase; 
    letter-spacing: 1px; 
    margin-top: 3px; 
}

.hpro { display: block; list-style: none; position: relative; margin: 50px 0; }
.hpro li { display: block; list-style: none; font: 1em 'Manrope', sans-serif !important; font-weight: 300; position: relative; color: #d3cfcf; padding: 3px 0 3px 25px; }
.hpro li i { position: absolute; color: #d6d5d4; left: 0; top: 6px; font-size: .9em; }
.tbhk { font-size: 1.5em; font-weight: 700; padding: 0 35px 0 0; position: relative; color: #f0d4b1; }
.tcost { font-size: 1.5em; font-weight: 700; padding: 0 25px 0 15px; position: relative; color: #f0d4b1; }

.proquery { margin: 0; padding: 2em; display: block; position: relative; border-radius: 5px; background-color: #141414c0; color: #ffffff; }
.proquery .form-floating, .proquery .form-col { width: 100%; margin: 0; font-size: .8em; }
.proquery .form-control { border: 1px solid #ffffff !important; background: none; color: #ffffff; border-radius: 3px; }
.proquery label { color: #ffffffa8; }

.probtnred { 
    width: 100% !important; 
    color: #074677 !important; 
    font-weight: 700; 
    border: none !important; 
    background: linear-gradient(135deg, #bf9b30 0%, #f7ef8a 50%, #bf9b30 100%) !important; 
    border-radius: 30px; 
    line-height: 50px; 
    padding: 0 !important; 
    text-transform: uppercase; 
    letter-spacing: 1.5px; 
    font-size: 0.85rem; 
    transition: all 0.4s ease; 
    box-shadow: 0 4px 15px rgba(0,0,0,0.3); 
    cursor: pointer; 
}
.probtnred:hover { 
    background: linear-gradient(135deg, rgb(194, 187, 88) 0%, #dcd46a 50%, #d1b666 100%) !important; 
    transform: translateY(-3px); 
    box-shadow: 0 8px 25px rgba(191, 155, 48, 0.4); 
    color: #000 !important; 
}

.breadcrumb { font-size: .9em; margin-top: -5em; }
.breadcrumb ul { display: block; list-style: none; }
.breadcrumb ul li { list-style: none; position: relative; padding-right: 20px; float: left; color: #3e3e3e; }
.breadcrumb ul li a { color: #192c6b; }
.breadcrumb ul li a:hover { color: #354b96; }
.breadcrumb ul li:after { position: absolute; content: "/"; right: 10px; top: 0; color: #cbcbcb; }
.breadcrumb ul li:last-child:after { content: ""; }

/* ==========================================================================
   4. STATS SUMMARY BAR STYLES
   ========================================================================== */
.stats .sbox-altitude { 
    padding: 1.5em 1em; 
    display: block; 
    position: relative; 
    border: 1px solid #000000cc; 
    background: linear-gradient(to bottom, #edebeb 27%, #c4b792 40%, #bd9f62 78%); 
    -webkit-background-clip: text; 
    -webkit-text-fill-color: transparent; 
    color: #fff; 
    text-align: left; 
}
.stats .sbox-altitude span { font-size: 1em; }
.bg-stats1 { background: linear-gradient(90deg, rgb(13, 45, 70) 0%, rgb(0, 82, 122) 50%, rgb(16, 65, 83) 100%); }
.calign { text-align: center; }

/* ==========================================================================
   5. OVERVIEW & SPECIFIC LAYOUT STYLES
   ========================================================================== */
.container-box2 { padding: 70px 150px 30px; }
.padrt { padding-right: 3em; }
.title-border2 { padding-bottom: 25px; margin-bottom: 25px; position: relative; display: inline-block; }
.title-border2:after { width: 30%; height: 3px; background: #ccb497; position: absolute; bottom: 0; left: 0; content: ""; }

.tbtn2 { 
    display: inline-block; 
    margin: 1.5em 0 0; 
    padding: 12px 35px; 
    text-decoration: none; 
    background: #074777; 
    color: #fff !important; 
    position: relative; 
    font-weight: 600; 
    text-transform: uppercase; 
    font-size: 0.85rem; 
    letter-spacing: 1.5px; 
    border: 1px solid #ccb497; 
    border-radius: 2px; 
    overflow: hidden; 
    transition: all 0.4s ease; 
    box-shadow: 0 4px 15px rgba(0,0,0,0.1); 
}
.tbtn2:hover { background: #ccb497; color: #074677 !important; transform: translateY(-3px); box-shadow: 0 6px 20px rgba(191,155,48,0.3); border-color: #fff; }
.tbtn2:after { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent); transition: 0.5s; }
.tbtn2:hover:after { left: 100%; }

/* ==========================================================================
   6. PROJECT HIGHLIGHTS STYLES
   ========================================================================== */
.container-box { padding: 100px 150px; }
.olist3 ol { list-style: none; padding: 0; }
.olist3 li { display: flex; align-items: center; gap: 1rem; background: #fff; padding: .75rem; border-radius: 1rem; width: calc(100% - 2rem); box-shadow: 0.25rem 0.25rem 0.75rem rgb(0 0 0 / 0.1); }
.olist3 li + li { margin-top: .75rem; }
.olist3 li::before { 
    margin-top: 2px; 
    flex-shrink: 0; 
    content: "\e91f"; 
    font-size: 1rem; 
    font-family: 'icomoon'; 
    font-weight: 700; 
    width: 2em; 
    height: 2em; 
    background: rgba(0,0,0,0); 
    border-radius: 50%; 
    color: #000; 
    border: 1px solid #000; 
    display: flex; 
    justify-content: center; 
    align-items: center; 
}
.list-content { line-height: 1.5; }
.olist3 li span { font-weight: 700; display: inline; }

/* ==========================================================================
   7. SLIDER CORE & ENGINE STYLES (SLICK ROUTINES)
   ========================================================================== */
.slider { width: 100%; margin: auto; }
.slick-slider { position: relative; display: block; box-sizing: border-box; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-touch-callout: none; -khtml-user-select: none; -ms-touch-action: pan-y; touch-action: pan-y; -webkit-tap-highlight-color: transparent; }
.slick-list { position: relative; display: block; overflow: hidden; margin: 0; padding: 0; }
.slick-list:focus { outline: none; }
.slick-list.dragging { cursor: pointer; }
.slick-slider .slick-track, .slick-slider .slick-list { transform: translate3d(0, 0, 0); -webkit-transform: translate3d(0, 0, 0); }
.slick-track { position: relative; top: 0; left: 0; display: block; margin-left: auto; margin-right: auto; }
.slick-track:before, .slick-track:after { display: table; content: ''; }
.slick-track:after { clear: both; }
.slick-loading .slick-track { visibility: hidden; }
.slick-slide { display: none; float: left; height: 100%; min-height: 1px; margin: 0; }
[dir='rtl'] .slick-slide { float: right; }
.slick-slide img { display: block; }
.slick-slide.slick-loading img { display: none; }
.slick-slide.dragging img { pointer-events: none; }
.slick-initialized .slick-slide { display: block; }
.slick-loading .slick-slide { visibility: hidden; }
.slick-vertical .slick-slide { display: block; height: auto; border: 1px solid transparent; }
.slick-arrow.slick-hidden { display: none; }

.slick-slide .stitle { 
    position: absolute; left: 0; right: 0; bottom: 0; 
    line-height: 30px; font-size: 1.5em; font-family: Cinzel, serif !important; 
    text-align: center; padding: 10px; color: #fff; background-color: rgba(0,0,0,.7); 
}
.slick-loading .slick-list { background: #fff url(images/load.gif) center center no-repeat; }

.slick-arrow { 
    position: absolute; top: 50%; width: 46px; height: 46px; transform: translateY(-50%); z-index: 9; 
    background: rgba(255, 255, 255, 0.9); color: #074677 !important; border: 1px solid rgba(7, 70, 119, 0.15); 
    cursor: pointer; display: flex !important; align-items: center; justify-content: center; 
    border-radius: 50%; box-shadow: 0 4px 12px rgba(0,0,0,0.1); transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); 
}
.slick-arrow:hover { background: #074677; color: #fff !important; border-color: #ccb497; transform: translateY(-50%) scale(1.08); box-shadow: 0 6px 20px rgba(7, 70, 119, 0.3); }
.slick-arrow i { font-size: 1.1rem; line-height: 1; display: inline-block; font-style: normal; }
.slick-arrow.next { left: -25px; }
.slick-arrow.prev { right: -25px; }
.slick-disabled { opacity: 0.3 !important; cursor: not-allowed !important; pointer-events: none !important; box-shadow: none !important; }

.slick-dots { position: absolute; margin: auto; left: 0; right: 0; bottom: 25px; list-style: none; text-align: center; }
.slick-dots li { position: relative; display: inline-block; margin: 0 7px; width: 40px; cursor: pointer; }
.slick-dots li button { border: 0; background: transparent; display: block; outline: none; color: transparent; cursor: pointer; }
.slick-dots li button:hover:before, .slick-dots li button:focus:before { opacity: 1; }
.slick-dots li button:before { position: absolute; top: 0; left: 0; content: ""; width: 100%; height: 5px; background: rgba(255,255,255,.7); transition: all .25s ease; }
.slick-dots li.slick-active button:before { background: #2b388f; height: 5px; width: 100%; left: 0; }

.gallery2 img, .gallery img { width: 100%; height: auto !important; }
.gallery .slick-dots { position: absolute !important; z-index: 5; }
.gallery .slick-dots li button:before { background: rgba(255,255,255,.7); }
.gallery2 .prev, .gallery2 .next { position: absolute !important; top: 45%; transform: none !important; right: 0 !important; cursor: pointer; line-height: 1; background: rgba(255,255,255,.7); border: none; z-index: 1; padding: 10px 20px; max-width: 80px; }
.gallery2 .next { left: 0 !important; }
.gallery2 i { font-size: 2em; }
.row2 { --bs-gutter-x: 0 !important; }

/* ==========================================================================
   8. FLOOR PLANS CARD MATRIX STYLES
   ========================================================================== */
.fplans { position: relative; margin: .75rem; padding: 2em; background: #f8fafd; min-height: 300px; box-shadow: 3px 3px 3px rgba(0,0,0,.1); }
.fplans h4 { margin-bottom: 20px; text-transform: uppercase; font-family: 'Times New Roman', serif !important; font-weight: bold; line-height: 1.4; letter-spacing: 0.5px; }
.oview { margin-top: 25px; padding-top: 25px; border-top: 1px solid #aaa; }

.tbtn { 
    display: inline-block; padding: 12px 35px; text-decoration: none; background: #074677 !important; 
    color: #fff !important; position: relative; border-radius: 4px; font-weight: 700; font-size: 0.85rem; 
    text-transform: uppercase; letter-spacing: 1.5px; border: 1px solid #ccb497 !important; 
    box-shadow: 0 4px 12px rgba(0,0,0,0.1); transition: all 0.3s ease; cursor: pointer; 
}
.tbtn:hover { background: #ccb497 !important; color: #074677 !important; border-color: #fff !important; box-shadow: 0 6px 15px rgba(191,155,48,0.2); }

.nbtn { position: relative; display: inline-block; padding: 12px 50px 12px 20px; font-size: 13px; font-weight: 600; color: #074677 !important; border: 1px solid #ccb497; line-height: 1; text-transform: uppercase; letter-spacing: 1px; transition: all 0.3s ease; background: #fff; border-radius: 4px; }
.nbtn img { top: 50%; right: 12px; position: absolute; transform: translateY(-50%); height: 20px; width: auto; opacity: 0.8; transition: all 0.3s ease; }
.nbtn:hover { background: #f9f6f2; color: #074677 !important; border-color: #074677; box-shadow: 0 4px 10px rgba(0,0,0,0.05); }
.nbtn:hover img { right: 8px; opacity: 1; }

/* ==========================================================================
   9. PICTURE GALLERY STYLES
   ========================================================================== */
.container-box3 { padding: 50px; }
.title-border { padding-bottom: 25px; margin-bottom: 25px; position: relative; display: inline-block; }
.title-border:after { width: 30%; height: 3px; background: #04b816; position: absolute; bottom: 0; left: 0; content: ""; }
.newgal { display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(2, 1fr); grid-column-gap: 25px; grid-row-gap: 25px; margin: 0; font-size: .9em; }
.newgal img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; box-shadow: 3px 3px 3px rgba(0,0,0,.1); border-radius: 3px; display: block; }
.ng1 { grid-area: 1 / 1 / 3 / 3; position: relative; }
.ng2 { grid-area: 1 / 3 / 2 / 4; position: relative; }
.ng3 { grid-area: 1 / 4 / 2 / 5; position: relative; }
.ng4 { grid-area: 2 / 3 / 3 / 4; position: relative; }
.ng5 { grid-area: 2 / 4 / 3 / 5; position: relative; }

/* ==========================================================================
   10. FEATURES (HLIGHTS) GRID STYLES
   ========================================================================== */
.hlights { display: flex; flex-wrap: wrap; list-style: none; padding: 0; margin: 0; }
.hlights li { width: 33.33%; display: flex; padding: 1.5rem; box-sizing: border-box; }
.hlights li .hbox { background: #fff; padding: 2rem; border-radius: 8px; position: relative; box-shadow: 0 4px 15px rgba(0,0,0,0.1); width: 100%; display: flex; align-items: center; transition: transform 0.3s ease; }
.hlights li .hbox:hover { transform: translateY(-5px); }
.hlights li .hbox:before { 
    content: "\e91f"; font-family: 'icomoon'; position: absolute; top: -20px; left: 20px; 
    background: linear-gradient(135deg, #2555f1 0%, #2dabf4 50%, #3251b0 100%); color: #feffff; 
    width: 40px; height: 40px; border-radius: 50%; display: flex; justify-content: center; 
    align-items: center; font-size: 1.1rem; box-shadow: 0 4px 10px rgba(30, 245, 87, 0.146); 
    border: 2px solid rgba(35, 160, 52, 0.8); transition: all 0.3s ease; 
}
.hlights li .hlist { font-size: 0.95rem; line-height: 1.5; font-family: 'Manrope', sans-serif !important; color: #333; }

/* ==========================================================================
   11. LOCATION & CONNECTIVITY STYLES
   ========================================================================== */
.premium-connectivity { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; list-style: none; padding: 0; margin: 30px 0; }
.premium-connectivity li { background: #fff; border-left: 4px solid #d3222a; padding: 20px; border-radius: 0 10px 10px 0; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.217); transition: all .3s ease; }
.premium-connectivity li:hover { transform: translateX(10px); box-shadow: 0 10px 25px rgba(191,155,48,0.15); }
.loc-box { display: flex; align-items: flex-start; gap: 15px; }
.loc-box i { font-size: 2rem; color: #d3222a; flex-shrink: 0; margin-top: 5px; }
.loc-text strong { display: block; font-size: 1.1rem; color: #074677; margin-bottom: 5px; font-family: 'Times New Roman', serif !important; }
.loc-text p { font-size: .9rem; color: #555; margin: 0; line-height: 1.4; }
.d-block { display: block !important; }

/* ==========================================================================
   12. AMENITIES MAP STYLES
   ========================================================================== */
.ament { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 20px !important; width: 100% !important; }
.ament .aments { background-color: #fff !important; padding: 1.5em !important; box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 50px !important; transition: box-shadow 0.3s ease, transform 0.3s ease !important; display: flex !important; align-items: center !important; gap: 20px !important; border-radius: 4px !important; margin: 0 !important; width: 100% !important; }
.ament .aments:hover { box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1) !important; transform: translateY(-5px) !important; }
.ament .aments i { font-size: 3em !important; color: #d3222a !important; flex-shrink: 0 !important; transition: color 0.3s ease !important; }
.ament .aments:hover i { color: #9d353b !important; }
.ament .aments p { font-size: 0.9em !important; margin: 0 !important; color: #222 !important; line-height: 1.4 !important; }

/* ==========================================================================
   13. BROCHURE SECTION STYLES
   ========================================================================== */
.ititle .suptitle { display: block; position: relative; letter-spacing: 1px; margin-left: 5em; font-size: 12px; text-transform: uppercase; font-family: 'Manrope', sans-serif !important; transform: scaleX(1) !important; transition: 800ms cubic-bezier(.15,.75,.5,1); }
.ititle .suptitle:before { content: ""; width: 4em; margin: 0; position: absolute; top: 50%; left: -5em; border-style: solid; border-width: 1px 0 0; }
.ititle .mtitle { font-family: Cinzel, serif !important; font-weight: normal; font-size: 1.0em; margin: 10px 0 30px; letter-spacing: 1.5px; }
.mt-2 { margin-top: 0.5rem !important; }

/* ==========================================================================
   14. SIMILAR PROJECTS SLIDER CONFIGS
   ========================================================================== */
.project-slider .proslide { padding: 0 0 0 !important; position: relative; margin-right: 20px; }
.project-slider .proslide img { display: block; width: 100%; height: auto; }
.project-slider .proslide .procta { position: absolute; left: 20px; bottom: 20px; right: 20px; padding: 1em 1em; text-align: center; background: #fff; }
.project-slider .proslide .procta h4 { font-family: 'Cinzel', serif !important; font-size: 1.2em; }
.project-slider .proslide .procta a { color: #2b388f; }
.project-slider .proslide .procta a p { color: #222; font-size: 0.9em; }
.project-slider .proslide .procta a p i { color: #2b388f; }
.project-slider .proslide:hover .procta { background: #ccb497; transition: 0.4s ease-in-out; }
.project-slider .proslide:hover .procta a, .project-slider .proslide:hover .procta a p, .project-slider .proslide:hover .procta a p i { color: #fff; transition: 0.4s ease-in-out; }

/* ==========================================================================
   15. ABOUT SECTION COLLAPSE INTERFACE
   ========================================================================== */
.ucase { text-transform: uppercase; }
.justify { text-align: justify; }
.morebtn { padding: 0 !important; margin: auto 0 !important; }
.collapse { display: none; }
.collapse.show { display: block; }

/* ==========================================================================
   16. FAQ ACCORDION STYLES
   ========================================================================== */
.faq-section { background: #ffffff !important; padding: 60px 0; }
.faq-item { background: #ffffff !important; margin-bottom: 15px; border-radius: 8px; border: 1px solid #eee; box-shadow: 0 2px 8px rgba(0,0,0,0.05); overflow: hidden; }
summary { padding: 15px; font-weight: 500; cursor: pointer; color: #013258; outline: 0; list-style: none; position: relative; font-size: 1.05rem; background: #f9f9f9 !important; }
summary::after { content: '+'; position: absolute; right: 25px; font-size: 1.4rem; transition: .3s; color: #a6855d; }
details[open] summary::after { content: '-'; transform: rotate(180deg); }
details p { padding: 20px 25px 25px; color: #555; line-height: 1.7; font-size: .95rem; background: #ffffff !important; margin: 0; border-top: 1px solid #eee; }

/* ==========================================================================
   17. CONNECT-NOW & STICKY BOTTOM BAR STYLES
   ========================================================================== */
#connect-now { padding: 80px 0; background: #343a40 !important; text-align: center; }
#connect-now .connect-p { font-size: 1.15rem; color: #ced4da; margin-top: 10px; display: block; font-weight: 400; }
#connect-now a { display: inline-flex !important; align-items: center; justify-content: center; width: 65px; height: 65px; border-radius: 50%; background: rgba(255, 255, 255, 0.08); transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); box-shadow: 0 4px 15px rgba(0,0,0,0.2); }
#connect-now a.green2 { color: #25d366 !important; border: 1px solid rgba(37, 211, 102, 0.3); }
#connect-now a.green2:hover { background: #25d366; color: #fff !important; transform: translateY(-5px); box-shadow: 0 8px 25px rgba(37, 211, 102, 0.4); }
#connect-now a.white { color: #ffffff !important; border: 1px solid rgba(255, 255, 255, 0.2); }
#connect-now a.white:hover { background: #ffffff; color: #074677 !important; transform: translateY(-5px); box-shadow: 0 8px 25px rgba(255, 255, 255, 0.3); }
#connect-now a i { font-size: 2.2rem !important; line-height: 1; display: block; }

.fixed-form { width: 100%; position: fixed; bottom: 0; z-index: 99; display: none; }
.formnew { display: block; padding: 1em 5em; text-align: center; }
.bg-green { background: #10B9B1; }
.enqt { font-size: 1.2em; font-family: 'Manrope', sans-serif !important; line-height: 40px; }
.tbox { background: rgba(255,255,255,1); border: none; font-size: 1em; padding: 0 0 0 10px; line-height: 40px; width: 100%; color: #444; }
.rounded-pill { border-radius: 50rem !important; }

.ibox { position: absolute; display: none; left: 0; right: 0; bottom: 0; font-size: 15px; line-height: 20px; background: rgba(0,0,0,1); z-index: 8; }
.ibox .iquery, .ibox .iwhatsapp { width: 50%; padding: 10px 0 25px 0; font-weight: bold; line-height: 20px; float: left; text-align: center; box-shadow: 1px 0 0 rgba(255,255,255,.3); }
.ibox .iphon { width: 50px; height: 50px; text-align: center; border-radius: 50%; position: absolute; left: 50%; top: -25px; transform: translateX(-50%); background: #045baa; border: 2px solid #fff; }
.ibox .iphon i { font-size: 1.2em; line-height: 50px; }
.ibox a, .ibox a:hover { display: block; color: #fff; text-decoration: none; font-weight: bold; }

.shake { animation: shake 1.5s cubic-bezier(0.36,0.07,0.19,0.97) both infinite; }
@keyframes shake { 
    5%, 45% { transform: translate3d(-1px,0,0) } 
    10%, 40% { transform: translate3d(2px,0,0) } 
    15%, 25%, 35% { transform: translate3d(-2px,0,0) } 
    20%, 30% { transform: translate3d(2px,0,0) } 
    50% { transform: translate3d(0,0,0) } 
    100% { transform: translate3d(0,0,0) } 
}

/* ==========================================================================
   18. CONTACT & FOOTER BRANDING STYLES
   ========================================================================== */
footer { background: #000; width: 100%; }
.smart-footer { padding: 150px; }
.smart-footer-logo { margin-bottom: 3em; position: relative; display: block; }
.smart-footer-logo-img { width: auto; height: 70px; }
.smart-footer-logo-link { display: inline-block; }
.smart-footer-logo::before, .smart-footer-logo::after { transform: scale(1,1); top: 50%; content: ""; width: calc(33.333333% - 40px); height: 1px; background: #000; position: absolute; display: block; transition: transform .4s .2s cubic-bezier(.4, 0, .2, 1); }
.smart-footer-logo::before { left: 0; transform-origin: right center; }
.smart-footer-logo::after { right: 0; transform-origin: right center; }
.smart-footer-menu ul { list-style: none; margin: 0; }
.smart-footer-menu a { font-size: .8em; text-transform: uppercase; margin: .2em 0; color: #000; display: inline-block; }
.smart-footer-menu ul li .line-anim:after { height: 1px; background: rgba(0,0,0,1); }
.smart-footer-menu ul li span { font-size: .9em; padding-top: 5px; padding-bottom: 5px; text-transform: uppercase; margin: .3em 0; color: #045092; display: inline-block; }

/* ==========================================================================
   19. ENQUIRE / POPUP MODAL DIALOGS
   ========================================================================== */
.modal { position: fixed; top: 0; left: 0; z-index: 1050; display: none; width: 100%; height: 100%; overflow: hidden; outline: 0; }
.modal-dialog { position: relative; width: 100%; max-width: 400px; margin: 1.75rem auto; pointer-events: none; }
.modal-dialog-centered { display: flex; align-items: center; min-height: calc(100% - 3.5rem); justify-content: center; }
.modal.show, .modal[style*="display: block"] { display: flex !important; align-items: center; justify-content: center; }

/* index.html की विसंगति को दूर करने के लिए दोनों क्लासेस रखी गई हैं */
.gradient-gold, .gradient-godrej { background: linear-gradient(90deg, rgba(24,83,128,1) 0%, rgba(16,176,185,1) 50%, rgba(24,83,128,1) 100%); }

#enquirenow .modal-content { border: none; border-radius: 4px; overflow: hidden; box-shadow: 0 25px 50px rgba(0,0,0,0.3); }
#enquirenow .modal-header { background: #074677 !important; padding: 1.5rem; border: none; margin: 0; display: flex; align-items: center; justify-content: left; position: relative; }
#enquirenow .modal-title { font-family: 'Times New Roman', serif !important; letter-spacing: 2px; font-weight: 500; color: #ccb497 !important; font-size: .9rem; }
#enquirenow .modal-header i { font-size: 0.9em; left: 5px; }
#enquirenow .close { position: absolute; right: 1.2rem; top: 1.3rem; opacity: 0.8; transition: 0.3s; background: none; border: none; color: #fff; font-size: 1.2rem; }
#enquirenow .modal-body { padding: 2.5rem 2rem; background: #fff; }
#enquirenow p { font-size: .9em !important; color: #555; }
#enquirenow .form-floating { margin-bottom: 1.2rem !important; width: 100% !important; margin-left: 0; margin-right: 0; }
#enquirenow .form-control { border: none !important; border-bottom: 1px solid #ddd !important; border-radius: 0 !important; padding-left: 0 !important; font-size: 0.95rem; color: #222; transition: all 0.3s; }
#enquirenow .form-control:focus { border-bottom-color: #ccb497 !important; box-shadow: none !important; }
#enquirenow label { padding-left: 0 !important; color: #888 !important; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 1px; }

#enquirenow .btn, .btn-spl { 
    font-size: 0.9em; background: linear-gradient(135deg, #bf9b30 0%, #f7ef8a 50%, #bf9b30 100%) !important; 
    border: none !important; color: #074677 !important; font-weight: 500; text-transform: uppercase; 
    letter-spacing: 1px; padding: 8px 0 !important; width: 100%; border-radius: 2px; margin-top: 1rem; 
    box-shadow: 0 5px 15px rgba(191,155,48,0.3); transition: 0.4s; cursor: pointer; display: block; text-align: center;
}
#enquirenow .btn:hover, .btn-spl:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(191,155,48,0.5); filter: brightness(1.1); }
#enquirenow .form-col { margin: 1em; box-sizing: border-box; position: relative; }
#enquirenow .form-col p { font-size: .75em; }
#enquirenow .textbox { background: #fff; border: none; border-bottom: 2px solid #ccc; font-size: 1em; padding: 0; line-height: 40px; width: 100%; color: #444; }

/* ==========================================================================
   20. FANCYBOX STYLES (INTEGRATED ENGINE)
   ========================================================================== */
.fancybox-enabled { overflow: hidden; }
.fancybox-enabled body { overflow: visible; height: 100%; }
.fancybox-is-hidden { position: absolute; top: -9999px; left: -9999px; visibility: hidden; }
.fancybox-container { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 99993; -webkit-tap-highlight-color: transparent; backface-visibility: hidden; transform: translateZ(0); }
.fancybox-container ~ .fancybox-container { z-index: 99992; }
.fancybox-bg, .fancybox-inner, .fancybox-outer, .fancybox-stage { position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
.fancybox-outer { overflow-y: auto; -webkit-overflow-scrolling: touch; }
.fancybox-bg { background: #1e1e1e; opacity: 0; transition-duration: inherit; transition-property: opacity; transition-timing-function: cubic-bezier(0.47,0,0.74,0.71); }
.fancybox-is-open .fancybox-bg { opacity: .87; transition-timing-function: cubic-bezier(0.22,0.61,0.36,1); }
.fancybox-stage { overflow: hidden; direction: ltr; z-index: 99994; transform: translateZ(0); }
.fancybox-slide { position: absolute; top: 0; left: 0; width: 100%; height: 100%; margin: 0; padding: 0; overflow: auto; outline: none; white-space: normal; box-sizing: border-box; text-align: center; cursor: pointer; z-index: 99994; -webkit-overflow-scrolling: touch; display: none; backface-visibility: hidden; transition-property: transform, opacity; transform-style: preserve-3d; }
.fancybox-slide:before { content: ""; display: inline-block; vertical-align: middle; height: 100%; width: 0; }
.fancybox-is-sliding .fancybox-slide, .fancybox-slide--current, .fancybox-slide--next, .fancybox-slide--previous { display: block; }
.fancybox-slide--image { overflow: visible; }
.fancybox-slide--image:before { display: none; }
.fancybox-slide--video .fancybox-content, .fancybox-slide--video iframe { background: #000; }
.fancybox-slide--map .fancybox-content, .fancybox-slide--map iframe { background: #e5e3df; }
.fancybox-slide--next { z-index: 99995; }
.fancybox-slide > div { display: inline-block; position: relative; padding: 24px; margin: 44px 0; border-width: 0; vertical-align: middle; text-align: left; background-color: #fff; overflow: auto; box-sizing: border-box; }
.fancybox-slide .fancybox-image-wrap { position: absolute; top: 0; left: 0; margin: 0; padding: 0; border: 0; z-index: 99995; background: transparent; cursor: default; overflow: visible; transform-origin: top left; background-size: 100% 100%; background-repeat: no-repeat; backface-visibility: hidden; user-select: none; }
.fancybox-can-zoomOut .fancybox-image-wrap { cursor: zoom-out; }
.fancybox-can-zoomIn .fancybox-image-wrap { cursor: zoom-in; }
.fancybox-can-drag .fancybox-image-wrap { cursor: grab; }
.fancybox-is-dragging .fancybox-image-wrap { cursor: grabbing; }
.fancybox-image, .fancybox-spaceball { position: absolute; top: 0; left: 0; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; max-width: none; max-height: none; user-select: none; }
.fancybox-spaceball { z-index: 1; }
.fancybox-slide--iframe .fancybox-content { padding: 0; width: 80%; height: 80%; max-width: calc(100% - 100px); max-height: calc(100% - 88px); overflow: visible; background: #fff; }
.fancybox-iframe { display: block; padding: 0; border: 0; height: 100%; width: 100%; background: #fff; }
.fancybox-error { margin: 0; width: 100%; background: #fff; padding: 40px; max-width: 380px; cursor: default; }
.fancybox-error p { margin: 0; padding: 0; color: #444; font: 16px/20px Helvetica Neue,Helvetica,Arial,sans-serif; }
.fancybox-close-small { position: absolute; top: 0; right: 0; width: 44px; height: 44px; padding: 0; margin: 0; border: 0; border-radius: 0; outline: none; background: transparent; z-index: 10; cursor: pointer; }
.fancybox-close-small:after { content: "×"; position: absolute; top: 5px; right: 5px; width: 30px; height: 30px; font: 20px/30px Arial,sans-serif; color: #888; font-weight: 300; text-align: center; border-radius: 50%; background: #fff; transition: background .25s; box-sizing: border-box; z-index: 2; }
.fancybox-close-small:hover:after { color: #555; background: #eee; }
.fancybox-slide--iframe .fancybox-close-small { top: 0; right: -44px; }
.fancybox-slide--iframe .fancybox-close-small:after { background: transparent; font-size: 35px; color: #aaa; }
.fancybox-slide--iframe .fancybox-close-small:hover:after { color: #fff; }

.fancybox-caption-wrap, .fancybox-infobar, .fancybox-toolbar { position: absolute; direction: ltr; z-index: 99997; opacity: 0; visibility: hidden; transition: opacity 0.25s, visibility 0 linear .25s; box-sizing: border-box; }
.fancybox-show-caption .fancybox-caption-wrap, .fancybox-show-infobar .fancybox-infobar, .fancybox-show-toolbar .fancybox-toolbar { opacity: 1; visibility: visible; transition: opacity 0.25s, visibility 0; }
.fancybox-infobar { top: 0; left: 50%; margin-left: -79px; }
.fancybox-infobar__body { display: inline-block; width: 70px; line-height: 44px; font-size: 13px; font-family: Helvetica Neue,Helvetica,Arial,sans-serif; text-align: center; color: #ddd; background: rgba(30,30,30,0.6); user-select: none; }
.fancybox-toolbar { top: 0; right: 0; }
.fancybox-caption-wrap { bottom: 0; left: 0; right: 0; padding: 60px 30px 0; text-align: center; font: bold 1.25em Cinzel,serif !important; background: linear-gradient(180deg,transparent 0,rgba(0,0,0,0.25) 20%,rgba(0,0,0,0.4) 40%,rgba(0,0,0,0.6) 80%,rgba(0,0,0,0.8)); pointer-events: none; }
.fancybox-caption { padding: 30px 0; border-top: 1px solid hsla(0,0%,100%,0.4); color: #fff; line-height: 20px; }
.fancybox-caption a { color: #fff; text-decoration: underline; pointer-events: all; }
.fancybox-button { display: inline-block; position: relative; margin: 0; padding: 0; border: 0; width: 44px; height: 44px; line-height: 44px; text-align: center; background: rgba(30,30,30,0.6); color: #ddd; cursor: pointer; vertical-align: top; outline: none; }
.fancybox-button:hover:not([disabled]) { color: #fff; background: rgba(0,0,0,0.8); }
.fancybox-button:after, .fancybox-button:before { content: ""; pointer-events: none; position: absolute; background-color: currentColor; opacity: .9; box-sizing: border-box; display: inline-block; }
.fancybox-button--left:after, .fancybox-button--right:after { top: 18px; width: 6px; height: 6px; background: transparent; border-top: 2px solid currentColor; border-right: 2px solid currentColor; }
.fancybox-button--left:after { left: 20px; transform: rotate(-135deg); }
.fancybox-button--right:after { right: 20px; transform: rotate(45deg); }
.fancybox-button--left { border-bottom-left-radius: 5px; }
.fancybox-button--right { border-bottom-right-radius: 5px; }
.fancybox-button--close:after, .fancybox-button--close:before { content: ""; display: inline-block; position: absolute; height: 2px; width: 16px; top: calc(50% - 1px); left: calc(50% - 8px); }
.fancybox-button--close:before { transform: rotate(45deg); }
.fancybox-button--close:after { transform: rotate(-45deg); }

.fancybox-arrow { position: absolute; top: 50%; margin:-50px 0 0; height: 100px; width: 54px; padding: 0; border: 0; outline: none; background: none; cursor: pointer; z-index: 99995; opacity: 0; user-select: none; transition: opacity .25s; }
.fancybox-arrow:after { content: ""; position: absolute; top: 28px; width: 44px; height: 44px; background-color: rgba(30,30,30,0.8); background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjRkZGRkZGIiBoZWlnaHQ9IjQ4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSI0OCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPiAgICA8cGF0aCBkPSJNMTIgNGwtMS40MSAxLjQxTDE2LjE3IDExSDR2MmgxMi4xN2wtNS41OCA1LjU5TDEyIDIwbDgtOHoiLz48L3N2Zz4=); background-repeat: no-repeat; background-position: 50%; background-size: 24px 24px; }
.fancybox-arrow--right { right: 0; }
.fancybox-arrow--left { left: 0; transform: scaleX(-1); }
.fancybox-arrow--left:after, .fancybox-arrow--right:after { left: 0; }
.fancybox-show-nav .fancybox-arrow { opacity: .6; }
.fancybox-slide > .fancybox-loading { border: 6px solid hsla(0,0%,39%,0.4); border-top: 6px solid hsla(0,0%,100%,0.6); border-radius: 100%; height: 50px; width: 50px; animation: fancybox-rotate .8s infinite linear; background: transparent; position: absolute; top: 50%; left: 50%; margin-top: -25px; margin-left: -25px; z-index: 99999; }
@keyframes fancybox-rotate { 0% { transform: rotate(0deg); } to { transform: rotate(359deg); } }

.fancybox-animated { transition-timing-function: cubic-bezier(0,0,0.25,1); }
.fancybox-fx-slide.fancybox-slide--previous { transform: translate3d(-100%,0,0); opacity: 0; }
.fancybox-fx-slide.fancybox-slide--next { transform: translate3d(100%,0,0); opacity: 0; }
.fancybox-fx-slide.fancybox-slide--current { transform: translateZ(0); opacity: 1; }
.fancybox-fx-fade.fancybox-slide--next, .fancybox-fx-fade.fancybox-slide--previous { opacity: 0; transition-timing-function: cubic-bezier(0.19,1,0.22,1); }
.fancybox-fx-fade.fancybox-slide--current { opacity: 1; }

.fancybox-button--fullscreen:before { width: 15px; height: 11px; left: calc(50% - 7px); top: calc(50% - 6px); border: 2px solid; background: none; }
.fancybox-button--pause:before, .fancybox-button--play:before { top: calc(50% - 6px); left: calc(50% - 4px); background: transparent; }
.fancybox-button--play:before { width: 0; height: 0; border-top: 6px inset transparent; border-bottom: 6px inset transparent; border-left: 10px solid; border-radius: 1px; }
.fancybox-button--pause:before { width: 7px; height: 11px; border-style: solid; border-width: 0 2px; }
.fancybox-button--thumbs, .fancybox-thumbs { display: none; }

.col-401, .col-601, .col-651, .col-701, .col-751, .col-801 { width: 100%; }
.col-501 { width: 100%; }

/* ==========================================================================
   21. ICOMOON FONTS ENGINE
   ========================================================================== */
@font-face {
    font-family: 'icomoon';
    src: url(fonts/icomoon.eot?gxdhmw);
    src: url(fonts/icomoon.eot?gxdhmw#iefix) format("embedded-opentype"), url(fonts/icomoon.ttf?gxdhmw) format("truetype"), url(fonts/icomoon.woff?gxdhmw) format("woff"), url(fonts/icomoon.svg?gxdhmw#icomoon) format("svg");
    font-weight: 400;
    font-style: normal;
    font-display: block;
}
[class^="icon-"], [class*=" icon-"] { font-family: 'icomoon' !important; speak: never; font-style: normal; font-weight: 400; font-variant: normal; text-transform: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.icon-power:before { content: "\e95c" } .icon-cinema:before { content: "\e95d" } .icon-ampt:before { content: "\e95e" } .icon-coffee:before { content: "\e95f" } .icon-escalator:before { content: "\e960" } .icon-cook:before { content: "\e905" } .icon-butler:before { content: "\e906" } .icon-gym:before { content: "\e900" } .icon-golf:before { content: "\e92f" } .icon-ekey:before { content: "\e930" } .icon-polo:before { content: "\e931" } .icon-deck:before { content: "\e932" } .icon-pool:before { content: "\e933" } .icon-security:before { content: "\e934" } .icon-cctv:before { content: "\e935" } .icon-jogging:before { content: "\e937" } .icon-service:before { content: "\e938" } .icon-car:before { content: "\e939" } .icon-shopping:before { content: "\e93a" } .icon-cart:before { content: "\e93b" } .icon-premium:before { content: "\e93c" } .icon-touch:before { content: "\e93d" } .icon-smarthome:before { content: "\e93e" } .icon-bathtub:before { content: "\e93f" } .icon-balcony:before { content: "\e940" } .icon-kitchen:before { content: "\e941" } .icon-modular-kitchen:before { content: "\e942" } .icon-study:before { content: "\e943" } .icon-pet:before { content: "\e944" } .icon-bed:before { content: "\e945" } .icon-dining:before { content: "\e946" } .icon-toilet:before { content: "\e947" } .icon-fork:before { content: "\e948" } .icon-helpline:before { content: "\e949" } .icon-kids-play:before { content: "\e94a" } .icon-movie:before { content: "\e94b" } .icon-fashion:before { content: "\e94c" } .icon-floor:before { content: "\e94d" } .icon-ac:before { content: "\e94e" } .icon-alexa:before { content: "\e94f" } .icon-bowling:before { content: "\e950" } .icon-spa:before { content: "\e951" } .icon-school:before { content: "\e952" } .icon-hall:before { content: "\e953" } .icon-garden:before { content: "\e954" } .icon-kids-park:before { content: "\e955" } .icon-park:before { content: "\e956" } .icon-cricket:before { content: "\e957" } .icon-tennis-court:before { content: "\e958" } .icon-av-room:before { content: "\e959" } .icon-mail:before { content: "\e95a" } .icon-dropdown:before { content: "\e91c" } .icon-trophy:before { content: "\e928" } .icon-diamond:before { content: "\e929" } .icon-partner:before { content: "\e92a" } .icon-sandclock:before { content: "\e924" } .icon-quality:before { content: "\e92c" } .icon-train:before { content: "\e925" } .icon-airport:before { content: "\e926" } .icon-eway:before { content: "\e927" } .icon-city:before { content: "\e923" } .icon-money:before { content: "\e91d" } .icon-rupee:before { content: "\e920" } .icon-first:before { content: "\e921" } .icon-second:before { content: "\e91e" } .icon-commercial:before { content: "\e90a" } .icon-hkey:before { content: "\e915" } .icon-floor-plan:before { content: "\e917" } .icon-house:before { content: "\e918" } .icon-plan:before { content: "\e922" } .icon-maps:before { content: "\e91b" } .icon-bar:before { content: "\e95b" } .icon-rera:before { content: "\e91a" } .icon-menu:before { content: "\e901" } .icon-prev:before { content: "\e902" } .icon-next:before { content: "\e903" } .icon-brochure:before { content: "\e904" } .icon-file:before { content: "\e907" } .icon-launch:before { content: "\e908" } .icon-key:before { content: "\e909" } .icon-map-location:before { content: "\e92b" } .icon-map:before { content: "\e90c" } .icon-whatsapp:before { content: "\e90d" } .icon-facebook:before { content: "\e90e" } .icon-twitter:before { content: "\e910" } .icon-youtube:before { content: "\e911" } .icon-instagram:before { content: "\e913" } .icon-linkedin:before { content: "\e914" } .icon-status:before { content: "\e936" } .icon-close:before { content: "\e90b" } .icon-check:before { content: "\e91f" } .icon-pointer:before { content: "\e919" } .icon-gift:before { content: "\e916" } .icon-headphone:before { content: "\e90f" } .icon-call:before { content: "\e92d" } .icon-location:before { content: "\e912" } .icon-play:before { content: "\e92e" }

/* ==========================================================================
   22. RESPONSIVE MEDIA BREAKPOINTS (CASCADING ORDER FIXED)
   ========================================================================== */

/* Tablet & Smaller Screens (Desktop Down Approach) */
@media screen and (min-width: 240px) and (max-width: 1024px) {
    header { top: 0; left: 0; right: 0; }
    header.sticky { padding: 0; }
    header .logo img { padding: 10px; height: 65px; }
    header .mainhead, header.sticky .mainhead { margin-top: 0; border-radius: 0; padding: 0 20px; }
    header .contact span { display: none; }
    
    .ibox { display: block; }
    .formnew { display: none; }
    h2, h3, h4 { font-size: 1.5em !important; }
    .padlt { padding-left: 0; padding-top: 25px; }
    .padrt { padding-right: 0; padding-bottom: 25px; }
    .breadcrumb { left: 15px; top: 65px; font-size: .75em; margin-top: 0 !important; margin-bottom: 3em !important; }
    
    .ctapro { position: static !important; }
    .protitle { position: static !important; padding: 2em !important; transform: none; background: #000; }
    
    .gallery2 i { font-size: 1em; }
    .gallery2 .prev, .gallery2 .next { top: 40% !important; padding: 0; width: 40px; }
    .gallery2 .next { left: 0 !important; }
    .gallery2 .prev { right: 0 !important; } 

    .newgal { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; grid-template-rows: auto !important; grid-column-gap: 15px !important; grid-row-gap: 15px !important; height: auto !important; } 
    .ng1 { grid-area: 1 / 1 / 2 / 3 !important; } 
    .ng2 { grid-area: 2 / 1 / 3 / 2 !important; position: relative; } 
    .ng3 { grid-area: 2 / 2 / 3 / 3 !important; position: relative; } 
    .ng4 { grid-area: 3 / 1 / 4 / 2 !important; position: relative; } 
    .ng5 { grid-area: 3 / 2 / 4 / 3 !important; position: relative; } 
    
    .newgal img { width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; border-radius: 8px; display: block; } 
    .tcost, .tbhk { font-size: 1.5em; } 
    .maxwidth { padding: 0 1em !important; width: 100%; } 
    .container-box, .container-box2, .container-box3, .container-box4, .container-box5, .smart-footer { padding: 3em 2em !important; } 
    .container-box6 { padding: 0 !important; } 

    .slider-title { position: absolute; left: 0; bottom: 0; right: 0; background: linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%); padding: 3em 1em 5em; text-align: center !important; } 
    .slider-title h2, .procta h4 { font-size: 1.5em; } 
    .clsfix { height: auto !important; overflow: hidden; } 
    .clsfix img { min-height: 50vh; object-fit: cover; } 
    .project-slider .proslide { padding: 0 !important; margin-right: 0; } 
    .title-border-center, .title-border { padding-bottom: 10px; margin-bottom: 10px; } 
    .dswitch { display: none; } 
    .mswitch { display: block !important; } 
    .protxt { padding: 1em; } 
    
    .proquery { margin: 0 -2em -2em -2em; padding: 2em 1em 3em 1em; background-color: #ffffff; color: #000; border-radius: 0; } 
    .proquery .form-control { border: 1px solid #404040 !important; color: #242323 !important; } 
    .proquery label { color: #292928c2 !important; } 
    .olist li, .olist2 li { width: 100% !important; } 
    .olist3 li { width: 100% !important; font-size: .9em; } 
    
    .hlights li { width: 100%; padding: .5rem !important; } 
    .hlights li .hbox { margin: 1em 0 0 !important; } 
    
    .faq-section { padding: 40px 10px; } 
    .faq-item { margin-bottom: 10px; } 
    summary { padding: 12px 40px 12px 12px; font-size: 0.95rem; line-height: 1.4; } 
    summary::after { right: 15px; font-size: 1.2rem; } 
    details p { padding: 15px 20px 20px; font-size: 0.88rem; line-height: 1.6; } 
    
    footer { padding-top: 25px; } 
    .smart-footer-logo-img { width: 100px; height: auto; } 
    .smart-footer-social { margin: 2em 0 !important; padding: 1em 0; border-top: solid 1px #000; border-bottom: solid 1px #000; } 
    .smart-footer p { margin-top: 25px; font-size: .9em; } 
    .modal-content { margin-left: 10%; margin-right: 10%; } 

    .ament { grid-template-columns: repeat(2, 1fr) !important; } 
    .slick-arrow { background: rgba(0, 0, 0, 0.6) !important; color: #ffffff !important; border: 1px solid rgba(255, 255, 255, 0.25) !important; backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); } 
    .slick-arrow:hover { background: rgba(0, 0, 0, 0.8) !important; color: #ffffff !important; } 
    .slick-arrow.next { left: 10px; } 
    .slick-arrow.prev { right: 10px; } 
}

/* Landscape Phones & Tablets (Max 768px) */
@media screen and (max-width: 768px) { 
    .premium-connectivity { grid-template-columns: 1fr; } 
    .premium-connectivity li:hover { transform: translateY(-5px); } 
    .justify-custom { text-align: justify; } 
}

/* Small Smart Phones (Max 767px) */
@media (max-width: 767px) { 
    .main-brand { font-size: 25px !important; } 
    .justify-custom { text-align: left; } 
    .top-label { font-size: 1rem; text-transform: uppercase; } 
    .location-subtitle { font-size: 0.8rem; font-weight: 500; } 
}

/* Extra Small Screens (Max 576px) */
@media screen and (max-width: 576px) { 
    .ament { grid-template-columns: 1fr !important; gap: 15px !important; } 
    .ament .aments { padding: 1em !important; gap: 15px !important; } 
}

/* Super Small Devices (Max 480px) */
@media screen and (max-width: 480px) { 
    summary { font-size: 0.9rem; padding: 10px 35px 10px 10px; } 
    details p { padding: 12px 15px 15px; font-size: 0.85rem; } 
}

/* Fancybox Mini-Responsive Engine */
@media (max-width: 800px) {
    .fancybox-infobar { left: 0; margin-left: 0; }
    .fancybox-button--left, .fancybox-button--right { display: none !important; }
    .fancybox-caption { padding: 20px 0; margin: 0; }
}

@media (min-width: 800px) {
    .fancybox-button--thumbs { display: inline-block; }
    .fancybox-button--thumbs span { font-size: 23px; }
    .fancybox-button--thumbs:before { width: 3px; height: 3px; top: calc(50% - 2px); left: calc(50% - 2px); box-shadow: 0 -4px 0, -4px -4px 0, 4px -4px 0, inset 0 0 0 32px, -4px 0 0, 4px 0 0, 0 4px 0, -4px 4px 0, 4px 4px 0; }
    .fancybox-thumbs { position: absolute; top: 0; right: 0; bottom: 0; left: auto; width: 220px; margin: 0; padding: 5px 5px 0 0; background: #fff; word-break: normal; -webkit-tap-highlight-color: transparent; -webkit-overflow-scrolling: touch; box-sizing: border-box; z-index: 99995; }
    .fancybox-show-thumbs .fancybox-thumbs { display: block; }
    .fancybox-show-thumbs .fancybox-inner { right: 220px; }
    .fancybox-thumbs > ul { list-style: none; position: relative; width: 100%; height: 100%; margin: 0; padding: 0; overflow-x: hidden; overflow-y: auto; font-size: 0; }
    .fancybox-thumbs > ul > li { float: left; overflow: hidden; max-width: 50%; padding: 0; margin: 0; width: 105px; height: 75px; position: relative; cursor: pointer; outline: none; border: 5px solid transparent; border-top-width: 0; border-right-width: 0; box-sizing: border-box; }
    li.fancybox-thumbs-loading { background: rgba(0,0,0,0.1); }
    .fancybox-thumbs > ul > li > img { position: absolute; top: 0; left: 0; min-width: 100%; min-height: 100%; max-width: none; max-height: none; user-select: none; }
    .fancybox-thumbs > ul > li:before { content: ""; position: absolute; top: 0; right: 0; bottom: 0; left: 0; border-radius: 2px; border: 4px solid #4ea7f9; z-index: 99991; opacity: 0; transition: all .2s cubic-bezier(0.25,0.46,0.45,0.94); }
    .fancybox-thumbs > ul > li.fancybox-thumbs-active:before { opacity: 1; }
}