:root{--color-bg:#f8fafc;--color-surface:#fff;--color-soft:#f1f5f9;--color-surface-soft:#f1f5f9;--color-text:#172033;--color-muted:#5b667a;--color-border:#dbe3ee;--color-brand:#0f766e;--color-link:#0b63ce;--color-answer:#ecfdf5;--shadow:0 4px 14px rgba(15,23,42,.08);--radius:14px;--radius-sm:8px;--container:1120px}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}.container{max-width:var(--container);margin:auto;padding:0 16px}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:12px;top:12px;background:#fff;padding:8px;z-index:10}.site-header{background:#fff;border-bottom:1px solid var(--color-border)}.header-inner{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:14px 16px}.site-brand{font-size:1.7rem;font-weight:800;color:var(--color-brand);text-decoration:none}.site-tagline{margin:0;color:var(--color-muted)}.site-nav{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap}.site-nav a,.button{color:#fff;background:var(--color-brand);padding:8px 12px;border-radius:10px;text-decoration:none;font-weight:600}.site-nav a{background:var(--color-soft);color:var(--color-text)}.page{padding:24px 0}.hero-card,.content-card,.direct-answer,.source-note{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin:0 0 18px}.eyebrow{color:var(--color-brand);font-weight:700;text-transform:uppercase;font-size:.8rem;letter-spacing:.05em}h1{font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.2;margin:.2em 0}.page-intro{font-size:1.05rem;color:var(--color-muted)}.breadcrumb ol{display:flex;gap:8px;flex-wrap:wrap;list-style:none;padding:0;margin:0 0 14px}.breadcrumb li+li:before{content:'›';margin-right:8px;color:var(--color-muted)}a{color:var(--color-link)}.direct-answer{background:var(--color-answer)}.direct-answer p{margin:.3em 0 0}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:0 0 18px}.metric-card{background:#fff;border:1px solid var(--color-border);border-radius:12px;padding:14px}.metric-label{display:block;color:var(--color-muted);font-size:.9rem}.metric-value{font-size:1.4rem}.quick-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.quick-facts div{border:1px solid var(--color-border);border-radius:10px;padding:10px;background:var(--color-soft)}.quick-facts dt{font-size:.85rem;color:var(--color-muted)}.quick-facts dd{margin:2px 0 0;font-weight:700}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;background:#fff}caption{text-align:left;font-weight:700;margin:0 0 8px}th,td{padding:10px;border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top}th{background:var(--color-soft);font-weight:700}td:nth-child(n+3),th:nth-child(n+3){text-align:right}.faq-item{border-top:1px solid var(--color-border);padding:12px 0}.search-box{display:flex;gap:8px;flex-wrap:wrap}.search-box input{flex:1;min-width:220px;padding:10px;border:1px solid var(--color-border);border-radius:10px}.search-box button{padding:10px 14px;border:0;border-radius:10px;background:var(--color-brand);color:#fff}.result-card{border:1px solid var(--color-border);border-radius:10px;padding:12px;margin:10px 0;background:#fff}.site-footer{background:#0f172a;color:#e2e8f0;padding:28px 0;margin-top:28px}.site-footer a{color:#d7f3ff}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.footer-grid h2{font-size:1rem}.footer-grid ul{list-style:none;padding:0}.footer-source-note,.footer-disclaimer,.copyright{color:#cbd5e1;font-size:.92rem}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:700px){.site-nav{margin-left:0}.site-nav a{width:100%;text-align:center}th,td{font-size:.92rem}}

/* Directory browse improvements */
.related-links ul{display:grid;gap:.7rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));padding-left:0;list-style:none}.related-links li{background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.75rem}.content-card p{color:var(--color-muted)}

.notice{background:var(--color-soft);border:1px solid var(--color-border);border-radius:10px;padding:10px;color:var(--color-muted)}.result-count{font-weight:700;color:var(--color-muted)}.result-card h3{margin:.1rem 0 .35rem}.result-card p{margin:.25rem 0}.search-results{margin-top:1rem}
.section-note{color:var(--color-muted);font-size:.96rem;margin-top:-.25rem}.compact-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.pill-list{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0 1rem}.pill{display:inline-flex;gap:.35rem;align-items:center;border:1px solid var(--color-border);background:var(--color-surface-soft);border-radius:999px;padding:.35rem .7rem;font-size:.92rem}.pill small{color:var(--color-muted);font-weight:700}.alpha-index{padding:.75rem 1rem;background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:var(--radius-md)}

