/* Locale bodies use the shared shell geometry and colour/type tokens. Indic fallback
   comes from each home's existing Noto font; PPNeue remains the site display face. */
body.locale-home { font-family: PPNeue, 'Noto Sans Devanagari', 'Noto Sans Tamil', 'Noto Sans Telugu', 'Noto Sans Gujarati', 'Noto Sans Kannada', 'Noto Sans Malayalam', 'Noto Sans Bengali', sans-serif; font-size: 16px; line-height: 1.65; }
.locale-home h1, .locale-home h2, .locale-home h3 { font-weight: 400; letter-spacing: -.025em; line-height: 1.5; }
.locale-home a:focus-visible, .locale-home button:focus-visible { outline: 3px solid var(--violet); outline-offset: 4px; }
.locale-home .page-nav { grid-template-columns: auto minmax(0, 1fr) auto; gap: 20px; }
.locale-home .page-nav-links { justify-self: center; align-items: center; flex-wrap: wrap; }
.locale-home .page-nav-links a { padding: 8px 16px; border-radius: 24px; font-size: 16px; }
.locale-home .page-nav-links a:hover { background: rgba(255,255,255,.14); }
.locale-nav-action .primary-cta { min-height: 56px; background: var(--royal); }
.locale-home .page-nav > button { display: none; }
.locale-home .locale-hero { min-height: 850px; gap: 64px; }
.locale-home .locale-hero h1 { max-width: 19ch; font-size: var(--gg-h1, clamp(32px, 4vw, 54.4px)); line-height: 1.5; letter-spacing: -.025em; }
.locale-home .hero-copy > p:not(.kicker) { line-height: 1.65; }
.locale-home .hero-actions a { padding: 14px 26px; text-align: center; }
.locale-home .hero-art img { object-position: 80% 50%; }
.locale-home .hero-art { aspect-ratio: 4 / 5; max-height: 580px; }
.locale-language-link { display: inline-block; margin-top: 24px; font-size: 16px; color: var(--violet); text-decoration: underline; text-underline-offset: 4px; }
.locale-section { width: min(1240px, calc(100% - 64px)); margin: 0 auto; padding: 48px 0; }
.locale-section > h2 { margin-bottom: 32px; font-size: var(--gg-h2, clamp(28px, 3vw, 40.8px)); }
.locale-rashi-grid { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 16px; }
.locale-rashi-card, .locale-service-card, .locale-chip-block { min-width: 0; border: 1px solid var(--line); border-radius: 28px 28px 28px 0; background: var(--white); }
.locale-rashi-card { display: flex; flex-direction: column; align-items: center; padding: 24px 12px; text-align: center; transition: background .2s; }
.locale-rashi-card:hover { background: var(--lavender); }
.locale-rashi-card h3 { margin-top: 12px; font-size: 20px; overflow-wrap: anywhere; }
.locale-rashi-card p { color: var(--ink-soft); font-size: 16px; }
.locale-icon { display: block; flex-shrink: 0; width: 40px; height: 40px; color: var(--violet); }
.locale-service-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.locale-service-card { padding: 32px; display: flex; flex-direction: column; align-items: flex-start; }
.locale-service-card h3 { font-size: 26px; margin: 20px 0 12px; }
.locale-service-card p { margin-bottom: 24px; color: var(--ink-soft); }
.locale-service-card .primary-cta { margin-top: auto; padding: 14px 26px; box-shadow: none; }
.locale-sky-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; padding-bottom: 96px; }
.locale-chip-block { padding: 32px; }
.locale-chip-block h2 { font-size: 28px; margin-bottom: 24px; }
.locale-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.locale-chip { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 18px; border: 1px solid var(--line); border-radius: 30px; background: var(--paper); }
.locale-chip:hover { background: var(--lavender); }
/* The shared footer's compact Latin scale needs more room for Indic scripts. */
.locale-home footer.page-footer.page-footer { --ggf-fs: 16px; --ggf-lh: 1.65; --ggf-tagline-lh: 1.5; }
.locale-home .page-footer-cols a { overflow-wrap: anywhere; }
.locale-home .page-footer-col h3 { line-height: 1.5; }
/* The localized footer link reopens the shared banner; no second launcher. */
.locale-home #ggConsentReopen { display: none !important; }
.locale-privacy { font-size: 16px; line-height: 1.65; }
@media (max-width: 1120px) {
  .locale-home .page-nav { grid-template-columns: 1fr auto; gap: 12px; }
  .locale-home .page-nav > button { display: flex; width: 48px; height: 48px; border: 1px solid var(--line); border-radius: 50%; color: var(--ink); background: var(--paper); flex-direction: column; align-items: center; justify-content: center; gap: 6px; }
  .locale-home .page-nav > button span { width: 18px; height: 1px; background: var(--ink); transition: transform .25s ease; }
  .locale-home .page-nav > button[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .locale-home .page-nav > button[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .locale-home .page-nav-links { display: flex; position: absolute; top: 72px; left: 0; right: 0; border-radius: 24px; padding: 16px; flex-direction: column; align-items: stretch; }
  .locale-home .page-nav-links.hidden { display: none; }
  .locale-nav-action { display: none; }
  .locale-rashi-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media (max-width: 767px) {
  .locale-home .locale-hero { padding: 130px 24px 48px; min-height: 0; grid-template-columns: minmax(0,1fr); gap: 40px; }
  .locale-home .locale-hero h1 { font-size: 32px; max-width: 100%; }
  .locale-home .hero-art { width: min(100%,420px); justify-self: center; }
  .locale-section { width: calc(100% - 40px); padding: 32px 0; }
  .locale-rashi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .locale-service-grid, .locale-sky-grid { grid-template-columns: minmax(0,1fr); }
  .locale-service-card, .locale-chip-block { padding: 24px; }
  .locale-sky-grid { padding-bottom: 56px; }
  .locale-home .page-footer-bottom { flex-wrap: wrap; gap: 24px; }
}

/* 2026-10-09: one hidden skip link, shown on keyboard focus. */
.locale-skip-link{position:absolute;left:-9999px;top:0}
.locale-skip-link:focus{left:16px;top:16px;z-index:1000;padding:10px 16px;border-radius:999px;background:var(--gg-ink,#1d1530);color:#fff;text-decoration:none}
