/**
 * Shared mobile / small-screen fixes for public marketing pages.
 * Loaded after page CSS via assets/main.js — does not change desktop branding.
 */
html {
  overflow-x: clip;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  overflow-x: clip;
  max-width: 100%;
}

.drawer-group-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  padding: 12px 12px 12px 0;
  cursor: pointer;
  border-radius: 10px;
}

.drawer-group-title::after {
  content: "";
  width: 8px;
  height: 8px;
  flex-shrink: 0;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  opacity: 0.55;
  transition: transform 0.2s ease;
}

.drawer-group.is-open .drawer-group-title::after {
  transform: rotate(225deg);
  opacity: 0.9;
}

.drawer-group .drawer-sub {
  display: none;
}

.drawer-group.is-open .drawer-sub {
  display: block;
}

/* Framed heroes & pillar cards — images must fill the frame, not overflow */
.seo-hero__visual img,
.seo-hero__visual--fit img,
.page-hero__media img,
.dm-hero__media img,
.product-hero__visual img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: cover;
  object-position: center;
}

.seo-pillar-card__img img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
}

.product-media img,
.product-split__media img {
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  object-position: center;
  box-sizing: border-box;
}

/* ── Site-wide: never let UI glyphs fill the page ──
   Inline SVGs with a 24×24 viewBox and no width/height default to 100% of
   the parent. Unstyled icon wrappers then grow to the full card. */
svg[viewBox="0 0 24 24"]:not([width]) {
  width: 24px;
  height: 24px;
}
svg[viewBox="0 0 24 24"] {
  max-width: 32px;
  max-height: 32px;
  flex-shrink: 0;
  display: block;
}

[class$="__icon"]:not(svg),
[class$="-icon"]:not(svg),
[class$="icon"]:not(svg) {
  flex: 0 0 auto;
  box-sizing: border-box;
}

[class$="__icon"] svg,
[class$="-icon"] svg,
[class$="icon"] svg {
  max-width: 28px;
  max-height: 28px;
  display: block;
  flex-shrink: 0;
}

.bwd-feature__icon,
.smm-svc-icon,
.smm-platform__icon,
.maint-icon {
  width: 44px;
  height: 44px;
  max-width: 48px;
  max-height: 48px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  overflow: hidden;
  color: #2563eb;
  background: rgba(37, 99, 235, 0.08);
  border: 1px solid rgba(37, 99, 235, 0.14);
}

.gym-flip__icon,
.dms-flip__icon,
.webapp-card__icon,
.form-success__icon {
  max-width: 56px;
  max-height: 56px;
  overflow: hidden;
}

.gym-flip__icon svg,
.dms-flip__icon svg,
.webapp-card__icon svg,
.form-success__icon svg {
  width: 28px;
  height: 28px;
  max-width: 28px;
  max-height: 28px;
}

/* Industry icon cards (gym / DMS product pages) */
.industry-grid--icons .industry-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  min-width: 0;
  height: 100%;
  box-sizing: border-box;
}

.industry-card__title,
.industry-card__sub {
  width: 100%;
  max-width: 100%;
  text-align: center;
  text-wrap: balance;
}

.industry-card__icon svg,
.prod-benefit__icon svg,
.bwd-feature__icon svg,
.smm-svc-icon svg,
.smm-platform__icon svg,
.maint-icon svg {
  width: 22px;
  height: 22px;
}

