/* OneHubWorld Universal Light Hero v1 — state, district, taluk, village.
 * Decorative layout only. Images are unchanged from existing verified sources.
 * Do not apply invented or unrelated imagery to village/state pages.
 */
:root{--ohw-ink:#123f80;--ohw-strong:#0e3470;--ohw-blue:#0969e8;--ohw-wash:#f4faff}
html{scroll-padding-top:96px}
/* Make the verified landscape the page background, rather than a dark card. */
main .region-hero,main .dg-hero,main .tk-hero,main.village-page .village-hero{
  box-sizing:border-box!important;position:relative!important;isolation:isolate!important;
  width:100vw!important;max-width:none!important;
  margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;
  margin-top:0!important;min-height:clamp(420px,42vw,620px)!important;
  padding:clamp(30px,6vw,95px) max(24px,calc((100vw - 1210px)/2))!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
  background:linear-gradient(106deg,#fff 0%,#f3f9ff 62%,#e9f4ff 100%)!important;
  color:var(--ohw-ink)!important;overflow:hidden!important
}
main .region-hero,main .dg-hero{display:flex!important;align-items:center!important}
main .tk-hero{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:center!important}
/* The image remains readable, naturally bright, and progressively blends to white on left. */
main .region-hero .region-hero-media,main .dg-hero .dg-hero-image{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  min-height:0!important;z-index:-2!important;margin:0!important;pointer-events:none!important
}
main .region-hero .region-hero-media img,main .dg-hero .dg-hero-image img,
main .tk-hero .ohw-taluk-cover{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:center 45%!important;
  opacity:1!important;filter:none!important;z-index:-2!important;display:block!important
}
main .region-hero:has(.region-hero-media)::after,
main .dg-hero:has(.dg-hero-image)::after,
main .tk-hero.ohw-hero-has-photo::before,
main .tk-hero.ohw-hero-has-photo::after{
  content:""!important;position:absolute!important;inset:0!important;z-index:-1!important;
  background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.93) 29%,rgba(255,255,255,.76) 48%,rgba(255,255,255,.12) 79%,rgba(255,255,255,0) 100%)!important;
  pointer-events:none!important
}
/* Prevent a second dark overlay from obscuring the view. */
main .tk-hero.ohw-hero-has-photo::after{display:none!important}
main .region-hero .region-hero-copy,main .dg-hero .dg-hero-copy,
main .tk-hero > div:not(.ohw-taluk-background-credit){
  position:relative!important;z-index:1!important;box-sizing:border-box!important;
  flex:0 1 640px!important;width:min(100%,650px)!important;max-width:650px!important;
  padding:0!important;margin:0!important;background:transparent!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important
}
/* A white page, dark-blue typography, and buttons that fit the photo. */
main .region-hero h1,main .dg-hero h1,main .tk-hero h1,
main.village-page .village-hero h1{
  color:var(--ohw-strong)!important;text-shadow:none!important;
  font-size:clamp(38px,5.8vw,77px)!important;line-height:1.07!important;letter-spacing:-.035em!important
}
main .region-hero p,main .dg-hero p,main .tk-hero p,
main.village-page .village-hero p,main.village-page .village-hero .alternate{
  color:var(--ohw-ink)!important;text-shadow:none!important;
  font-size:clamp(15px,1.4vw,19px)!important;line-height:1.55!important
}
main .region-hero .pill,main .dg-hero .pill,main .tk-hero .tk-eyebrow,
main.village-page .village-hero .pill{
  color:#0752b2!important;background:#e8f3ff!important;text-shadow:none!important;
  border:1px solid #d4e8ff!important;border-radius:999px!important
}
main .region-hero a.region-btn,main .dg-hero a.dg-btn,main .tk-hero a.tk-btn,
main.village-page .village-hero a.primary,main.village-page .village-hero a.outline{
  text-shadow:none!important;border-radius:12px!important;box-shadow:0 3px 9px #163a6b10!important;
  background:#fff!important;border:1px solid #c8def8!important;color:#0c448c!important
}
main .region-hero a.region-btn:first-child,main .dg-hero a.dg-btn:first-child,
main .tk-hero a.tk-btn:first-child,main.village-page .village-hero a.primary{
  background:linear-gradient(135deg,#078cea,#0752d8)!important;color:#fff!important;border-color:#0970e0!important
}
/* Taluk facts are NOT giant white cards over the landmark. Compact transparent facts sit with copy. */
main .tk-hero .tk-facts{
  z-index:1!important;position:relative!important;justify-self:start!important;
  display:flex!important;flex-wrap:wrap!important;gap:5px 15px!important;
  width:min(100%,760px)!important;max-width:760px!important;
  margin:16px 0 0!important;padding:10px 0!important;
  background:transparent!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;backdrop-filter:none!important;color:var(--ohw-ink)!important
}
main .tk-hero .tk-facts h2{width:100%!important;font-size:14px!important;margin:0!important;color:var(--ohw-ink)!important}
main .tk-hero .tk-facts > div{display:flex!important;align-items:baseline!important;gap:8px!important;
  padding:2px 12px 2px 0!important;border:0!important;border-right:1px solid #bed8ef!important;
  width:auto!important;min-width:0!important;color:var(--ohw-ink)!important
}
main .tk-hero .tk-facts :is(small,b,strong){font-size:13px!important;color:var(--ohw-ink)!important}
main .tk-hero .tk-facts small{font-weight:400!important}
main .tk-hero .ohw-taluk-background-credit{
  position:relative!important;z-index:2!important;max-width:min(100%,760px)!important;
  margin-top:20px!important;padding:7px 12px!important;border-radius:8px!important;
  background:rgba(255,255,255,.9)!important;color:#173b67!important;font-size:11px!important
}
main .tk-hero .ohw-taluk-background-credit a{color:#075fc4!important}
/* Existing breadcrumb, section-jump and location links remain visible and keyboard reachable. */
main .region-jumps,main .dg-jumps,main .tk-jumps{
  position:relative!important;z-index:3!important;margin-top:-16px!important;
  border-radius:14px!important;background:#fff!important;
  box-shadow:0 9px 24px #0c397c10!important;border:1px solid #e5effb!important
}
main .region-jumps a,main .dg-jumps a,main .tk-jumps a{color:#12427d!important}
main .region-jumps a:is(:focus-visible,:hover),main .dg-jumps a:is(:focus-visible,:hover),
main .tk-jumps a:is(:focus-visible,:hover){color:#075bd5!important;background:#eaf3ff!important;outline-offset:2px}
/* Village page: consistent premium white-and-blue, no fake village photo. */
main.village-page .village-hero{min-height:360px!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
main.village-page .village-hero .breadcrumbs,main.village-page .village-hero .breadcrumbs a,
main.village-page .village-hero .status-text{color:#164680!important;opacity:1!important}
main.village-page .village-hero .hero-actions{position:relative!important;z-index:2!important}
/* Other state pages use the same clean white-on-white language without inventing a state photo. */
main.container > .feature:first-of-type:not(.village-hero){background:linear-gradient(105deg,#fff,#eaf5ff);color:var(--ohw-ink)}
@media(max-width:760px){
  main .region-hero,main .dg-hero,main .tk-hero,main.village-page .village-hero{
    min-height:380px!important;padding:48px 20px 38px!important
  }
  main .region-hero:has(.region-hero-media)::after,
  main .dg-hero:has(.dg-hero-image)::after,
  main .tk-hero.ohw-hero-has-photo::before{
    background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.83) 64%,rgba(255,255,255,.62))!important
  }
  main .tk-hero .tk-facts{gap:8px!important;margin-top:22px!important}
  main .tk-hero .tk-facts > div{flex:0 1 auto!important}
  main .region-jumps,main .dg-jumps,main .tk-jumps{margin-top:0!important;flex-wrap:nowrap!important;overflow-x:auto!important;scrollbar-width:thin}
  main .region-jumps a,main .dg-jumps a,main .tk-jumps a{white-space:nowrap!important}
}
@media(prefers-reduced-motion:reduce){main .region-hero *,main .dg-hero *,main .tk-hero *{scroll-behavior:auto!important}}
/* Generic non-Tamil-Nadu state directories: identical clean full-width treatment. */
main.container:not(.village-page) > .feature:first-of-type{
  box-sizing:border-box!important;width:100vw!important;max-width:none!important;
  margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;
  min-height:330px!important;padding:clamp(34px,6vw,84px) max(24px,calc((100vw - 1210px)/2))!important;
  border-radius:0!important;border:0!important;box-shadow:none!important;
  background:linear-gradient(105deg,#fff,#edf6ff)!important;color:var(--ohw-ink)!important
}
main.container:not(.village-page) > .feature:first-of-type h1{color:var(--ohw-strong)!important;font-size:clamp(38px,5.5vw,72px)!important}
/* Future verified village photographs may be added as real <img> without changing this framework. */
main.village-page .village-hero:has(>img){isolation:isolate!important}
main.village-page .village-hero > img{position:absolute!important;inset:0!important;width:100%!important;
  height:100%!important;object-fit:cover!important;z-index:-2!important}
main.village-page .village-hero:has(>img)::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.77) 55%,transparent);
  pointer-events:none}

/* OHW_ALIGNMENT_20261020_HERO_BEGIN
   Continue the white-blue approved hero; fix centering, wrapping, and overflow.
*/
main .region-hero,main .dg-hero,main .tk-hero,main.village-page .village-hero {
  min-width:0!important;box-sizing:border-box!important;
  max-width:none!important;overflow:clip!important;
}
main .region-hero .region-hero-copy,main .dg-hero .dg-hero-copy,
main .tk-hero > div:not(.ohw-taluk-background-credit),
main.village-page .village-hero > :not(img) {
  min-width:0!important;max-width:100%!important;overflow-wrap:break-word;
}
main .region-hero h1,main .dg-hero h1,main .tk-hero h1,
main.village-page .village-hero h1 {max-width:100%;overflow-wrap:break-word}
main .region-hero a,main .dg-hero a,main .tk-hero a,
main.village-page .village-hero a {overflow-wrap:anywhere}
main .region-jumps,main .dg-jumps,main .tk-jumps {box-sizing:border-box!important;max-width:100%;min-width:0;gap:6px}
main .region-jumps a,main .dg-jumps a,main .tk-jumps a {min-width:0}
main .tk-hero .tk-facts {max-width:100%!important;box-sizing:border-box!important}
main .tk-hero .ohw-taluk-background-credit {max-width:100%!important;overflow-wrap:anywhere}
@media(max-width:900px) {
  main .region-hero,main .dg-hero {flex-wrap:wrap!important}
  main .region-hero .region-hero-copy,main .dg-hero .dg-hero-copy {flex:1 1 100%!important}
}
@media(max-width:700px) {
  main .region-hero,main .dg-hero,main .tk-hero,main.village-page .village-hero {
    min-height:0!important;padding:40px 18px!important;
    width:100vw!important;margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
  }
  main .region-hero h1,main .dg-hero h1,main .tk-hero h1,
  main.village-page .village-hero h1 {font-size:clamp(32px,9vw,52px)!important;line-height:1.1!important}
  main .region-hero .region-hero-copy,main .dg-hero .dg-hero-copy {
    width:100%!important;max-width:100%!important;flex-basis:100%!important
  }
  main .region-jumps,main .dg-jumps,main .tk-jumps {
    width:100%!important;max-width:100%!important;
    display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;
    gap:6px!important;padding:8px!important;scrollbar-width:thin!important
  }
  main .region-jumps a,main .dg-jumps a,main .tk-jumps a {white-space:nowrap!important;flex:0 0 auto!important}
  main .tk-hero .tk-facts {width:100%!important;gap:7px!important}
  main .tk-hero .tk-facts > div {flex:1 1 130px!important;min-width:0!important}
  main.village-page .village-hero .hero-actions a {width:auto!important;flex:1 1 155px!important}
}
/* OHW_ALIGNMENT_20261020_HERO_END */


/* OHW_ALIGNMENT_NEUTRAL_TALUK_V2_BEGIN
   Photo-free taluks must not occupy a giant, empty 100vw photo frame.
   Keep their content aligned with the breadcrumb and following sections.
   Image-backed taluks retain their existing full-width photographic hero.
*/
main.tk-page .tk-hero:not(.ohw-hero-has-photo) {
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  align-items:flex-start!important;
  gap:12px!important;
  min-height:0!important;
  height:auto!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:clamp(24px,3vw,46px)!important;
  overflow:visible!important;
}
main.tk-page .tk-hero:not(.ohw-hero-has-photo) > div:first-child {
  box-sizing:border-box!important;
  flex:none!important;
  width:100%!important;
  max-width:860px!important;
  margin:0!important;
}
main.tk-page .tk-hero:not(.ohw-hero-has-photo) .tk-facts {
  box-sizing:border-box!important;
  margin:4px 0 0!important;
  max-width:100%!important;
  width:auto!important;
  gap:6px 12px!important;
}
main.tk-page .tk-hero:not(.ohw-hero-has-photo) .tk-facts > div {
  flex:0 1 auto!important;
  max-width:100%!important;
}
/* Avoid fullscreen-width misalignment for image-free heroes at every width. */
@media(max-width:700px) {
  main.tk-page .tk-hero:not(.ohw-hero-has-photo) {
    padding:28px 16px!important;
    width:100%!important;
    max-width:100%!important;
    margin-inline:0!important;
    min-height:0!important;
  }
  main.tk-page .tk-hero:not(.ohw-hero-has-photo) > div:first-child {
    width:100%!important;
  }
  main.tk-page .tk-hero:not(.ohw-hero-has-photo) .tk-facts {
    width:100%!important;
  }
}
/* OHW_ALIGNMENT_NEUTRAL_TALUK_V2_END */

