/* ===========================================
   BHIMA PROPERTIES — Shared Stylesheet
   Royal Blue palette · Font Awesome icons · USD pricing
   =========================================== */

:root{
  --royal:#1C3572;
  --royal-dark:#12244E;
  --royal-light:#2C55B2;
  --royal-pale:#EAF0FE;
  --gold:#C9962E;
  --gold-light:#E4B94F;
  --teal:#1697D6;
  --teal-light:#3FB4EA;
  --bg:#F6F8FC;
  --card:#FFFFFF;
  --text:#1B2233;
  --text-soft:#6B7280;
  --line:#E4E9F2;
  --danger:#C0473B;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif; color:var(--text); background:var(--bg); line-height:1.6;}
.disp{font-family:'Baloo 2',sans-serif;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
ul{list-style:none;}
.wrap{max-width:1220px; margin:0 auto; padding:0 32px;}

/* ============ HEADER / NAV ============ */
header.site-header{background:var(--card); position:sticky; top:0; z-index:50; border-bottom:1px solid var(--line);}
.navrow{display:flex; justify-content:space-between; align-items:center; padding:16px 32px; max-width:1220px; margin:0 auto;}
.brand{display:flex; align-items:center; gap:10px;}
.brand .mark{
  width:42px; height:42px; border-radius:12px; background:linear-gradient(135deg,var(--royal),var(--royal-light));
  display:flex; align-items:center; justify-content:center; color:#fff; font-size:19px;
}
.brand .name{font-family:'Baloo 2'; font-weight:700; font-size:20px; color:var(--royal-dark);}
.brand .name small{display:block; font-family:'Inter'; font-size:10.5px; letter-spacing:0.06em; color:var(--text-soft); font-weight:600; text-transform:uppercase; margin-top:1px;}
nav.main-nav{display:flex; gap:26px;}
nav.main-nav a{color:var(--text); font-size:14.5px; font-weight:600; padding:8px 0; transition:color .2s;}
nav.main-nav a:hover, nav.main-nav a.active{color:var(--royal);}
.mobile-toggle{display:none; font-size:20px; color:var(--royal-dark); background:none; border:none; cursor:pointer;}

/* ============ BUTTONS ============ */
.btn{padding:12px 24px; border-radius:10px; font-size:14px; font-weight:700; display:inline-flex; align-items:center; gap:8px; transition:all .2s; border:none; cursor:pointer;}
.btn-primary{background:var(--royal); color:#fff; box-shadow:0 4px 14px rgba(30,58,138,0.28);}
.btn-primary:hover{background:var(--royal-dark); transform:translateY(-1px);}
.btn-gold{background:var(--gold); color:var(--royal-dark);}
.btn-gold:hover{background:var(--gold-light);}
.btn-outline{border:1.5px solid var(--royal); color:var(--royal); background:transparent;}
.btn-outline:hover{background:var(--royal-pale);}
.btn-white{background:#fff; color:var(--royal-dark);}
.btn-outline-white{border:1.5px solid rgba(255,255,255,0.4); color:#fff; background:transparent;}
.btn-block{width:100%; justify-content:center;}
.btn-sm{padding:8px 16px; font-size:13px; border-radius:8px;}

/* ============ HERO (dark royal) ============ */
.hero{background:linear-gradient(160deg,var(--royal-dark) 0%, var(--royal) 100%); color:#fff; position:relative; overflow:hidden;}
.hero-glow-1{content:''; position:absolute; top:-100px; right:-100px; width:400px; height:400px; border-radius:50%; background:radial-gradient(circle, rgba(212,160,23,0.22) 0%, transparent 70%); pointer-events:none;}
.hero-glow-2{position:absolute; bottom:-140px; left:-80px; width:340px; height:340px; border-radius:50%; background:radial-gradient(circle, rgba(11,117,102,0.3) 0%, transparent 70%); pointer-events:none;}
.hero-inner{max-width:1220px; margin:0 auto; padding:70px 32px 56px; position:relative; z-index:2;}
.hero-inner.compact{padding:56px 32px;}
.hero-inner.with-image{display:grid; grid-template-columns:1.05fr 0.95fr; gap:40px; align-items:center; padding-bottom:0;}
.hero-content{padding-bottom:56px;}
.hero-image-col{position:relative; display:flex; align-items:flex-end; justify-content:center; height:100%;}
.hero-image-col img{max-width:100%; max-height:480px; width:auto; filter:drop-shadow(0 30px 40px rgba(0,0,0,0.35));}
.hero-image-glow{position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:80%; height:60px; background:radial-gradient(ellipse, rgba(212,160,23,0.35) 0%, transparent 70%); z-index:-1;}
.pill{display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.22); padding:8px 16px; border-radius:100px; font-size:13px; font-weight:600; margin-bottom:24px;}
.pill i{color:var(--gold-light); font-size:8px;}
.hero h1{font-family:'Baloo 2'; font-weight:700; font-size:clamp(32px,4.6vw,52px); line-height:1.14; margin-bottom:18px; max-width:700px;}
.hero h1 span{color:var(--gold-light);}
.hero p{font-size:16.5px; color:rgba(255,255,255,0.75); max-width:520px; margin-bottom:30px;}
.hero-cta{display:flex; gap:14px; margin-bottom:40px; flex-wrap:wrap;}
.hero-stats{display:flex; gap:44px; margin-top:48px; flex-wrap:wrap;}
.hero-stats .num{font-family:'Baloo 2'; font-size:26px; font-weight:700; color:var(--gold-light);}
.hero-stats .lbl{font-size:12.5px; color:rgba(255,255,255,0.6); margin-top:2px;}

/* ============ SEARCH BAR ============ */
.search-bar{background:#fff; border-radius:16px; padding:10px; display:grid; grid-template-columns:1.4fr 1fr 1fr auto; gap:8px; box-shadow:0 20px 50px rgba(0,0,0,0.22); max-width:900px;}
.search-bar .field{padding:12px 16px;}
.search-bar .field label{display:block; font-size:11px; font-weight:700; color:var(--text-soft); text-transform:uppercase; letter-spacing:0.04em; margin-bottom:4px;}
.search-bar .field input, .search-bar .field select{border:none; outline:none; font-size:14.5px; font-weight:600; color:var(--royal-dark); width:100%; font-family:'Inter'; background:transparent;}
.search-bar .field:not(:last-child){border-right:1px solid var(--line);}
.search-bar .go{background:var(--royal); color:#fff; border-radius:10px; padding:0 30px; font-weight:700; border:none; cursor:pointer; font-size:14.5px;}

/* ============ PAGE HERO (secondary pages) ============ */
.page-hero{background:linear-gradient(160deg,var(--royal-dark) 0%, var(--royal) 100%); color:#fff; position:relative; overflow:hidden;}
.breadcrumb{font-size:13px; color:rgba(255,255,255,0.6); margin-bottom:14px; display:flex; align-items:center; gap:8px;}
.breadcrumb i{font-size:10px;}
.breadcrumb a:hover{color:#fff;}

/* ============ SECTIONS ============ */
section{padding:76px 32px;}
section.tight{padding:56px 32px;}
.section-head{display:flex; justify-content:space-between; align-items:end; margin-bottom:38px; flex-wrap:wrap; gap:16px;}
.section-head .eyebrow{font-size:13px; font-weight:700; color:var(--gold); text-transform:uppercase; letter-spacing:0.06em; margin-bottom:10px; display:flex; align-items:center; gap:8px;}
.section-head .eyebrow i{font-size:11px;}
.section-head h2{font-family:'Baloo 2'; font-weight:700; font-size:clamp(25px,3vw,32px); color:var(--royal-dark);}
.section-head p{margin-top:8px; color:var(--text-soft); font-size:15px; max-width:480px;}
.on-dark .section-head h2{color:#fff;}
.on-dark .section-head p{color:rgba(255,255,255,0.6);}
.on-dark .section-head .eyebrow{color:var(--gold-light);}

/* ============ SERVICE CARDS (dual) ============ */
.service-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
.service-card{border-radius:20px; padding:38px; position:relative; overflow:hidden; color:#fff;}
.service-card.teal{background:linear-gradient(135deg,var(--teal),var(--teal-light));}
.service-card.royal{background:linear-gradient(135deg,var(--royal-dark),var(--royal-light));}
.service-card .tag{font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; opacity:0.9; margin-bottom:14px; display:flex; align-items:center; gap:8px;}
.service-card h3{font-family:'Baloo 2'; font-size:27px; font-weight:700; margin-bottom:12px;}
.service-card p{font-size:14.5px; opacity:0.9; margin-bottom:22px; max-width:340px;}
.service-card ul li{font-size:14px; padding:8px 0; opacity:0.95; display:flex; gap:10px; align-items:center;}
.service-card ul li i{width:20px; height:20px; border-radius:50%; background:rgba(255,255,255,0.2); display:flex; align-items:center; justify-content:center; font-size:10px; flex-shrink:0;}
.service-card ul{margin-bottom:24px;}

/* ============ PROPERTY / PROJECT CARDS ============ */
.card-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.card-grid.cols-2{grid-template-columns:repeat(2,1fr);}
.prop-card{background:#fff; border-radius:18px; overflow:hidden; box-shadow:0 4px 20px rgba(27,42,74,0.06); transition:transform .2s; border:1px solid var(--line);}
.prop-card:hover{transform:translateY(-4px);}
.prop-img{height:180px; position:relative; background:linear-gradient(135deg,var(--royal),var(--royal-light));}
.prop-img.g-teal{background:linear-gradient(135deg,var(--teal),var(--teal-light));}
.prop-img.g-gold{background:linear-gradient(135deg,var(--gold),var(--gold-light));}
.prop-img.g-royaldark{background:linear-gradient(135deg,var(--royal-dark),var(--royal));}
.prop-img .badge{position:absolute; top:14px; left:14px; background:#fff; color:var(--royal-dark); font-size:11.5px; font-weight:700; padding:6px 13px; border-radius:100px;}
.prop-img .fav{position:absolute; top:14px; right:14px; width:32px; height:32px; background:rgba(255,255,255,0.9); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:13px; color:var(--royal-dark);}
.prop-body{padding:20px 22px;}
.prop-body h4{font-family:'Baloo 2'; font-size:19px; font-weight:600; color:var(--royal-dark); margin-bottom:4px;}
.prop-body .loc{font-size:12.5px; color:var(--text-soft); margin-bottom:14px; display:flex; align-items:center; gap:6px;}
.prop-feats{display:flex; gap:14px; padding-bottom:14px; margin-bottom:14px; border-bottom:1px solid var(--line); font-size:12.5px; color:var(--text-soft);}
.prop-feats span{display:flex; align-items:center; gap:5px;}
.prop-meta{display:flex; justify-content:space-between; align-items:center;}
.prop-meta .price{font-family:'Baloo 2'; font-weight:700; color:var(--royal); font-size:16px;}
.prop-meta .type{font-size:12px; color:var(--text-soft); font-weight:600;}

/* ============ TRUST GRID ============ */
.trust-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.trust-card{background:rgba(255,255,255,0.06); border-radius:16px; padding:26px 22px; border:1px solid rgba(255,255,255,0.1);}
.trust-card .icon{width:44px; height:44px; border-radius:12px; background:linear-gradient(135deg,var(--gold),var(--gold-light)); display:flex; align-items:center; justify-content:center; font-size:18px; margin-bottom:16px; color:var(--royal-dark);}
.trust-card h4{font-family:'Baloo 2'; font-size:16.5px; font-weight:600; margin-bottom:8px; color:#fff;}
.trust-card p{font-size:13.5px; color:rgba(255,255,255,0.55);}

/* Light variant for use on white background */
.trust-card.light{background:var(--royal-pale); border:1px solid var(--line);}
.trust-card.light h4{color:var(--royal-dark);}
.trust-card.light p{color:var(--text-soft);}
.trust-card.light .icon{background:linear-gradient(135deg,var(--royal),var(--royal-light)); color:#fff;}

/* ============ TESTIMONIALS ============ */
.testi-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.testi-card{background:var(--royal-pale); border-radius:18px; padding:28px; border:1px solid var(--line);}
.testi-card .stars{color:var(--gold); font-size:13px; margin-bottom:14px;}
.testi-card p{font-size:14.5px; color:var(--text); margin-bottom:20px; line-height:1.65;}
.testi-who{display:flex; align-items:center; gap:10px;}
.testi-who .av{width:36px; height:36px; border-radius:50%; background:linear-gradient(135deg,var(--royal),var(--royal-light)); display:flex; align-items:center; justify-content:center; color:#fff; font-size:13px;}
.testi-who .name{font-size:13.5px; font-weight:700; color:var(--royal-dark);}
.testi-who .role{font-size:12px; color:var(--text-soft);}

/* ============ INFO / STAT CARDS ============ */
.info-card{background:#fff; border:1px solid var(--line); border-radius:14px; padding:24px; margin-bottom:14px; display:flex; gap:16px; align-items:flex-start;}
.info-card .ic{width:42px; height:42px; border-radius:10px; background:var(--royal-pale); color:var(--royal); display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0;}
.info-card .lbl{font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--gold); font-weight:700; margin-bottom:6px;}
.info-card .val{font-family:'Baloo 2'; font-size:17px; color:var(--royal-dark); font-weight:600; margin-bottom:2px;}
.info-card .sub{font-size:12.5px; color:var(--text-soft);}

/* ============ FORMS ============ */
.form-card{background:#fff; border:1px solid var(--line); border-radius:16px; padding:34px;}
.form-card h3{font-family:'Baloo 2'; font-size:21px; color:var(--royal-dark); margin-bottom:6px; font-weight:600;}
.form-card .sub{font-size:14px; color:var(--text-soft); margin-bottom:26px;}
.form-row{margin-bottom:18px;}
.form-row-2{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.form-row-3{display:grid; grid-template-columns:1fr 1fr 1fr; gap:16px;}
.form-row label{display:block; font-size:12.5px; font-weight:600; color:var(--text); margin-bottom:7px;}
.form-row input, .form-row select, .form-row textarea{width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:8px; font-family:'Inter'; font-size:14px; background:var(--bg); color:var(--text);}
.form-row input:focus, .form-row select:focus, .form-row textarea:focus{outline:2px solid var(--royal-light); outline-offset:1px;}
.form-row textarea{resize:vertical; min-height:100px;}
.form-note{font-size:12.5px; color:var(--text-soft); margin-top:10px;}

/* ============ TABLE ============ */
.data-table{width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--line); border-radius:12px; overflow:hidden;}
.data-table th{text-align:left; font-size:11px; letter-spacing:0.05em; text-transform:uppercase; color:var(--text-soft); padding:14px 18px; background:var(--royal-pale); border-bottom:1px solid var(--line);}
.data-table td{padding:14px 18px; font-size:14px; border-bottom:1px solid var(--line);}
.data-table tr:last-child td{border-bottom:none;}

/* ============ CTA BAND ============ */
.cta-band{background:linear-gradient(135deg,var(--royal),var(--royal-dark)); padding:60px 32px; text-align:center; color:#fff;}
.cta-band h2{font-family:'Baloo 2'; font-weight:700; font-size:clamp(24px,3.2vw,34px); margin-bottom:14px;}
.cta-band p{color:rgba(255,255,255,0.85); margin-bottom:26px; font-size:15px;}

/* ============ FOOTER ============ */
footer.site-footer{background:var(--royal-dark); color:rgba(255,255,255,0.6); padding:52px 32px 26px;}
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:32px; border-bottom:1px solid rgba(255,255,255,0.12);}
.foot-grid h4{color:#fff; font-size:12.5px; letter-spacing:0.06em; text-transform:uppercase; margin-bottom:16px; font-weight:700;}
.foot-grid a{display:block; font-size:14px; padding:6px 0; color:rgba(255,255,255,0.6);}
.foot-grid a:hover{color:var(--gold-light);}
.foot-social{display:flex; gap:10px; margin-top:14px;}
.foot-social a{width:34px; height:34px; border-radius:8px; background:rgba(255,255,255,0.08); display:flex; align-items:center; justify-content:center; padding:0;}
.foot-social a:hover{background:var(--gold); color:var(--royal-dark);}
.foot-bottom{display:flex; justify-content:space-between; padding-top:20px; font-size:12.5px; flex-wrap:wrap; gap:10px;}

/* ============ BADGES / PILLS / MISC ============ */
.tag-pill{display:inline-flex; align-items:center; gap:6px; padding:5px 12px; border-radius:100px; font-size:11.5px; font-weight:700;}
.tag-pill.blue{background:var(--royal-pale); color:var(--royal);}
.tag-pill.gold{background:#FBF1DA; color:#946A0C;}
.tag-pill.teal{background:#E1F2EF; color:var(--teal);}

/* ============ EMI CALCULATOR ============ */
.emi-layout{display:grid; grid-template-columns:1fr 1fr; gap:40px;}
.emi-slider-row{margin-bottom:26px;}
.emi-slider-row .top{display:flex; justify-content:space-between; margin-bottom:10px;}
.emi-slider-row label{font-size:13px; font-weight:600; color:var(--text);}
.emi-slider-row .value{font-family:'Baloo 2'; font-weight:600; color:var(--royal); font-size:15px;}
input[type=range]{width:100%; accent-color:var(--royal);}
.emi-result{background:linear-gradient(135deg,var(--royal-dark),var(--royal)); border-radius:18px; padding:34px; color:#fff;}
.emi-result .big{font-family:'Baloo 2'; font-size:38px; font-weight:700; color:var(--gold-light); margin:6px 0 4px;}
.emi-result .lbl{font-size:12.5px; color:rgba(255,255,255,0.6); text-transform:uppercase; letter-spacing:0.05em;}
.emi-breakdown{margin-top:24px; padding-top:20px; border-top:1px solid rgba(255,255,255,0.15);}
.emi-breakdown .row{display:flex; justify-content:space-between; padding:9px 0; font-size:13.5px;}
.emi-breakdown .row span:first-child{color:rgba(255,255,255,0.65);}
.emi-breakdown .row span:last-child{font-family:'DM Mono',monospace;}

/* ============ FAQ ACCORDION ============ */
.faq-item{background:#fff; border:1px solid var(--line); border-radius:12px; margin-bottom:12px; overflow:hidden;}
.faq-q{padding:18px 22px; display:flex; justify-content:space-between; align-items:center; cursor:pointer; font-weight:600; color:var(--royal-dark); font-size:15px;}
.faq-q i{transition:transform .2s; color:var(--royal); font-size:13px;}
.faq-item.open .faq-q i{transform:rotate(180deg);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .25s ease;}
.faq-item.open .faq-a{max-height:300px;}
.faq-a p{padding:0 22px 20px; font-size:14px; color:var(--text-soft); line-height:1.65;}

/* ============ MAP PLACEHOLDER ============ */
.map-block{height:280px; background:linear-gradient(135deg,var(--royal),var(--royal-light)); border-radius:14px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:13px; letter-spacing:0.05em; gap:10px;}

/* ============ FILTER SIDEBAR (listings) ============ */
.listing-layout{display:grid; grid-template-columns:270px 1fr; gap:32px;}
.filter-box{background:#fff; border:1px solid var(--line); border-radius:14px; padding:22px; margin-bottom:16px;}
.filter-box h4{font-size:13px; font-weight:700; color:var(--royal-dark); margin-bottom:14px; text-transform:uppercase; letter-spacing:0.04em;}
.filter-check{display:flex; align-items:center; gap:10px; padding:7px 0; font-size:14px; color:var(--text);}
.filter-check input{accent-color:var(--royal);}
.results-bar{display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; flex-wrap:wrap; gap:12px;}
.results-bar .count{font-size:14.5px; color:var(--text-soft);}
.results-bar .count strong{color:var(--royal-dark);}
.sort-select{padding:9px 14px; border:1px solid var(--line); border-radius:8px; font-size:13.5px; background:#fff;}

/* ============ DETAIL PAGE ============ */
.detail-hero-img{height:380px; border-radius:18px; background:linear-gradient(135deg,var(--royal),var(--royal-light)); margin-bottom:32px; position:relative;}
.detail-hero-img .badge{position:absolute; top:20px; left:20px; background:#fff; color:var(--royal-dark); font-size:12.5px; font-weight:700; padding:7px 16px; border-radius:100px;}
.detail-layout{display:grid; grid-template-columns:1.5fr 1fr; gap:44px;}
.detail-title{font-family:'Baloo 2'; font-size:28px; font-weight:700; color:var(--royal-dark); margin-bottom:8px;}
.detail-loc{font-size:14.5px; color:var(--text-soft); display:flex; align-items:center; gap:8px; margin-bottom:22px;}
.spec-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:26px 0;}
.spec-item{background:#fff; border:1px solid var(--line); border-radius:12px; padding:16px; text-align:center;}
.spec-item i{color:var(--royal); font-size:18px; margin-bottom:8px;}
.spec-item .v{font-family:'Baloo 2'; font-weight:600; color:var(--royal-dark); font-size:15px;}
.spec-item .k{font-size:11.5px; color:var(--text-soft); margin-top:2px;}
.detail-desc{font-size:15px; color:var(--text); margin-bottom:26px;}
.amenity-list{display:grid; grid-template-columns:1fr 1fr; gap:10px 20px;}
.amenity-list li{display:flex; align-items:center; gap:10px; font-size:14px; padding:8px 0;}
.amenity-list li i{color:var(--teal); font-size:13px;}
.sticky-card{position:sticky; top:100px;}
.price-box{background:#fff; border:1px solid var(--line); border-radius:16px; padding:26px; margin-bottom:16px;}
.price-box .price{font-family:'Baloo 2'; font-size:30px; font-weight:700; color:var(--royal);}
.price-box .per{font-size:12.5px; color:var(--text-soft); margin-bottom:18px;}
.agent-card{background:var(--royal-pale); border-radius:16px; padding:22px; display:flex; gap:14px; align-items:center;}
.agent-card .av{width:50px; height:50px; border-radius:50%; background:linear-gradient(135deg,var(--royal),var(--royal-light)); flex-shrink:0;}
.agent-card .name{font-weight:700; color:var(--royal-dark); font-size:14.5px;}
.agent-card .role{font-size:12px; color:var(--text-soft);}

/* ============ ABOUT PAGE ============ */
.story-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start;}
.story-text p{color:var(--text); font-size:15.5px; margin-bottom:18px;}
.story-panel{background:#fff; border:1px solid var(--line); border-radius:14px; padding:30px;}
.story-panel .row{display:flex; justify-content:space-between; padding:13px 0; border-bottom:1px dashed var(--line); font-size:14px;}
.story-panel .row:last-child{border-bottom:none;}
.story-panel .row .k{color:var(--text-soft);}
.story-panel .row .v{font-family:'DM Mono'; color:var(--royal-dark); font-weight:500;}
.team-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.team-card{text-align:left;}
.team-photo{height:170px; border-radius:14px; margin-bottom:14px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:32px;}
.team-card h4{font-family:'Baloo 2'; font-size:16.5px; color:var(--royal-dark);}
.team-card .role{font-size:12.5px; color:var(--text-soft); margin-top:2px;}
.tl-row{display:grid; grid-template-columns:110px 1fr; gap:22px; padding:22px 0; border-top:1px solid rgba(255,255,255,0.14);}
.tl-row:last-child{border-bottom:1px solid rgba(255,255,255,0.14);}
.tl-row .yr{font-family:'DM Mono'; color:var(--gold-light); font-size:15px;}
.tl-row h4{font-family:'Baloo 2'; font-size:17px; margin-bottom:6px;}
.tl-row p{font-size:13.5px; color:rgba(255,255,255,0.6);}

/* ============ UTILITY: GRADIENTS & SECTION BACKDROPS ============ */
.bg-white{background:#fff;}
.bg-royal-dark-solid{background:var(--royal-dark); color:#fff;}
.grad-royal{background:linear-gradient(135deg,var(--royal),var(--royal-light));}
.grad-teal{background:linear-gradient(135deg,var(--teal),var(--teal-light));}
.grad-gold{background:linear-gradient(135deg,var(--gold),var(--gold-light));}
.grad-royaldark{background:linear-gradient(135deg,var(--royal-dark),var(--royal));}

/* ============ UTILITY: SIZING / TEXT ============ */
.mark-sm{width:36px; height:36px; font-size:16px;}
.footer-brand-name{font-size:18px; color:#fff;}
.max-w-280{max-width:280px;}
.text-muted-40{color:rgba(255,255,255,0.4);}
.trust-grid-3{grid-template-columns:repeat(3,1fr);}

.mb-14{margin-bottom:14px;}
.story-heading{font-family:'Baloo 2'; font-size:27px; color:var(--royal-dark); margin-bottom:18px; font-weight:700;}
.eyebrow-inline{font-size:13px; font-weight:700; color:var(--gold); text-transform:uppercase; letter-spacing:0.06em; margin-bottom:14px; display:flex; align-items:center; gap:8px;}

.mt-14{margin-top:14px;}
.mt-16{margin-top:16px;}
.mt-32{margin-top:32px;}
.fs-15{font-size:15px;}
.fs-16{font-size:16px;}

.service-icon-box{width:46px; height:46px; border-radius:12px; background:var(--royal-pale); color:var(--royal); display:flex; align-items:center; justify-content:center; font-size:19px; margin-bottom:16px;}
.service-desc{color:var(--text-soft); margin:10px 0 16px;}
.amenity-list-single{grid-template-columns:1fr;}

.card-cta{margin:0 22px 20px; width:calc(100% - 44px);}

.detail-h3{font-family:'Baloo 2'; font-size:19px; color:var(--royal-dark); margin-bottom:12px;}
.detail-h3-tight{font-family:'Baloo 2'; font-size:19px; color:var(--royal-dark); margin-bottom:16px;}
.breadcrumb-soft{color:var(--text-soft);}
.pt-0{padding-top:0;}

.wrap-narrow{max-width:820px;}

.mb-44{margin-bottom:44px;}

/* ============ RESPONSIVE ============ */
@media(max-width:960px){
  .hero-inner.with-image{grid-template-columns:1fr;}
  .hero-image-col{order:-1; margin-bottom:20px;}
  .hero-image-col img{max-height:280px;}
  .hero-content{padding-bottom:32px;}
  .search-bar{grid-template-columns:1fr; box-shadow:none;}
  .search-bar .field:not(:last-child){border-right:none; border-bottom:1px solid var(--line);}
  .service-grid, .testi-grid, .emi-layout, .detail-layout{grid-template-columns:1fr;}
  .card-grid{grid-template-columns:1fr 1fr;}
  .trust-grid{grid-template-columns:1fr 1fr;}
  nav.main-nav{display:none;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .listing-layout{grid-template-columns:1fr;}
  .form-row-2, .form-row-3{grid-template-columns:1fr;}
  .spec-grid{grid-template-columns:1fr 1fr;}
  .amenity-list{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .card-grid{grid-template-columns:1fr;}
  .trust-grid{grid-template-columns:1fr;}
  .hero-stats{gap:26px;}
}


/* ============ Real Estate REBRAND ADDITIONS ============ */
.brand .logo-img{height:60px; width:auto; display:block;}
.foot-logo{background:#fff; border-radius:14px; padding:10px 16px; display:inline-block; margin-bottom:16px;}
.foot-logo img{height:56px; width:auto; display:block;}
.hero-photo{border-radius:22px; overflow:hidden; box-shadow:0 30px 60px rgba(0,0,0,0.4); border:4px solid rgba(255,255,255,0.14); margin-bottom:48px;}
.hero-photo img{width:100%; height:420px; object-fit:cover; display:block;}
.page-hero.has-banner{position:relative;}
.story-photo{border-radius:16px; overflow:hidden; margin-bottom:20px; box-shadow:0 16px 40px rgba(18,36,78,0.18);}
.story-photo img{width:100%; height:230px; object-fit:cover; display:block;}
@media (max-width:760px){ .brand .logo-img{height:46px;} .hero-photo img{height:280px;} }

/* ============ MOBILE NAV MENU ============ */
.mobile-toggle{display:none; font-size:22px; color:var(--royal-dark); background:none; border:none; cursor:pointer; padding:6px 8px; line-height:1;}
.mobile-nav{display:none; flex-direction:column; gap:2px; padding:12px 20px 20px; border-top:1px solid var(--line); background:var(--card);}
.mobile-nav a{color:var(--text); font-size:15.5px; font-weight:600; padding:13px 6px; border-bottom:1px solid var(--line); transition:color .2s;}
.mobile-nav a:last-of-type{border-bottom:none;}
.mobile-nav a:hover, .mobile-nav a.active{color:var(--royal);}
.mobile-nav .mnav-cta{margin-top:12px; border-bottom:none; color:#fff; justify-content:center;}
.mobile-nav .mnav-cta:hover{color:#fff;}
.mobile-nav.open{display:flex; animation:mnavdrop .22s ease;}
@keyframes mnavdrop{from{opacity:0; transform:translateY(-8px);} to{opacity:1; transform:translateY(0);}}

@media(max-width:960px){
  .mobile-toggle{display:inline-flex; align-items:center;}
  .nav-cta-desktop{display:none;}
}

/* ============ AUTH BUTTONS (Sign In / Sign Up) ============ */
.nav-auth{display:flex; align-items:center; gap:10px;}
.mnav-auth{display:flex; flex-direction:column; gap:10px; margin-top:14px;}
.mnav-auth .btn{justify-content:center;}


/* ============ MOBILE POLISH — homepage + all pages (<=640px) ============ */
@media(max-width:640px){
  .wrap{padding:0 18px;}
  section{padding:48px 18px;}
  section.tight{padding:40px 18px;}

  /* ---- Hero ---- */
  .hero-inner{padding:38px 18px 38px;}
  .hero-inner.with-image{gap:22px;}
  .hero .pill{font-size:11.5px; padding:7px 13px; margin-bottom:18px;}
  .hero h1{font-size:29px; line-height:1.18; margin-bottom:14px;}
  .hero p{font-size:15px; margin-bottom:24px;}
  .hero-cta{flex-direction:column; gap:10px; margin-bottom:30px;}
  .hero-cta .btn{width:100%; justify-content:center;}
  .hero-photo{border-radius:18px; margin-bottom:0; border-width:3px;}
  .hero-photo img{height:210px;}
  .hero-image-col img{max-height:210px;}

  /* Hero stats -> 2x2 glass cards */
  .hero-stats{display:grid; grid-template-columns:1fr 1fr; gap:11px; margin-top:26px;}
  .hero-stats > div{
    background:rgba(255,255,255,0.07);
    border:1px solid rgba(255,255,255,0.13);
    border-radius:13px; padding:14px 10px; text-align:center;
  }
  .hero-stats .num{font-size:22px;}
  .hero-stats .lbl{font-size:11px; margin-top:3px;}

  /* ---- Section heads: stacked, action button full width ---- */
  .section-head{flex-direction:column; align-items:flex-start; gap:12px; margin-bottom:24px;}
  .section-head h2{font-size:24px;}
  .section-head .btn{width:100%; justify-content:center;}

  /* ---- Cards breathe better ---- */
  .service-card{padding:26px 22px; border-radius:16px;}
  .service-card h3{font-size:22px;}
  .story-grid{gap:26px;}
  .story-panel{padding:22px;}
  .story-photo img{height:190px;}
  .trust-card, .testi-card, .prop-card{border-radius:14px;}
  .trust-card{padding:22px;}

  /* ---- Page hero (inner pages) ---- */
  .page-hero .hero-inner.compact{padding:44px 18px;}
  .page-hero h1{font-size:27px;}

  /* ---- CTA band ---- */
  .cta-band{padding:44px 20px;}
  .cta-band h2{font-size:23px;}
  .cta-band .btn{width:100%; max-width:320px; justify-content:center; margin:0 auto;}

  /* ---- Footer tidy ---- */
  .foot-grid{grid-template-columns:1fr 1fr; gap:24px;}
  .foot-bottom{flex-direction:column; gap:8px; text-align:center;}
}

/* Extra-small phones */
@media(max-width:380px){
  .hero-stats{grid-template-columns:1fr 1fr; gap:9px;}
  .hero h1{font-size:26px;}
  .foot-grid{grid-template-columns:1fr;}
}