/* ═══════════════════════════════════════════════════════════
   Language toggle + Gujarati type adjustments.
   Gujarati has a taller x-height and longer words than the condensed
   display face is drawn for, so headings need looser leading and a
   smaller cap when the script switches.
   ═══════════════════════════════════════════════════════════ */

.nav__lang{
  background:none;border:1px solid rgba(255,255,255,.34);color:#fff;cursor:pointer;
  font-family:var(--ff-body);font-size:13px;font-weight:600;padding:9px 13px;white-space:nowrap;
  transition:background .2s,border-color .2s,color .2s;
}
.nav__lang:hover{background:#fff;color:var(--navy-deep);border-color:#fff}
.nav__lang:focus-visible{outline:2px solid var(--red-bright);outline-offset:2px}

.lang-gu .h-sec{line-height:1.08;font-size:clamp(28px,4.4vw,58px)}
/* The size lives on the individual line spans, so setting it on the h1 does
   nothing — the child rule wins. Gujarati glyphs also carry ascenders and
   descenders the condensed Latin face never needed, so the same pixel size
   renders far taller and pushed the CTA off the hero entirely. */
.lang-gu .hero2__title{line-height:1.12}
.lang-gu .hero2__l1{font-size:clamp(28px,4.2vw,54px);line-height:1.16}
.lang-gu .hero2__l2,
.lang-gu .hero2__l3{font-size:clamp(38px,6.4vw,88px);line-height:1.1}
.lang-gu .hero2__ghostnum{opacity:.55}
.lang-gu .cta__t{line-height:1.08;font-size:clamp(30px,5.2vw,70px)}
.lang-gu .moat__quote{line-height:1.2;font-size:clamp(23px,3.2vw,44px)}
.lang-gu .story__lead{line-height:1.2;font-size:clamp(23px,3vw,40px)}
.lang-gu .svc__t,
.lang-gu .prog__t{line-height:1.12;font-size:clamp(19px,2.1vw,26px)}
/* Gujarati is a connected script. The wide mono tracking on eyebrows, chips
   and stat labels — and the negative tracking on the display face — pull glyph
   clusters apart so words read as broken fragments. Reset tracking wholesale
   while Gujarati is active rather than chasing each tracked class, and drop
   uppercasing, which does nothing in a script with no case.

   !important is deliberate: component rules like .gfl (filter chips) and
   .gi__cap have the SAME specificity as `.lang-gu *`, and extras.css loads
   after this file — so without it the later rule simply wins and those
   elements keep their Latin tracking. This is a script-level normalisation
   that has to hold regardless of stylesheet order. */
.lang-gu,
.lang-gu *{letter-spacing:normal !important}
.lang-gu .h2s__l,
.lang-gu .st__lbl,
.lang-gu .gi__cap span,
.lang-gu .foot__col h4,
.lang-gu .hero2__sub,
.lang-gu .hero2__proof-lbl,
.lang-gu .cred__n{text-transform:none}

/* The language toggle deliberately stays visible at every width. It used to be
   hidden below 1050px, which put it out of reach for exactly the audience most
   likely to want it — plant HR and safety officers in Gujarat browse on phones.
   (It was in fact still rendering, because a later unscoped display:inline-flex
   in extras.css beat the media query at equal specificity — the button was only
   surviving by cascade accident. Removed so the intent is explicit.) */

