/* Language switcher and Hindi/Telugu type. Loaded last on every page. */
.lang-switch{display:flex;gap:4px;align-items:center}
.lang-switch a{display:inline-grid;place-items:center;min-width:44px;min-height:44px;padding:0 10px;border-radius:999px;font-size:14px;font-weight:600;line-height:1;text-decoration:none;color:inherit;opacity:.75}
.lang-switch a:hover{opacity:1}
.lang-switch a[aria-current]{opacity:1;box-shadow:inset 0 0 0 1.5px currentColor}
.lang-switch .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
/* Header: a compact picker beside the button from tablet up; a row inside the menu on phones */
.lang-menu{position:relative;display:none;margin-left:auto}
@media(min-width:1000px){.lang-menu{display:block}}
.lang-menu summary{display:flex;align-items:center;gap:4px;min-height:44px;padding:0 12px;border-radius:999px;font:600 14px/1 var(--sans,inherit);color:var(--ink,inherit);cursor:pointer;list-style:none}
.lang-menu summary::-webkit-details-marker{display:none}
.lang-menu summary:hover,.lang-menu[open] summary{background:var(--mist,#e9f2f8)}
.lang-menu[open] svg{transform:rotate(180deg)}
.lang-menu ul{position:absolute;right:0;top:calc(100% + 6px);min-width:150px;margin:0;padding:6px;list-style:none;background:var(--white,#fff);border:1px solid var(--line,#dbe5ec);border-radius:12px;box-shadow:0 12px 32px rgb(31 37 71/.12);z-index:60}
.lang-menu a{display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:8px;text-decoration:none;color:var(--ink,inherit);font-size:16px}
.lang-menu a:hover{background:var(--paper,#fbf8f2)}
.lang-menu a[aria-current]{font-weight:600;color:var(--accent,inherit)}
.lang-mobile{padding:12px 0}
@media(min-width:1000px){.lang-mobile{display:none}}
.lang-footer{margin-top:16px}
.helora-footer .lang-footer{position:relative;justify-content:center;color:white}

/* Devanagari and Telugu need their own fonts and taller lines for vowel marks */
:root:lang(hi){--serif:'Noto Serif Devanagari','Newsreader',Georgia,serif;--sans:'Noto Sans Devanagari','Public Sans',system-ui,sans-serif}
:root:lang(te){--serif:'Noto Serif Telugu','Newsreader',Georgia,serif;--sans:'Noto Sans Telugu','Public Sans',system-ui,sans-serif}
html:lang(hi) body:has(>.header) *{font-family:'Noto Sans Devanagari',Clash,Arial,sans-serif}
html:lang(te) body:has(>.header) *{font-family:'Noto Sans Telugu',Clash,Arial,sans-serif}
html:lang(hi) :is(h1,h2,h3,summary),html:lang(te) :is(h1,h2,h3,summary){line-height:1.35;letter-spacing:0}
html:lang(te) :is(h1,h2,h3,summary){line-height:1.45}
html:lang(hi) :is(.eyebrow,.badge,.calc-card-kicker,.calc-result-label),html:lang(te) :is(.eyebrow,.badge,.calc-card-kicker,.calc-result-label){letter-spacing:0;text-transform:none}
/* Telugu and Hindi words run long; keep big headings inside narrow screens */
html:lang(hi) :is(h1,h2,h3),html:lang(te) :is(h1,h2,h3){overflow-wrap:break-word;hyphens:auto}
/* In the phone menu, each language shows its full name */
.lang-mobile{gap:8px;flex-wrap:wrap}
.lang-mobile a{opacity:1;border:1px solid var(--line,#dbe5ec);padding:0 16px;font-size:16px;font-weight:500}
.lang-mobile a[aria-current]{border-color:var(--accent,currentColor);color:var(--accent,inherit);box-shadow:none}
.lang-mobile [aria-hidden]{display:none}
.lang-mobile .sr-only{position:static;width:auto;height:auto;overflow:visible;clip:auto}
