/*
 * Dr. Shahriyari — Hindi global typography v2.6.31
 * Scope: every frontend surface whose document language is Hindi (hi).
 * Typeface: Noto Sans Devanagari for headings, body copy and interface text.
 * The font binary is not bundled; Google Fonts is requested only on Hindi pages.
 */

html[lang^="hi"],
body.dsh-lang-hi{
  --dsh-hi-font:"Noto Sans Devanagari","Nirmala UI","Kohinoor Devanagari",Mangal,Arial,sans-serif;
  --dsh-hi-h1:clamp(2.10rem,4.15vw,3.65rem);
  --dsh-hi-h2:clamp(1.68rem,2.75vw,2.50rem);
  --dsh-hi-h3:clamp(1.20rem,1.55vw,1.50rem);
  --dsh-hi-h4:clamp(1.05rem,1.20vw,1.25rem);
  font-family:var(--dsh-hi-font);
  font-kerning:normal;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/*
 * Global body/UI layer. It is loaded after page-specific styles so legacy
 * Hindi Noto Serif or mixed Devanagari declarations cannot fragment the
 * typography between Home, Blog, articles, services, navigation, forms,
 * cards, CTAs, footer or future Hindi templates.
 */
html[lang^="hi"] body,
body.dsh-lang-hi,
html[lang^="hi"] body :where(div,section,article,aside,main,header,footer,nav,p,ul,ol,li,dl,dt,dd,blockquote,figcaption,details,summary,label,legend,a,button,input,textarea,select,option,table,thead,tbody,tfoot,tr,th,td,span,small,strong,b,em,i,time,address),
body.dsh-lang-hi :where(div,section,article,aside,main,header,footer,nav,p,ul,ol,li,dl,dt,dd,blockquote,figcaption,details,summary,label,legend,a,button,input,textarea,select,option,table,thead,tbody,tfoot,tr,th,td,span,small,strong,b,em,i,time,address){
  font-family:var(--dsh-hi-font)!important;
  letter-spacing:0!important;
}

html[lang^="hi"] body,
body.dsh-lang-hi{
  font-size:1rem;
  line-height:1.78;
  word-spacing:.008em;
}

html[lang^="hi"] :where(p,li,dd,blockquote),
body.dsh-lang-hi :where(p,li,dd,blockquote){
  line-height:1.86!important;
}

html[lang^="hi"] :where(button,input,textarea,select,summary,.wp-element-button,.wp-block-button__link),
body.dsh-lang-hi :where(button,input,textarea,select,summary,.wp-element-button,.wp-block-button__link){
  font-size:clamp(.93rem,.91rem + .07vw,1rem);
  line-height:1.58;
  font-weight:600;
}

/*
 * One Hindi type family throughout; hierarchy comes from measured weight and
 * responsive scale rather than switching to a serif face for headings.
 */
html[lang^="hi"] :where(
  h1,h2,h3,h4,h5,h6,
  .wp-block-post-title,
  .wp-block-site-title,
  .wp-block-query-title,
  .wp-block-heading,
  .dsh-abt260-mast__brand,
  [class*="__title"],
  [class*="-title"]
),
body.dsh-lang-hi :where(
  h1,h2,h3,h4,h5,h6,
  .wp-block-post-title,
  .wp-block-site-title,
  .wp-block-query-title,
  .wp-block-heading,
  .dsh-abt260-mast__brand,
  [class*="__title"],
  [class*="-title"]
){
  font-family:var(--dsh-hi-font)!important;
  font-style:normal;
  font-synthesis:none;
  letter-spacing:0!important;
  word-spacing:normal;
  text-wrap:balance;
}

html[lang^="hi"] :where(h1,.wp-block-post-title),
body.dsh-lang-hi :where(h1,.wp-block-post-title){
  font-size:var(--dsh-hi-h1)!important;
  font-weight:800!important;
  line-height:1.22!important;
  max-width:24ch;
}

html[lang^="hi"] :where(h2,.wp-block-query-title),
body.dsh-lang-hi :where(h2,.wp-block-query-title){
  font-size:var(--dsh-hi-h2)!important;
  font-weight:700!important;
  line-height:1.30!important;
}

html[lang^="hi"] h3,
body.dsh-lang-hi h3{
  font-size:var(--dsh-hi-h3)!important;
  font-weight:700!important;
  line-height:1.36!important;
}

html[lang^="hi"] :where(h4,h5,h6),
body.dsh-lang-hi :where(h4,h5,h6){
  font-size:var(--dsh-hi-h4)!important;
  font-weight:700!important;
  line-height:1.42!important;
}

/* Linked/spanned title content must retain the same Noto Sans Devanagari. */
html[lang^="hi"] :where(h1,h2,h3,h4,h5,h6,.wp-block-post-title,.wp-block-site-title,.wp-block-query-title,[class*="__title"],[class*="-title"]) :where(a,span,strong,b,em,i),
body.dsh-lang-hi :where(h1,h2,h3,h4,h5,h6,.wp-block-post-title,.wp-block-site-title,.wp-block-query-title,[class*="__title"],[class*="-title"]) :where(a,span,strong,b,em,i){
  font-family:inherit!important;
  font-weight:inherit!important;
  letter-spacing:inherit!important;
}

/* Component titles keep their native component scale; only font/weight is unified. */
html[lang^="hi"] :where([class*="__title"],[class*="-title"]):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6),
body.dsh-lang-hi :where([class*="__title"],[class*="-title"]):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6){
  line-height:1.34!important;
  font-weight:700;
}

/* Preserve compact, legible navigation and UI without inflating text. */
html[lang^="hi"] :where(.dsh-header,.dsh-nav,.dsh-breadcrumb,.dsh-button,.wp-block-navigation,.wp-block-button),
body.dsh-lang-hi :where(.dsh-header,.dsh-nav,.dsh-breadcrumb,.dsh-button,.wp-block-navigation,.wp-block-button){
  font-family:var(--dsh-hi-font)!important;
}

/* Hindi does not benefit from Latin all-caps tracking in small labels. */
html[lang^="hi"] :where(.dsh-eyebrow,[class*="kicker"],[class*="eyebrow"]),
body.dsh-lang-hi :where(.dsh-eyebrow,[class*="kicker"],[class*="eyebrow"]){
  text-transform:none!important;
  letter-spacing:0!important;
  line-height:1.55!important;
}

/* Technical literals remain monospaced for codes/identifiers. */
html[lang^="hi"] :where(code,pre,kbd,samp),
body.dsh-lang-hi :where(code,pre,kbd,samp){
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace!important;
  letter-spacing:normal!important;
}

@media (max-width:782px){
  html[lang^="hi"],body.dsh-lang-hi{
    --dsh-hi-h1:clamp(1.96rem,8.0vw,2.78rem);
    --dsh-hi-h2:clamp(1.52rem,6.1vw,2.02rem);
    --dsh-hi-h3:clamp(1.14rem,4.4vw,1.38rem);
  }
  html[lang^="hi"] body,
  body.dsh-lang-hi{
    font-size:1rem;
    line-height:1.80;
  }
}

@media (max-width:420px){
  html[lang^="hi"],body.dsh-lang-hi{
    --dsh-hi-h1:clamp(1.86rem,8.8vw,2.42rem);
    --dsh-hi-h2:clamp(1.44rem,6.6vw,1.86rem);
  }
}