/* Feature / platform cards that had markup but no page CSS */
.bwd-feature-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 720px) {
  .bwd-feature-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .bwd-feature-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.bwd-feature {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  min-width: 0;
  padding: 20px 18px;
  background: #fff;
  border: 1px solid var(--line, #e2e8f0);
  border-radius: 16px;
  box-sizing: border-box;
}
.bwd-feature h3 {
  font-family: "Sora", system-ui, sans-serif;
  font-size: 0.95rem;
  margin: 4px 0 0;
  color: var(--heading, #0f172a);
}
.bwd-feature p {
  font-size: 0.84rem;
  line-height: 1.55;
  color: var(--muted, #64748b);
  margin: 0;
}

.smm-platform-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 640px) {
  .smm-platform-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 900px) {
  .smm-platform-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.smm-platform {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 8px;
  padding: 18px 12px;
  background: #fff;
  border: 1px solid var(--line, #e2e8f0);
  border-radius: 14px;
  min-width: 0;
}
.smm-platform h3 {
  font-family: "Sora", system-ui, sans-serif;
  font-size: 0.88rem;
  margin: 0;
  color: var(--heading, #0f172a);
}

.smm-svc-icon {
  margin-bottom: 10px;
}

.maint-icon-list {
  list-style: none;
  margin: 20px 0 0;
  padding: 0;
  display: grid;
  gap: 14px;
}
.maint-icon-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.maint-icon-list strong {
  display: block;
  font-size: 0.92rem;
  color: var(--heading, #0f172a);
}
.maint-icon-list span:not(.maint-icon) {
  display: block;
  font-size: 0.84rem;
  color: var(--muted, #64748b);
  line-height: 1.5;
}

/* Website development hub link cards */
.wd-hub-cards .wd-hub-card {
  display: flex;
  flex-direction: column;
  text-decoration: none !important;
  color: inherit;
  min-height: 0;
}

.wd-hub-cards .wd-hub-card h3 {
  margin-top: 0;
}

.wd-hub-card__cta {
  display: block;
  margin-top: 10px;
  font-size: 0.84rem;
  font-weight: 600;
  color: var(--accent, #2563eb);
}

.wd-hub-cards .svc-pillar .list {
  margin: 0 0 8px;
  padding-left: 1.15rem;
  font-size: 0.84rem;
}

img,
video,
iframe,
canvas,
.product-media img,
.page-hero img,
.product-hero__visual img {
  max-width: 100%;
  height: auto;
}

.blog-card__media img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}

/* Avoid horizontal scroll from long strings */
p,
li,
a,
h1,
h2,
h3,
h4,
td,
th {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.brand,
.brand-lockup,
.nav a,
.btn-call,
.header-actions .btn-primary,
.nav-icon,
.brand-mark,
.brand-mark img,
.blog-toc-inline li,
.blog-toc-inline a,
.blog-content h2,
.blog-content h3,
.blog-content h4,
.blog-content p,
.blog-content li {
  overflow-wrap: normal;
  word-break: normal;
  max-width: none;
}

/* Forms: prevent iOS zoom + cramped pads */
.form-group input,
.form-group select,
.form-group textarea,
input.form-control,
select.form-select,
textarea.form-control,
.contact-form input,
.contact-form select,
.contact-form textarea,
.gst-demo-form input,
.gst-demo-form select {
  font-size: 16px !important;
  max-width: 100%;
  box-sizing: border-box;
}

/* Drawer: scroll body, pin actions (chrome CSS is duplicated across pages) */
.drawer {
  display: flex !important;
  flex-direction: column !important;
  max-height: 100dvh;
  max-height: 100vh;
}

.drawer-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: auto !important;
  -webkit-overflow-scrolling: touch;
}

.drawer-actions {
  flex: 0 0 auto !important;
}

/* Scroll wrappers for wide tables — do not force table { display:block } */
.gst-table-wrap,
.table-scroll,
.compare-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
}

@media (max-width: 980px) {
  .container {
    padding-inline: max(12px, env(safe-area-inset-left)) max(12px, env(safe-area-inset-right));
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .site-header .container {
    padding-inline: 12px;
  }

  .header-inner {
    gap: 8px;
    min-width: 0;
  }

  .btn-call {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 6px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    border-radius: 0 !important;
  }

  .btn-call:hover,
  .btn-call:focus,
  .btn-call:focus-visible {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: none !important;
  }

  .btn-call .nav-icon {
    color: #1d4ed8 !important;
    display: block;
    width: 22px;
    height: 22px;
    transform-origin: 50% 50%;
    animation: nav-call-shake 10s ease-in-out infinite;
  }

  .brand {
    min-width: 0;
    max-width: calc(100% - 96px);
  }

  .brand-lockup {
    overflow: visible;
    flex-shrink: 1;
  }

  .brand-suffix {
    display: inline !important;
  }

  .header-end {
    flex: 0 0 auto;
    margin-left: auto;
    gap: 8px;
    min-width: 0;
  }

  section:not(.product-hero):not(.page-hero):not(.hero-banner):not(.gst-hero):not(.clients-hero) {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .page-hero {
    padding-top: calc(var(--header-h, 72px) + 12px) !important;
    padding-bottom: 40px !important;
  }

  .page-hero .section-title,
  .seo-hero__copy .section-title {
    font-size: clamp(1.45rem, 5.5vw, 2.1rem) !important;
    max-width: 100%;
  }

  .section-desc,
  .page-hero p {
    font-size: 0.95rem;
    max-width: 100%;
  }

  .contact-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .form-row {
    grid-template-columns: 1fr !important;
  }

  .hero-banner__inner,
  .hero-inner {
    padding-left: 0;
    padding-right: 0;
  }

  .hero-banner .hero-actions,
  .hero-actions,
  .cta-actions,
  .product-hero .cta-row,
  .product-final-cta .cta-row,
  .cta-row {
    flex-wrap: wrap;
    gap: 12px;
  }

  /* Mega menus near edges on tablet */
  .menu--services,
  .menu--products {
    max-width: calc(100vw - 24px);
    min-width: 0 !important;
  }
}

@media (max-width: 640px) {
  .container {
    padding-inline: 16px;
  }

  section:not(.product-hero):not(.page-hero):not(.hero-banner):not(.gst-hero):not(.clients-hero) {
    padding-top: 32px;
    padding-bottom: 32px;
  }

  .contact-form,
  .contact-form.fade-up {
    padding: 20px 16px !important;
    border-radius: 14px;
  }

  .btn-submit,
  .contact-form .btn-submit {
    width: 100%;
    justify-content: center;
  }

  /* Common grids → single column on phones (exclude product benefit/industry icon grids) */
  .services-grid,
  .portfolio-grid,
  .pricing-grid,
  .home-card-grid,
  .home-card-grid--3,
  .home-case-grid,
  .blog-teaser-grid,
  .product-grid,
  .products-grid,
  .feature-grid,
  .cards-grid,
  .process-steps,
  .why-grid,
  .industry-grid:not(.industry-grid--icons),
  .dms-steps,
  .gym-steps,
  .dms-feature-showcase,
  .gym-feature-showcase,
  .gst-feature-grid,
  .gst-benefit-grid,
  .gst-flow,
  .gst-testimonial-grid,
  .ecom-feature-grid,
  .svc-pillar-grid,
  .benefit-list {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .gst-industry-grid,
  .gst-proof__grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }

  .gst-flow em {
    display: none !important;
  }

  .gst-benefit--wide {
    grid-column: auto !important;
  }

  .hero-banner .hero-actions,
  .hero-actions,
  .cta-actions,
  .product-hero .cta-row,
  .product-final-cta .cta-row {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .hero-banner .hero-actions .btn-primary,
  .hero-banner .hero-actions .btn-outline,
  .hero-actions .btn-primary,
  .hero-actions .btn-outline,
  .cta-actions .btn-primary,
  .cta-actions .btn-outline,
  .cta-actions a.btn,
  .product-hero .cta-row .btn,
  .product-hero .cta-row a.btn,
  .product-final-cta .cta-row .btn,
  .product-final-cta .cta-row a.btn {
    width: 100%;
    justify-content: center;
    text-align: center;
    box-sizing: border-box;
  }

  .trust-stats__grid {
    grid-template-columns: 1fr !important;
  }

  .trust-stat,
  .trust-stat--clients {
    grid-column: 1 / -1 !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding: 14px 0 !important;
  }

  .home-case-card,
  .portfolio-card,
  .pricing-card,
  .service-card,
  .home-card,
  .feature-card,
  .dms-step,
  .gym-step {
    padding: 20px 16px !important;
  }

  .hero-banner h1 {
    font-size: clamp(1.55rem, 7.2vw, 2.05rem) !important;
    line-height: 1.2 !important;
  }

  .hero-banner .lead,
  .hero-banner p {
    font-size: 0.95rem !important;
  }

  .hero-banner .hero-proof,
  .hero-proof {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100%;
  }

  .hero-banner .hp-card,
  .hp-card {
    width: 100%;
  }

  .hero-banner__inner {
    padding-top: calc(var(--header-h, 64px) + 12px);
    padding-bottom: 28px;
  }

  /* Header: hide desktop CTA on phones — Call + burger stay (matches page chrome) */
  .header-actions .btn-primary {
    display: none !important;
  }

  .btn-call span {
    display: none;
  }

  .btn-call {
    padding: 8px 10px;
    min-width: 44px;
    min-height: 44px;
  }

  .burger {
    min-width: 44px;
    min-height: 44px;
  }

  /* Room for WhatsApp FAB */
  body {
    padding-bottom: 72px;
  }

  #contact,
  .contact-section,
  main {
    scroll-padding-bottom: 88px;
  }

  .mfab {
    z-index: 1100;
    right: max(12px, env(safe-area-inset-right));
    bottom: max(12px, env(safe-area-inset-bottom));
  }

  .mfab-btn {
    background: #25d366 !important;
    border: 0 !important;
    box-shadow: 0 10px 28px rgba(37, 211, 102, 0.45) !important;
  }

  .mfab-btn .mfab-wa,
  .mfab-btn svg {
    width: 28px !important;
    height: 28px !important;
    max-width: 28px !important;
    max-height: 28px !important;
    color: #fff;
  }

  html.drawer-open .mfab,
  body.drawer-open .mfab {
    display: none !important;
  }

  .drawer {
    width: min(100%, 420px) !important;
    max-width: 100vw;
  }

  /* Industry icon cards: grid columns on small screens */
  .industry-grid--icons {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    align-items: stretch !important;
  }

  .industry-grid--icons.industry-grid--5col {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .bwd-feature-grid,
  .smm-platform-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .prod-benefit-grid,
  .gym-benefit-grid,
  .dms-benefit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .product-hero__copy .section-title,
  .product-hero__copy .section-desc {
    max-width: 100% !important;
    text-align: left;
  }

  /* Framed heroes & cards — fill container, don't spill */
  .seo-hero__visual,
  .seo-hero__visual--fit,
  .seo-pillar-card__img,
  .page-hero__media,
  .dm-hero__media,
  .product-hero__visual {
    max-width: 100%;
  }

  .seo-hero__visual img,
  .seo-hero__visual--fit img,
  .page-hero__media img,
  .dm-hero__media img,
  .product-hero__visual img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    object-position: center;
    padding: 0 !important;
  }

  .seo-pillar-card__img img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
    padding: 0 !important;
  }

  .product-media img,
  .product-split__media img {
    width: 100%;
    height: auto;
    max-width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: contain;
    object-position: center;
    padding: 16px !important;
    box-sizing: border-box;
  }

  .seo-workflow__diagram img {
    width: 100%;
    height: auto;
    max-width: 100%;
    object-fit: contain;
    padding: 0 !important;
  }

  .seo-pillar-grid {
    grid-template-columns: 1fr !important;
  }

  .gst-sticky-cta {
    right: 12px !important;
    bottom: max(88px, calc(12px + env(safe-area-inset-bottom))) !important;
    font-size: 0.72rem !important;
    padding: 10px 10px 10px 14px !important;
  }

  .gst-results {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 480px) {
  .container {
    padding-inline: 14px;
  }

  .brand {
    font-size: 0.88rem;
    max-width: calc(100% - 96px);
  }

  .brand-mark {
    width: 40px !important;
    height: 40px !important;
    flex: 0 0 40px;
  }

  .why-feat,
  .why-point,
  .process-step {
    padding: 16px 14px;
    min-width: 0;
    box-sizing: border-box;
  }

  .why-feat > div,
  .why-point > div {
    min-width: 0;
  }

  .logo-strip-row,
  .clients-row {
    gap: 12px 16px;
    justify-content: center;
  }

  .gst-industry-grid,
  .gst-proof__grid {
    grid-template-columns: 1fr !important;
  }

  .product-lp .industry-grid--icons > .industry-card,
  .industry-grid--icons > .industry-card {
    min-width: 0 !important;
    max-width: 100%;
  }

  .prod-benefit-grid,
  .gym-benefit-grid,
  .dms-benefit-grid {
    grid-template-columns: 1fr !important;
  }

  .dms-lp .product-hero__copy .section-title,
  .gym-lp .product-hero__copy .section-title,
  .product-hero__copy .section-title {
    font-size: clamp(1.55rem, 7vw, 2rem) !important;
    max-width: 100% !important;
  }
}

@media (min-width: 992px) {
  .industry-grid--icons.industry-grid--5col {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 380px) {
  .brand {
    font-size: 0.82rem;
  }

  .brand-suffix {
    display: inline !important;
  }
}

/* Footer layout (align with layout-chrome breakpoints) */
@media (max-width: 991px) {
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 28px 24px;
  }

  .footer-brand {
    grid-column: 1 / -1;
  }
}

@media (max-width: 767px) {
  .footer-grid {
    grid-template-columns: 1fr !important;
  }

  .footer-brand {
    grid-column: auto;
  }

  .footer-bottom {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 10px;
  }
}

@keyframes nav-call-shake {
  0%, 91%, 100% { transform: rotate(0deg); }
  92.5% { transform: rotate(-16deg); }
  94% { transform: rotate(14deg); }
  95.5% { transform: rotate(-12deg); }
  97% { transform: rotate(10deg); }
  98.5% { transform: rotate(-6deg); }
}

@media (prefers-reduced-motion: reduce) {
  .btn-call .nav-icon {
    animation: none !important;
  }
}

/* Primary CTAs — orange across the public site */
.header-actions .btn-primary,
.site-header .btn-primary,
.site-footer .btn-primary,
.footer .btn-primary,
.footer-cta .btn-primary,
.cta-actions .btn-primary,
.hero-actions .btn-primary,
.final-cta .btn-primary,
.cta-band .btn-primary {
  background: #ea580c !important;
  border-color: transparent !important;
  color: #fff !important;
  box-shadow: 0 4px 14px rgba(234, 88, 12, 0.28) !important;
}
.header-actions .btn-primary:hover,
.site-header .btn-primary:hover,
.site-footer .btn-primary:hover,
.footer .btn-primary:hover,
.footer-cta .btn-primary:hover,
.cta-actions .btn-primary:hover,
.hero-actions .btn-primary:hover,
.final-cta .btn-primary:hover,
.cta-band .btn-primary:hover,
.header-actions .btn-primary:visited,
.site-header .btn-primary:visited,
.site-footer .btn-primary:visited,
.footer .btn-primary:visited {
  background: #c2410c !important;
  color: #fff !important;
  box-shadow: 0 8px 22px rgba(234, 88, 12, 0.32) !important;
}

/* Language switcher + i18n typography (Tamil / Hindi) */
:root{
  --font-latin:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --font-display:'Sora',var(--font-latin);
  --font-tamil:'Noto Sans Tamil',var(--font-latin);
  --font-devanagari:'Noto Sans Devanagari',var(--font-latin);
  --header-h:76px;
}
/* Header mount — reserve space so navbar never collapses while chrome loads */
#siteHeader{
  min-height:var(--header-h);
  position:relative;
  z-index:1000;
}
.site-header,
#siteHeader .site-header,
header.site-header{
  visibility:visible!important;
  opacity:1!important;
}
/* Override legacy page CSS bundles that hide `.nav` globally (product-page.css, etc.) */
@media (min-width:981px){
  .site-header nav.nav,
  #siteHeader .site-header nav.nav,
  header.site-header nav.nav{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .site-header .burger,
  #siteHeader .site-header .burger,
  header.site-header .burger{
    display:none!important;
  }
}
@media (max-width:980px){
  .site-header nav.nav,
  #siteHeader .site-header nav.nav,
  header.site-header nav.nav{
    display:none!important;
  }
  .site-header .burger,
  #siteHeader .site-header .burger,
  header.site-header .burger{
    display:flex!important;
  }
}
/* Mega-menu hover bridge — keep Services/Products open while moving to sub-links */
.nav-item--mega::after{
  left:-32px;
  right:-32px;
  height:36px;
}
.nav-item--mega .menu{
  margin-top:-2px;
}
html[lang="ta"],
html[data-locale="ta"]{
  --site-ui-font:var(--font-tamil);
}
html[lang="hi"],
html[data-locale="hi"]{
  --site-ui-font:var(--font-devanagari);
}
html[lang="ta"] body,
html[data-locale="ta"] body{
  font-family:var(--font-tamil);
  line-height:1.65;
}
html[lang="hi"] body,
html[data-locale="hi"] body{
  font-family:var(--font-devanagari);
  line-height:1.7;
}
/* Header + nav — override layout-chrome line-height:1 clipping */
html[lang="ta"] .site-header,
html[lang="hi"] .site-header,
html[data-locale="ta"] .site-header,
html[data-locale="hi"] .site-header{
  font-family:var(--site-ui-font,var(--font-latin));
}
html[lang="ta"] .site-header .nav,
html[data-locale="ta"] .site-header .nav{
  min-height:44px;
  padding:4px 3px;
  gap:1px;
  max-width:100%;
}
html[lang="ta"] .site-header .nav a,
html[lang="ta"] .site-header .nav .nav-trigger,
html[data-locale="ta"] .site-header .nav a,
html[data-locale="ta"] .site-header .nav .nav-trigger{
  line-height:1.45 !important;
  min-height:36px !important;
  height:auto !important;
  padding:5px 7px !important;
  font-size:.73rem !important;
  font-family:inherit;
  white-space:nowrap;
  overflow:visible;
  align-items:center;
  vertical-align:middle;
}
/* Hindi navbar — same flex layout as Tamil; Devanagari font only */
html[lang="hi"] .site-header .nav,
html[data-locale="hi"] .site-header .nav{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:flex-end !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  max-width:none !important;
  width:auto !important;
  min-height:44px;
  padding:4px 3px;
  gap:1px;
  overflow:visible;
}
html[lang="hi"] .site-header .nav > a,
html[lang="hi"] .site-header .nav > .nav-item,
html[data-locale="hi"] .site-header .nav > a,
html[data-locale="hi"] .site-header .nav > .nav-item{
  display:inline-flex !important;
  flex:0 0 auto !important;
  width:auto !important;
  max-width:none !important;
}
html[lang="hi"] .site-header .nav-item,
html[data-locale="hi"] .site-header .nav-item{
  position:relative;
  display:inline-flex !important;
  flex-direction:row !important;
  align-items:center;
  flex:0 0 auto;
}
html[lang="hi"] .site-header .nav a,
html[lang="hi"] .site-header .nav .nav-trigger,
html[data-locale="hi"] .site-header .nav a,
html[data-locale="hi"] .site-header .nav .nav-trigger{
  display:inline-flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  gap:4px !important;
  line-height:1.45 !important;
  min-height:36px !important;
  height:auto !important;
  width:auto !important;
  padding:5px 6px !important;
  font-size:.72rem !important;
  font-family:var(--font-devanagari,var(--font-latin));
  white-space:nowrap;
  box-sizing:border-box;
}
html[lang="hi"] .site-header .nav .nav-label,
html[data-locale="hi"] .site-header .nav .nav-label{
  display:inline-block;
  line-height:1.45;
  padding:0;
  margin:0;
}
html[lang="hi"] .site-header .nav .nav-trigger .chev,
html[data-locale="hi"] .site-header .nav .nav-trigger .chev{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  width:10px;
  height:10px;
  margin:0;
}
html[lang="ta"] .site-header .nav .nav-label,
html[data-locale="ta"] .site-header .nav .nav-label{
  line-height:1.45;
  display:inline-block;
  padding-block:1px;
}
/* Persisted chrome — no flash/reflow on in-site navigation */
html.chrome-cached #siteHeader .site-header{
  opacity:1;
  visibility:visible;
}
html[lang="ta"] .site-header .menu-group-title,
html[data-locale="ta"] .site-header .menu-group-title{
  line-height:1.4;
  padding-bottom:10px;
  font-size:.8rem;
}
html[lang="ta"] .site-header .menu-sub a,
html[data-locale="ta"] .site-header .menu-sub a{
  line-height:1.45;
  font-size:.76rem;
  padding:8px 10px;
}
/* Hindi dropdown — drop under trigger, panel extends left (nav is on the right) */
html[lang="hi"] .site-header .nav-item--mega .menu,
html[lang="hi"] .site-header .nav-item--mega .menu--services,
html[lang="hi"] .site-header .nav-item--mega .menu--products,
html[data-locale="hi"] .site-header .nav-item--mega .menu,
html[data-locale="hi"] .site-header .nav-item--mega .menu--services,
html[data-locale="hi"] .site-header .nav-item--mega .menu--products{
  left:auto !important;
  right:0 !important;
  translate:none !important;
  transform:none !important;
  top:calc(100% + 6px);
  margin-top:0;
}
html[lang="hi"] .site-header .menu--services,
html[lang="hi"] .site-header .menu--products,
html[data-locale="hi"] .site-header .menu--services,
html[data-locale="hi"] .site-header .menu--products{
  width:min(620px,calc(100vw - 24px));
  min-width:0;
  max-width:calc(100vw - 24px);
  padding:14px 16px 16px;
}
html[lang="hi"] .site-header .menu-groups,
html[data-locale="hi"] .site-header .menu-groups{
  display:grid !important;
  gap:12px 16px;
  align-items:start;
  margin-top:0;
  width:100%;
}
html[lang="hi"] .site-header .menu-groups--4,
html[data-locale="hi"] .site-header .menu-groups--4{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
html[lang="hi"] .site-header .menu-groups--3,
html[data-locale="hi"] .site-header .menu-groups--3{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
html[lang="hi"] .site-header .menu-group,
html[data-locale="hi"] .site-header .menu-group{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  min-width:0;
  width:100%;
}
html[lang="hi"] .site-header .menu-group-title,
html[data-locale="hi"] .site-header .menu-group-title{
  display:block !important;
  width:100%;
  line-height:1.35;
  padding:0 8px 8px;
  margin:0 0 6px;
  font-size:.78rem;
  font-weight:700;
  text-align:left;
  border-bottom:1px solid var(--line,#e2e8f0);
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  box-sizing:border-box;
}
html[lang="hi"] .site-header .menu-sub,
html[data-locale="hi"] .site-header .menu-sub{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:1px;
  width:100%;
  margin:0;
  padding:0;
}
html[lang="hi"] .site-header .menu-sub a,
html[data-locale="hi"] .site-header .menu-sub a{
  display:block !important;
  width:100%;
  line-height:1.4;
  min-height:0;
  padding:7px 8px;
  font-size:.75rem;
  font-family:var(--font-devanagari,var(--font-latin));
  text-align:left;
  white-space:normal;
  border-left:3px solid transparent;
  border-radius:8px;
  box-sizing:border-box;
}
html[lang="hi"] .site-header .menu-sub a:hover,
html[data-locale="hi"] .site-header .menu-sub a:hover{
  padding-left:8px;
  border-left-color:var(--accent,#1d4ed8);
}
@media (max-width:1180px){
  html[lang="hi"] .site-header .menu-groups--4,
  html[data-locale="hi"] .site-header .menu-groups--4{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  html[lang="hi"] .site-header .menu-groups--3,
  html[data-locale="hi"] .site-header .menu-groups--3{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
html[lang="hi"] .site-header .menu a,
html[data-locale="hi"] .site-header .menu a{
  justify-content:flex-start;
}
html[lang="ta"] .header-actions .btn,
html[lang="hi"] .header-actions .btn,
html[data-locale="ta"] .header-actions .btn,
html[data-locale="hi"] .header-actions .btn{
  line-height:1.4 !important;
  min-height:36px;
  padding:8px 11px;
  font-size:.76rem;
  font-family:inherit;
}
html[lang="ta"] .drawer,
html[lang="hi"] .drawer,
html[data-locale="ta"] .drawer,
html[data-locale="hi"] .drawer{
  font-family:var(--site-ui-font,var(--font-latin));
}
html[lang="ta"] .drawer a,
html[lang="hi"] .drawer a,
html[data-locale="ta"] .drawer a,
html[data-locale="hi"] .drawer a,
html[lang="ta"] .drawer .drawer-group-title,
html[lang="hi"] .drawer .drawer-group-title,
html[data-locale="ta"] .drawer .drawer-group-title,
html[data-locale="hi"] .drawer .drawer-group-title{
  line-height:1.5;
}
html[lang="ta"] .section-title,
html[lang="ta"] h1,
html[lang="ta"] h2,
html[lang="hi"] .section-title,
html[lang="hi"] h1,
html[lang="hi"] h2{
  line-height:1.35;
}
html[lang="ta"] .btn,
html[lang="hi"] .btn,
html[lang="ta"] .btn-primary,
html[lang="hi"] .btn-primary{
  line-height:1.4;
  min-height:2.75rem;
  padding-top:0.55rem;
  padding-bottom:0.55rem;
}
/* Hide lower-priority nav items when Tamil/Hindi labels overflow (desktop only) — REMOVED: caused nav items to disappear unexpectedly */
html[lang="ta"] .site-header,
html[data-locale="ta"] .site-header{
  --header-h:76px;
}
html[lang="hi"] .site-header,
html[data-locale="hi"] .site-header{
  --header-h:76px;
  --site-ui-font:var(--font-devanagari);
}
@media (min-width:981px){
  html[lang="hi"] .brand-suffix,
  html[data-locale="hi"] .brand-suffix{
    display:none;
  }
  html[lang="hi"] .site-header .header-actions,
  html[data-locale="hi"] .site-header .header-actions{
    align-items:center;
  }
  html[lang="hi"] .site-header .header-actions .btn-primary,
  html[data-locale="hi"] .site-header .header-actions .btn-primary{
    font-size:.73rem;
    padding:8px 11px;
    min-height:36px;
    line-height:1.4;
    white-space:nowrap;
  }
  html[lang="hi"] .site-header .btn-call span,
  html[data-locale="hi"] .site-header .btn-call span{
    font-size:.73rem;
    line-height:1.4;
  }
  html[lang="hi"] .lang-switcher__btn,
  html[data-locale="hi"] .lang-switcher__btn{
    font-size:.73rem;
    min-height:36px;
    line-height:1.4;
    padding:6px 10px;
  }
}
html[lang="ta"] .site-header .header-inner,
html[lang="hi"] .site-header .header-inner,
html[data-locale="ta"] .site-header .header-inner,
html[data-locale="hi"] .site-header .header-inner{
  min-height:var(--header-h);
  align-items:center;
}
html[lang="ta"] .site-header .header-end,
html[lang="hi"] .site-header .header-end,
html[data-locale="ta"] .site-header .header-end,
html[data-locale="hi"] .site-header .header-end{
  flex:1 1 auto;
  min-width:0;
  overflow:visible;
}
html[lang="ta"] .site-header .nav,
html[lang="hi"] .site-header .nav,
html[data-locale="ta"] .site-header .nav,
html[data-locale="hi"] .site-header .nav{
  flex:1 1 auto;
  min-width:0;
  max-width:none;
  width:auto;
  overflow:visible;
}
@media (min-width:981px) and (max-width:1280px){
  html[lang="ta"] .site-header .nav a,
  html[lang="ta"] .site-header .nav .nav-trigger,
  html[data-locale="ta"] .site-header .nav a,
  html[data-locale="ta"] .site-header .nav .nav-trigger{
    font-size:.68rem !important;
    padding:4px 5px !important;
  }
  html[lang="hi"] .site-header .nav a,
  html[lang="hi"] .site-header .nav .nav-trigger,
  html[data-locale="hi"] .site-header .nav a,
  html[data-locale="hi"] .site-header .nav .nav-trigger{
    font-size:.68rem !important;
    padding:4px 5px !important;
  }
  html[lang="hi"] .site-header .menu--services,
  html[lang="hi"] .site-header .menu--products,
  html[data-locale="hi"] .site-header .menu--services,
  html[data-locale="hi"] .site-header .menu--products{
    width:min(520px,calc(100vw - 24px));
    min-width:0;
  }
  html[lang="ta"] .brand-mark,
  html[lang="hi"] .brand-mark,
  html[data-locale="ta"] .brand-mark,
  html[data-locale="hi"] .brand-mark{
    width:40px;
    height:40px;
  }
  html[lang="ta"] .brand-suffix,
  html[lang="hi"] .brand-suffix,
  html[data-locale="ta"] .brand-suffix,
  html[data-locale="hi"] .brand-suffix{
    display:none;
  }
  html[lang="ta"] .header-inner,
  html[lang="hi"] .header-inner,
  html[data-locale="ta"] .header-inner,
  html[data-locale="hi"] .header-inner{
    gap:10px 14px;
  }
  html[lang="ta"] .header-end,
  html[lang="hi"] .header-end,
  html[data-locale="ta"] .header-end,
  html[data-locale="hi"] .header-end{
    gap:8px;
  }
}
.lang-switcher{position:relative;display:inline-flex;align-items:center;flex-shrink:0}
.lang-switcher__btn{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 10px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;color:#0f172a;font-size:.78rem;font-weight:600;cursor:pointer;line-height:1.4;font-family:inherit}
.lang-switcher__btn:hover,.lang-switcher__btn:focus-visible{border-color:#93c5fd;outline:2px solid rgba(29,78,216,.2);outline-offset:1px}
.lang-switcher__icon{color:#64748b;flex-shrink:0}
.lang-switcher__chev{color:#64748b;flex-shrink:0}
.lang-switcher__menu{position:absolute;top:calc(100% + 6px);right:0;z-index:1200;min-width:9.5rem;margin:0;padding:6px;list-style:none;border:1px solid #e2e8f0;border-radius:12px;background:#fff;box-shadow:0 12px 32px rgba(15,23,42,.12)}
.lang-switcher__menu button{display:block;width:100%;text-align:left;padding:8px 10px;border:0;border-radius:8px;background:transparent;font:inherit;font-weight:600;color:#334155;cursor:pointer;line-height:1.45}
.lang-switcher__menu button:hover,.lang-switcher__menu button.is-active{background:#eff6ff;color:#1d4ed8}
.lang-switcher--drawer{width:100%;margin-bottom:10px}
.lang-switcher--drawer .lang-switcher__btn{width:100%;justify-content:center;border-radius:12px;min-height:42px}
.lang-switcher--drawer .lang-switcher__menu{left:0;right:0;width:100%}
.i18n-fallback-banner{margin:0;padding:10px 16px;background:#fffbeb;border-bottom:1px solid #fde68a;color:#92400e;font-size:.84rem;text-align:center;line-height:1.5}
@media (max-width:900px){
  .lang-switcher__label{max-width:5.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .header-actions .lang-switcher{order:-1;flex-shrink:0}
  .header-actions .btn-primary{font-size:.74rem;padding-left:9px;padding-right:9px}
}
@media (max-width:768px){
  .header-actions .lang-switcher__label{max-width:4.25rem}
}
/* Blog locale note (Tamil/Hindi UI + English posts) */
.blog-locale-note{
  margin:0 0 14px;
  padding:10px 14px;
  border-radius:10px;
  background:#f0f9ff;
  border:1px solid #bae6fd;
  color:#0c4a6e;
  font-size:.84rem;
  line-height:1.55;
  font-family:var(--site-ui-font,var(--font-latin));
}
.blog-locale-note--article{margin-top:0;margin-bottom:18px}
html[lang="ta"] .blog-locale-note,
html[data-locale="ta"] .blog-locale-note{font-family:var(--font-tamil)}
html[lang="hi"] .blog-locale-note,
html[data-locale="hi"] .blog-locale-note{font-family:var(--font-devanagari)}
/* Hindi homepage — hide untranslated English kicker */
html[lang="hi"] .hero-story-kicker,
html[data-locale="hi"] .hero-story-kicker{
  display:none !important;
}
@media (min-width:981px) and (max-width:1400px){
  html[lang="ta"] .site-header .nav,
  html[data-locale="ta"] .site-header .nav{gap:0;padding:3px 2px}
  html[lang="hi"] .site-header .nav,
  html[data-locale="hi"] .site-header .nav{
    gap:0;
    padding:3px 2px;
  }
  html[lang="hi"] .site-header .nav a,
  html[lang="hi"] .site-header .nav .nav-trigger,
  html[data-locale="hi"] .site-header .nav a,
  html[data-locale="hi"] .site-header .nav .nav-trigger{
    font-size:.66rem !important;
    padding:4px 4px !important;
  }
  html[lang="ta"] .site-header .header-actions .btn-primary,
  html[lang="hi"] .site-header .header-actions .btn-primary,
  html[data-locale="ta"] .site-header .header-actions .btn-primary,
  html[data-locale="hi"] .site-header .header-actions .btn-primary{
    padding-left:8px;padding-right:8px;font-size:.72rem
  }
}