/* Related villages on individual village pages */
.related-villages .section-note {
  color: var(--color-muted, #5b667a);
  margin-top: -0.25rem;
}
.related-group + .related-group {
  margin-top: 1.25rem;
}
.related-grid {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.related-card {
  display: grid;
  gap: 0.25rem;
  padding: 0.9rem;
  border: 1px solid var(--color-border, #dbe3ee);
  border-radius: var(--radius-md, 12px);
  background: var(--color-surface, #fff);
  text-decoration: none;
  color: inherit;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(15,23,42,.06));
}
.related-card:hover,
.related-card:focus {
  border-color: var(--color-brand, #0f766e);
  box-shadow: var(--shadow-md, 0 4px 14px rgba(15,23,42,.08));
}
.related-card strong {
  color: var(--color-link, #0b63ce);
}
.related-card span {
  color: var(--color-muted, #5b667a);
  font-size: 0.92rem;
}

/* v10 content/search/legal enhancements */
.search-panel .search-box { margin-top: .75rem; }
.notice { background: var(--color-surface-soft, #f1f5f9); border: 1px solid var(--color-border, #dbe3ee); border-radius: var(--radius-md, 12px); padding: .85rem 1rem; color: var(--color-muted, #5b667a); }
.result-count { font-weight: 700; color: var(--color-brand-dark, #115e59); }
.result-card { border: 1px solid var(--color-border, #dbe3ee); border-radius: var(--radius-md, 12px); padding: 1rem; margin: .75rem 0; background: var(--color-surface, #fff); box-shadow: var(--shadow-sm, 0 1px 2px rgba(15,23,42,.06)); }
.result-card h3 { margin-top: 0; margin-bottom: .35rem; }
.check-list { padding-left: 1.25rem; }
.check-list li { margin: .45rem 0; }
.legal-note { background: var(--color-warning-bg, #fff7ed); border: 1px solid #fed7aa; border-radius: var(--radius-md, 12px); padding: .85rem 1rem; }
.legal-section + .legal-section { border-top: 1px solid var(--color-border, #dbe3ee); margin-top: 1.25rem; padding-top: 1.25rem; }

/* v11 data quality and map enhancements */
.data-note { border-left: 4px solid var(--color-brand, #0f766e); }
.data-coverage details { margin-top: 1rem; border: 1px solid var(--color-border, #dbe3ee); border-radius: var(--radius-md, 12px); padding: 0.85rem 1rem; background: var(--color-surface-soft, #f8fafc); }
.data-coverage summary { cursor: pointer; font-weight: 700; color: var(--color-text, #172033); }
.check-list { padding-left: 1.1rem; margin: 0.75rem 0 0; }
.check-list li { margin: 0.4rem 0; }
.village-map-card .map-shell,
.village-map-card .map-placeholder { border: 1px solid var(--color-border, #dbe3ee); border-radius: var(--radius-lg, 16px); background: var(--color-surface-soft, #f8fafc); min-height: 260px; display: grid; place-items: center; padding: 1rem; text-align: center; }
.village-map-card .map-placeholder-soft { min-height: 0; display: block; text-align: left; }
.map-frame { width: 100%; height: 360px; border: 0; border-radius: var(--radius-lg, 16px); display: block; }
.button-secondary { background: #eef6ff; color: var(--color-link, #0b63ce); border: 1px solid #b9d7ff; }
@media (max-width: 640px) { .map-frame { height: 300px; } }

/* v12 navigation, alphabetical browsing and professional readability */
.jump-nav { position: relative; }
.jump-links, .alpha-index { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.jump-links a, .alpha-index a { display: inline-flex; align-items: center; min-height: 34px; padding: .35rem .65rem; border: 1px solid var(--color-border); border-radius: 999px; background: var(--color-surface-soft); text-decoration: none; font-weight: 650; }
.jump-links a:hover, .jump-links a:focus, .alpha-index a:hover, .alpha-index a:focus { border-color: var(--color-brand); background: var(--color-answer); }
.village-letter-group h2 { display: flex; align-items: baseline; gap: .5rem; }
.data-table th { text-transform: none; letter-spacing: 0; }
@media (min-width: 900px) { .jump-nav { top: 0; } }

/* v16 Improvement Content Phase 3: strong village summaries */
.village-overview .section-headline h2 { margin-top: 0; }
.admin-path { display: grid; gap: .75rem; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); margin: 1rem 0; }
.admin-path-item { border: 1px solid var(--color-border); border-radius: var(--radius-md, 12px); background: var(--color-surface-soft); padding: .75rem .85rem; }
.admin-path-item span { display: block; color: var(--color-muted); font-size: .86rem; }
.admin-path-item strong, .admin-path-item a { font-weight: 750; text-decoration: none; }
.overview-points { margin-top: 1rem; }
.overview-points li { margin-bottom: .45rem; }

/* v30 Postal Phase 3: home/state/district postal summaries */
.postal-summary { border-top: 4px solid var(--color-brand, #0f766e); }
.postal-summary h3 { margin-top: 1.25rem; }
.compact-summary { margin: 1rem 0; }
.postal-summary .section-note { margin-top: 1rem; color: var(--color-muted, #5b667a); }

/* v33 Postal Phase 6: safe village postal information */
.village-postal-info {
  border-top: 4px solid var(--color-brand, #0f766e);
}
.village-postal-info .postal-key-facts {
  margin: 1rem 0;
}
.village-postal-info .section-note {
  margin-top: 1rem;
  color: var(--color-muted, #5b667a);
}
.village-postal-info .notice {
  margin-top: .75rem;
}

/* ATM Integration Phase 6: safe banking summary display */
.banking-summary .summary-grid,.village-banking-info .quick-facts{margin-top:1rem}.banking-summary h3,.village-banking-info h3{margin-top:1.35rem}.banking-summary .notice,.village-banking-info .notice{margin-top:1rem}.banking-warnings{margin-top:1rem;color:var(--color-muted)}

/* Entity reference context for state and district pages */
.entity-context{border-top:4px solid var(--color-brand)}
.entity-context-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:1.25rem;align-items:start}
.entity-context h2{margin-top:0}
.entity-facts{margin-top:1rem}
.entity-map{margin:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-soft);padding:1rem;text-align:center}
.entity-map img{display:block;width:100%;height:auto;max-height:520px;object-fit:contain;margin:auto}
.entity-map figcaption{color:var(--color-muted);font-size:.86rem;margin-top:.5rem}
@media(max-width:920px){.entity-context-layout{grid-template-columns:1fr}.entity-map img{max-height:460px}}
.tool-list{list-style:none;padding:0;margin:1rem 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem}
.tool-list li{border-top:1px solid var(--color-border);padding:.75rem 0}
.tool-list a{font-weight:700}
.tool-list span{display:block;color:var(--color-muted);font-size:.94rem;margin-top:.2rem}
.related-links li span{display:block;color:var(--color-muted);font-size:.94rem;margin-top:.2rem}
.ad-slot{display:block;min-height:280px;margin:1.25rem auto;padding:.5rem 0;text-align:center;overflow:hidden}
.ad-slot-top{margin-top:1rem}
.ad-slot-mid{min-height:300px}
.ad-slot-bottom{min-height:250px}
.ad-slot-related{min-height:360px}
.ad-label{display:block;margin-bottom:.35rem;color:var(--color-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
.vill-ad{min-height:250px}
@media(max-width:640px){.ad-slot{min-height:250px;margin:1rem auto}.ad-slot-related{min-height:320px}}

/* Brand logo assets */
.site-brand{display:inline-flex;align-items:center;line-height:1}
.site-brand img{display:block;width:clamp(132px,22vw,210px);height:auto}
.site-brand:focus-visible{outline:3px solid rgba(15,118,110,.35);outline-offset:4px;border-radius:10px}
