*{margin:0;padding:0;box-sizing:border-box;}
:root{--gold:#C9A84C;--gl:#e0bc5a;--dark:#0d0d0d;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--nh:64px;}
html{scroll-behavior:smooth;}
body{background:var(--dark);color:#e8e4dc;font-family:var(--sans);line-height:1.7;overflow-x:hidden;}
img{max-width:100%;display:block;}a{color:inherit;text-decoration:none;}ul{list-style:none;}
nav.main-nav{position:sticky;top:0;z-index:500;background:rgba(10,10,10,.97);border-bottom:2px solid var(--gold);backdrop-filter:blur(10px);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:var(--nh);max-width:1280px;margin:0 auto;padding:0 5%;}
.nav-logo{display:flex;align-items:center;gap:10px;}
.nav-logo img{height:38px;width:auto;}
.nav-logo-t{font-family:var(--serif);font-size:20px;font-weight:700;color:#fff;letter-spacing:1px;white-space:nowrap;line-height:1;}
.nav-logo-t span{color:var(--gold);}
.nav-links{display:flex;align-items:center;gap:2px;}
.nav-links li{position:relative;}
.nav-links a{font-size:13px;font-weight:500;color:rgba(255,255,255,.72);padding:8px 11px;border-radius:3px;transition:color .2s;white-space:nowrap;display:flex;align-items:center;gap:4px;}
.nav-links a:hover,.nav-links a.active{color:#fff;}
.nav-links a.active{position:relative;}
.nav-links a.active::after{content:'';position:absolute;bottom:-2px;left:11px;right:11px;height:2px;background:var(--gold);border-radius:2px;}
.nav-dd-menu{display:none;position:absolute;top:100%;left:0;background:#111;border:1px solid rgba(255,255,255,.1);border-radius:6px;min-width:170px;padding:12px 6px 6px;box-shadow:0 8px 32px rgba(0,0,0,.5);margin-top:0;}
.nav-dd:hover .nav-dd-menu{display:block;}.nav-dd>a{padding-bottom:12px;}
.nav-dd-menu a{display:flex;align-items:center;gap:8px;padding:9px 14px;border-radius:4px;font-size:13px;color:rgba(255,255,255,.7);}
.nav-dd-menu a:hover{background:rgba(201,168,76,.1);color:#fff;}
.cdot{width:7px;height:7px;border-radius:50%;background:var(--gold);display:inline-block;flex-shrink:0;}
.nav-right{display:flex;align-items:center;gap:8px;}
.nav-phone{font-size:12px;color:rgba(255,255,255,.6);padding:7px 12px;border:1px solid rgba(255,255,255,.12);border-radius:3px;display:flex;align-items:center;gap:6px;white-space:nowrap;transition:color .2s,border-color .2s;}
.nav-phone:hover{color:var(--gold);border-color:rgba(201,168,76,.4);}
.nav-pdot{width:6px;height:6px;border-radius:50%;background:#22c55e;flex-shrink:0;animation:blink 2s infinite;}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:.3;}}
.nav-cta{background:var(--gold);color:#0d0d0d;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:9px 18px;border-radius:3px;cursor:pointer;border:none;white-space:nowrap;transition:background .2s;}
.nav-cta:hover{background:var(--gl);}
.hbg{display:none;background:none;border:none;cursor:pointer;padding:8px;flex-direction:column;gap:5px;}
.hbg span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;}
.mm{display:none;position:fixed;top:var(--nh);left:0;right:0;background:#0f0f0f;border-top:1px solid rgba(201,168,76,.2);padding:12px 5% 20px;z-index:499;max-height:calc(100vh - var(--nh));overflow-y:auto;}
.mm.open{display:block;}
.mm a{display:block;padding:11px 0;font-size:15px;color:rgba(255,255,255,.75);border-bottom:1px solid rgba(255,255,255,.06);}
.mm a:hover{color:var(--gold);}
.mm-cta{color:var(--gold)!important;font-weight:700!important;border-bottom:none!important;margin-top:10px!important;}
.btn{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:13px 28px;border-radius:4px;cursor:pointer;border:none;text-decoration:none;transition:background .2s,transform .15s;}
.btn-g{background:var(--gold);color:#0d0d0d;}.btn-g:hover{background:var(--gl);transform:translateY(-1px);}
.btn-o{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35);}.btn-o:hover{border-color:var(--gold);color:var(--gold);}
.sec{padding:80px 5%;}.si{max-width:1200px;margin:0 auto;}
.lbl{font-size:11px;color:var(--gold);letter-spacing:4px;text-transform:uppercase;margin-bottom:12px;display:block;}
.h1{font-family:var(--serif);font-size:clamp(32px,5vw,68px);font-weight:700;line-height:1.1;color:#fff;margin-bottom:18px;}
.h2{font-family:var(--serif);font-size:clamp(26px,3.5vw,44px);font-weight:700;line-height:1.2;color:#fff;margin-bottom:16px;}
.h3{font-family:var(--serif);font-size:clamp(20px,2.5vw,28px);font-weight:700;color:#fff;margin-bottom:10px;line-height:1.25;}
.sub{font-size:15px;color:rgba(255,255,255,.55);line-height:1.75;max-width:580px;}
.dvdr{width:48px;height:3px;background:var(--gold);margin:14px 0 26px;border-radius:2px;}
.g3{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;}
.g2{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:24px;}
.card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:8px;overflow:hidden;transition:border-color .25s,transform .25s;}
.card:hover{border-color:rgba(201,168,76,.4);transform:translateY(-3px);}
.ci{width:100%;height:220px;object-fit:cover;}
.cb{padding:22px;}
.ct{font-size:10px;color:var(--gold);letter-spacing:3px;text-transform:uppercase;margin-bottom:8px;font-weight:600;}
.cn{font-family:var(--serif);font-size:19px;font-weight:700;color:#fff;margin-bottom:8px;line-height:1.3;}
.cd{font-size:14px;color:rgba(255,255,255,.5);line-height:1.7;}
.stats{background:rgba(201,168,76,.07);border-top:1px solid rgba(201,168,76,.2);border-bottom:1px solid rgba(201,168,76,.2);padding:24px 5%;}
.stats-i{max-width:1200px;margin:0 auto;display:flex;justify-content:space-around;flex-wrap:wrap;gap:16px;}
.stat{text-align:center;}.sn{font-family:var(--serif);font-size:36px;font-weight:700;color:var(--gold);}
.sl{font-size:11px;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:2px;margin-top:3px;}
.cta-band{background:linear-gradient(135deg,#0a1628,#162340);padding:72px 5%;text-align:center;}
.cta-band h2{font-family:var(--serif);font-size:clamp(26px,3vw,42px);color:#fff;margin-bottom:12px;}
.cta-band p{font-size:15px;color:rgba(255,255,255,.55);margin-bottom:30px;line-height:1.7;}
.cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
footer{background:#070707;border-top:2px solid rgba(201,168,76,.2);padding:56px 5% 28px;}
.fi{max-width:1200px;margin:0 auto;}
.fg{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:28px;}
.fb img{height:36px;margin-bottom:14px;}
.fb p{font-size:13px;color:rgba(255,255,255,.35);line-height:1.8;max-width:260px;margin-bottom:16px;}
.fbadge{display:inline-block;font-size:11px;color:var(--gold);border:1px solid rgba(201,168,76,.3);padding:5px 12px;border-radius:20px;letter-spacing:.05em;}
.fc-t{font-size:11px;color:rgba(255,255,255,.3);letter-spacing:3px;text-transform:uppercase;margin-bottom:14px;font-weight:600;}
.fc a,.fc span{display:block;font-size:13px;color:rgba(255,255,255,.45);margin-bottom:10px;transition:color .2s;}
.fc a:hover{color:var(--gold);}
.fbot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.fbot span{font-size:12px;color:rgba(255,255,255,.2);}
.modal-ov{display:none;position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.8);backdrop-filter:blur(4px);align-items:center;justify-content:center;padding:20px;}
.modal-ov.open{display:flex;}
.modal{background:#111;border:1px solid rgba(201,168,76,.25);border-radius:10px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;animation:su .3s ease;}
@keyframes su{from{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}
.mh{padding:22px 24px 18px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;}
.mh h3{font-family:var(--serif);font-size:24px;color:#fff;}
.mcl{background:none;border:none;color:rgba(255,255,255,.4);font-size:28px;cursor:pointer;line-height:1;padding:0 4px;}
.mcl:hover{color:#fff;}
.mb{padding:22px 24px 28px;}
.fr2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.fg2{margin-bottom:14px;}
.fg2 label{display:block;font-size:11px;color:rgba(255,255,255,.4);margin-bottom:5px;text-transform:uppercase;letter-spacing:.06em;}
.fi2,.fsel{width:100%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:4px;padding:11px 13px;color:#fff;font-size:14px;font-family:var(--sans);transition:border-color .2s;}
.fi2:focus,.fsel:focus{outline:none;border-color:var(--gold);}
.fsel option{background:#1a1a1a;}
.msub{width:100%;background:var(--gold);color:#0d0d0d;border:none;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:14px;border-radius:4px;cursor:pointer;margin-top:8px;transition:background .2s;}
.msub:hover{background:var(--gl);}
.msuc{display:none;text-align:center;padding:20px 0;}
.msuc-ico{font-size:48px;margin-bottom:14px;}
.msuc h3{font-family:var(--serif);font-size:26px;color:#fff;margin-bottom:8px;}
.msuc p{font-size:14px;color:rgba(255,255,255,.5);line-height:1.7;}
@media(max-width:1024px){.fg{grid-template-columns:1fr 1fr;}}
@media(max-width:768px){:root{--nh:56px;}.nav-links,.nav-phone{display:none!important;}.hbg{display:flex!important;}.sec{padding:56px 5%;}.fg{grid-template-columns:1fr 1fr;}.stats-i{display:grid;grid-template-columns:1fr 1fr;gap:20px;}}
@media(max-width:480px){.g2,.g3{grid-template-columns:1fr;}.fr2{grid-template-columns:1fr;}.fg{grid-template-columns:1fr;}.cta-row{flex-direction:column;align-items:center;}}
/* ── COMPREHENSIVE MOBILE FIXES ── */
@media(max-width:768px){
  /* Hero */
  section[style*="min-height:92vh"],section[style*="min-height:60vh"],section[style*="min-height:55vh"],section[style*="min-height:50vh"]{min-height:70vh!important;}
  /* Hero content padding */
  div[style*="padding:80px 5%"]{padding:48px 5% 40px!important;}
  div[style*="padding:60px 5%"]{padding:40px 5% 32px!important;}
  /* All inline 2-col grids → single col */
  div[style*="grid-template-columns:1fr 1fr"],
  div[style*="grid-template-columns: 1fr 1fr"]{
    grid-template-columns:1fr!important;
    gap:24px!important;
  }
  /* Image grids in why-choose section */
  div[style*="grid-template-columns:1fr 1fr"][style*="gap:10px"],
  div[style*="grid-template-columns:1fr 1fr"][style*="gap:12px"]{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  /* Location city cards min-height */
  div[style*="min-height:300px"],div[style*="min-height:320px"]{min-height:240px!important;}
  /* Process steps row → 2 col */
  div[style*="grid-template-columns:repeat(auto-fill,minmax(220px"]{
    grid-template-columns:1fr 1fr!important;
  }
  /* Services flex pairs */
  div[style*="grid-template-columns:1fr 1fr"][style*="gap:56px"],
  div[style*="grid-template-columns:1fr 1fr"][style*="gap:60px"]{
    grid-template-columns:1fr!important;
  }
  /* CTA band padding */
  .cta-band{padding:48px 5%!important;}
  /* Section padding already handled by .sec */
  /* Footer grid handled by existing rule */
  /* Stats */
  .sn{font-size:28px!important;}
  /* Card images smaller on mobile */
  .ci{height:180px!important;}
  /* Modal padding */
  .mb{padding:16px 16px 20px!important;}
  .mh{padding:16px 16px 14px!important;}
  /* Buttons full width in hero */
  div[style*="display:flex;gap:14px;flex-wrap:wrap"] .btn{width:100%;text-align:center;justify-content:center;}
}
@media(max-width:480px){
  /* Image pair grids → single col on very small */
  div[style*="grid-template-columns:1fr 1fr"][style*="gap:8px"],
  div[style*="grid-template-columns:1fr 1fr"][style*="gap:10px"],
  div[style*="grid-template-columns:1fr 1fr"][style*="gap:12px"]{
    grid-template-columns:1fr!important;
  }
  /* Process steps */
  div[style*="grid-template-columns:1fr 1fr"][style*="border"]{
    grid-template-columns:1fr!important;
  }
  /* Area list grid in coimbatore/chennai pages */
  div[style*="grid-template-columns:1fr 1fr"][style*="gap:6px"]{
    grid-template-columns:1fr!important;
  }
  /* Stat numbers */
  .sn{font-size:32px!important;}
  /* Logo text size */
  .nav-logo-t{font-size:17px!important;}
  /* Hero title */
  .h1{font-size:28px!important;}
  .h2{font-size:22px!important;}
}

/* Kanish Homes WordPress city-page isolation fix.
   The original HTML relies on the inline 13px font declaration on the
   location-area grid. WordPress/global CSS can otherwise enlarge or add
   spacing to the grid's span elements. Keep these list items exactly at
   the source design size and spacing. */
.kh-city-content div[style*="grid-template-columns:1fr 1fr"][style*="font-size:13px"]{
  font-size:13px !important;
  line-height:1.7 !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:6px 20px !important;
}
.kh-city-content div[style*="grid-template-columns:1fr 1fr"][style*="font-size:13px"] > span{
  display:block !important;
  width:auto !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  font-size:13px !important;
  line-height:1.7 !important;
  color:rgba(255,255,255,.5) !important;
  letter-spacing:normal !important;
  text-transform:none !important;
}
.kh-city-content div[style*="grid-template-columns:1fr 1fr"][style*="font-size:13px"] > span:empty{
  display:block !important;
}
@media(max-width:768px){
  .kh-city-content div[style*="grid-template-columns:1fr 1fr"][style*="font-size:13px"]{
    grid-template-columns:1fr 1fr !important;
    gap:6px 12px !important;
  }
}

/* v1.1.1: dedicated city area-grid fallback */
.kh-city-content .kh-area-grid{display:grid!important;grid-template-columns:1fr 1fr!important;grid-auto-flow:row!important;gap:6px 20px!important;font-size:13px!important;line-height:1.7!important;color:rgba(255,255,255,.5)!important;margin:0!important;padding:0!important;}
.kh-city-content .kh-area-grid>span{display:block!important;width:auto!important;min-width:0!important;height:auto!important;margin:0!important;padding:0!important;font-size:13px!important;line-height:1.7!important;color:rgba(255,255,255,.5)!important;font-weight:400!important;letter-spacing:normal!important;text-transform:none!important;}
@media(max-width:768px){.kh-city-content .kh-area-grid{grid-template-columns:1fr 1fr!important;gap:6px 12px!important;}}
