/* THAI BIO LABS: shared responsive heading / hero rhythm.
   Loaded after the historical global/specialist styles to consolidate
   intentional exceptions without disturbing checkout, images or research gates. */
:root{
  --tbl-h1-unified:clamp(3.5rem,4.16vw,3.75rem);
  --tbl-h1-unified-th:clamp(3.25rem,3.9vw,3.55rem);
  --tbl-h2-unified:clamp(1.875rem,2.4vw,2.25rem);
  --tbl-hero-subtitle:1.0625rem;
}
/* Active page titles share one size/line-height per breakpoint. The reading
   width, rather than arbitrary HTML <br>, determines where long titles wrap. */
html :is(
  .tb-hero__copy h1,.glp-catalogue-hero h1,.glp-product-intro h1,
  .p15-field-cover h1,.p15-evidence-cover h1,.p17b-knowledge-hero h1,
  .p15-standards-hero h1,.p39-verify-hero h1,.p15-delivery-hero h1,
  .p14-help-hero h1,.p15-lab-intro h1,.p14-ref-hero h1,
  .p14-handling-hero h1,.p14-contact-premium__intro>h1,
  .tbl-cart-page__head h1,.p15-dossier-copy h1,.p31-water-copy h1,
  .tbl-evidence-review__hero h1,.p39-record-head h1,
  .tbl-knowledge-article__hero h1,.tbl-authority-article__hero h1,
  .p14-legal-layout aside h1,.rt-hero h1,.tbl-demo-banner h1
){
  font-size:var(--tbl-h1-unified)!important;
  line-height:1.07!important;
  letter-spacing:-.04em!important;
  overflow-wrap:normal;
  word-break:normal;
  text-wrap:pretty;
}
html[lang="th"] :is(
  .tb-hero__copy h1,.glp-catalogue-hero h1,.glp-product-intro h1,
  .p15-field-cover h1,.p15-evidence-cover h1,.p17b-knowledge-hero h1,
  .p15-standards-hero h1,.p39-verify-hero h1,.p15-delivery-hero h1,
  .p14-help-hero h1,.p15-lab-intro h1,.p14-ref-hero h1,
  .p14-handling-hero h1,.p14-contact-premium__intro>h1,
  .tbl-cart-page__head h1,.p15-dossier-copy h1,.p31-water-copy h1,
  .tbl-evidence-review__hero h1,.p39-record-head h1,
  .tbl-knowledge-article__hero h1,.tbl-authority-article__hero h1,
  .p14-legal-layout aside h1,.rt-hero h1,.tbl-demo-banner h1
){
  font-size:var(--tbl-h1-unified-th)!important;
  line-height:1.23!important;
  letter-spacing:0!important;
  word-break:normal;
  overflow-wrap:break-word;
}
/* Major section headings: the product-card and fine-print levels remain
   smaller intentionally. */
html :is(
  .tb-section-intro h2,.tb-verification-band h2,
  .tb-infrastructure__lead h2,.tb-closing h2,
  .p17-evidence-register__head h2,.p17-evidence-architecture h2,
  .p17b-core-guides>header h2,.p17b-authority-layer>header h2,
  .p40a-library-lab__header h2,.p39-published h2,
  .collection-research__intro h2
){
  font-size:var(--tbl-h2-unified)!important;
  line-height:1.2;
  letter-spacing:-.025em;
}
html[lang="th"] :is(
  .tb-section-intro h2,.tb-verification-band h2,
  .tb-infrastructure__lead h2,.p17-evidence-register__head h2,
  .p17b-core-guides>header h2,.collection-research__intro h2
){line-height:1.4;letter-spacing:0}
/* Hero subtitles use the same readable scale. Scientific article paragraphs
   in the content body keep their independent editorial typography. */
html :is(
  .tb-hero__lede,.glp-catalogue-description,
  .glp-product-intro .glp-product-subtitle,
  .p15-field-cover .p15-collection-description,
  .p15-evidence-cover>div>p:not(.eyebrow),
  .p17b-knowledge-hero>div>p:not(.eyebrow),
  .p15-standards-hero>p,.p14-help-hero>p:not(.eyebrow),
  .p14-contact-premium__lede,
  .p39-verify-hero header>p:not(.eyebrow),
  .p15-lab-intro p:not(.eyebrow),
  .p15-delivery-hero>p:not(.eyebrow),
  .p14-handling-hero>p,.p14-ref-hero>p:not(.eyebrow),
  .tbl-cart-page__head>p:last-child,
  .rt-hero>p:not(.eyebrow),.tbl-demo-banner>p:not(.eyebrow)
){
  font-size:var(--tbl-hero-subtitle)!important;
  line-height:1.6;
}
html[lang="th"] :is(
  .tb-hero__lede,.glp-catalogue-description,
  .p15-evidence-cover>div>p:not(.eyebrow),
  .p17b-knowledge-hero>div>p:not(.eyebrow),
  .p14-contact-premium__lede,
  .p39-verify-hero header>p:not(.eyebrow)
){line-height:1.75}
/* Release excessive narrow caps (8.5ch, 10.5ch and 14.5ch). */
.tb-hero__copy h1{max-width:100%!important;margin-bottom:1.25rem}
.p14-contact-premium__intro>h1{max-width:100%!important}
.tbl-cart-page__head h1{max-width:100%!important}
.p15-standards-hero h1,.p17b-knowledge-hero h1,
.p15-evidence-cover h1,.p14-help-hero h1,.p14-handling-hero h1{max-width:100%}
.glp-catalogue-copy{max-width:54rem}
.glp-catalogue-hero h1{max-width:22ch!important}
/* Move essential qualifiers from the dense Evidence hero into its register. */
.p17-evidence-register__caveat{
  max-width:75ch;
  margin:1rem 0 1.5rem;
  padding:.85rem 1rem;
  border-left:2px solid var(--p14-gold);
  color:var(--p14-muted);
  font-size:.875rem;
  line-height:1.65;
}
html[lang="th"] .p17-evidence-register__caveat{line-height:1.8}
/* Visually stable lot-search header and source status, with less dead air. */
.p39-verify-hero header{max-width:40rem}
.p39-verify-hero header>p:last-child{margin-top:.85rem}
.p14-verify-console form label{margin-bottom:.4rem}
@media(min-width:1100px){
  .tb-hero__grid{
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
    gap:clamp(1.5rem,2.5vw,2.5rem);
    min-height:38rem;
    padding-top:2.25rem;
    padding-bottom:2rem;
  }
  .glp-catalogue-hero{padding-block:3rem 3.2rem!important}
  .p15-field-cover{min-height:23rem!important;padding:clamp(2.75rem,3.5vw,3.6rem) 0!important}
  .p15-field-cover>.container>div{padding-bottom:0}
  .p15-standards-hero{padding:clamp(3rem,4vw,4.1rem) clamp(1.5rem,3vw,3rem)!important}
  .p17b-knowledge-hero{gap:2.25rem;padding:clamp(2.8rem,4vw,4rem) clamp(1.5rem,3vw,3rem)!important}
  .p15-evidence-cover{padding:clamp(2.8rem,4vw,4rem) clamp(1.5rem,3vw,3rem)!important}
  .p39-verify-hero{padding:clamp(2.5rem,3.5vw,3.3rem) clamp(1.5rem,3vw,3rem)!important}
  .p14-contact-premium{
    grid-template-columns:minmax(0,1.05fr) minmax(28rem,.95fr);
    gap:clamp(2rem,3.5vw,3.5rem);
    padding-block:clamp(2.7rem,3.6vw,3.75rem) clamp(3.5rem,5vw,5rem);
  }
  .p14-handling-hero{gap:3rem;padding-block:3rem 2.5rem}
}
@media(min-width:621px) and (max-width:1099px){
  :root{
    --tbl-h1-unified:clamp(2.75rem,5.2vw,3.125rem);
    --tbl-h1-unified-th:clamp(2.625rem,5vw,2.95rem);
    --tbl-h2-unified:clamp(1.75rem,3.5vw,2rem);
    --tbl-hero-subtitle:1.025rem;
  }
  .tb-hero__copy h1{max-width:22ch!important}
  .glp-catalogue-hero{padding-block:2.75rem!important}
  .p15-field-cover{min-height:20rem!important;padding:2.9rem 0!important}
  .p15-field-cover>.container>div{padding-bottom:0}
  .p15-evidence-cover,.p17b-knowledge-hero,.p15-standards-hero,.p39-verify-hero{
    padding:2.9rem clamp(1.2rem,3vw,2rem)!important;
  }
  .p14-contact-premium{gap:2.4rem;padding-block:2.9rem 3.5rem}
  .p14-handling-hero{gap:2.25rem;padding-block:2.9rem}
}
@media(max-width:620px){
  :root{
    --tbl-h1-unified:clamp(2.125rem,9.25vw,2.5rem);
    --tbl-h1-unified-th:clamp(2rem,8.8vw,2.35rem);
    --tbl-h2-unified:clamp(1.5rem,6.6vw,1.75rem);
    --tbl-hero-subtitle:1rem;
  }
  .tb-hero__copy h1{max-width:100%!important;margin-bottom:1rem}
  .tb-hero__grid{padding-top:2.25rem;padding-bottom:1.65rem;gap:.9rem}
  .tb-hero__stage{margin-top:.5rem}
  .glp-catalogue-hero{padding-block:2.1rem!important}
  .p15-field-cover{min-height:19rem!important;padding:2.25rem 0!important}
  .p15-field-cover>.container>div{padding-bottom:0!important}
  .p15-evidence-cover,.p17b-knowledge-hero,.p15-standards-hero,.p39-verify-hero{padding:2.2rem 1.15rem!important}
  .p17b-knowledge-hero{gap:1.65rem}
  .p14-help-hero,.p14-handling-hero,.p14-ref-hero,.p15-lab-intro,.p15-delivery-hero{
    padding-top:2.2rem!important;
    padding-bottom:1.75rem!important;
  }
  .p14-contact-premium{gap:2rem;padding-block:2.2rem 3rem}
  .tbl-cart-page__head{padding-bottom:1.5rem}
  .p39-verify-console{margin-top:.5rem}
  .pending-coa-notice{margin:1rem 0;padding:1rem}
  .tbl-line-float,.tbl-contact-float{
    width:3.125rem!important;
    height:3.125rem!important;
    min-width:3.125rem!important;
    min-height:3.125rem!important;
    right:max(.65rem,env(safe-area-inset-right))!important;
  }
  .tbl-line-float{bottom:calc(env(safe-area-inset-bottom) + .85rem)!important}
  .tbl-contact-float{bottom:calc(env(safe-area-inset-bottom) + 4.35rem)!important}
  .p17-evidence-register__caveat{font-size:.875rem;margin:.75rem 0 1rem;padding:.75rem .8rem}
}
/* Desktop brand hero corrective: these two legacy EN overrides had higher
   selector specificity and 0.95 line-height, clipping descenders in QA. */
@media(min-width:1100px){
  html[lang="en"] .p15-standards-hero h1,
  html[lang="en"] .p14-contact-premium__intro>h1{
    font-size:var(--tbl-h1-unified)!important;
    line-height:1.12!important;
    letter-spacing:-.04em!important;
  }
  .tb-hero__grid{min-height:35rem}
}

/* Allow the Quality Standards desktop message to form two natural lines:
   the old 12.5ch limit was overriding the new page-wide H1 scale. */
@media(min-width:1100px){
  html[lang="en"] .p15-standards-hero h1{max-width:100%!important}
}


/* Scientific long-form H2 reconciliation — 2026-10-10.
   Evidence reviews previously used up to 4.6rem (74px) section headings,
   larger than the unified 60px H1. These components were omitted from the
   shared H2 rule, causing the user-observed inconsistent hierarchy. */
html :is(
  .tbl-evidence-review h2,
  .tbl-knowledge-article h2,
  .tbl-authority-article h2
){
  font-size:var(--tbl-h2-unified)!important;
  line-height:1.22!important;
  letter-spacing:-.025em!important;
  font-weight:400;
  text-wrap:pretty;
}
/* Do not stack technical subjects into narrow 19–24-character columns:
   permit natural wrapping within the available reading column. */
.tbl-evidence-review__scope h2,
.tbl-evidence-review__section h2,
.tbl-evidence-review__boundary h2,
.tbl-knowledge-section h2,
.tbl-authority-section h2{
  max-width:100%;
}
html[lang="th"] :is(
  .tbl-evidence-review h2,
  .tbl-knowledge-article h2,
  .tbl-authority-article h2
){
  line-height:1.4!important;
  letter-spacing:0!important;
  overflow-wrap:break-word;
}
/* Main scientific explanations should use the agreed 16px reading baseline.
   Leave index labels, citations, sidebars, and metadata at their smaller scale. */
html :is(
  .tbl-evidence-prose>p,
  .tbl-evidence-prose__group>p,
  .tbl-knowledge-section>p,
  .tbl-authority-section>p,
  .tbl-knowledge-section>ul,
  .tbl-authority-section>ul
){
  font-size:1rem!important;
  line-height:1.65;
}
html[lang="th"] :is(
  .tbl-evidence-prose>p,
  .tbl-evidence-prose__group>p,
  .tbl-knowledge-section>p,
  .tbl-authority-section>p,
  .tbl-knowledge-section>ul,
  .tbl-authority-section>ul
){
  line-height:1.82;
}


/* Additional page-template H2s found by whole-site computed-style audit:
   product release notices, Laboratory Essentials, support, Batch Records,
   Storage & Handling, and the no-payment demonstration. */
html :is(
  .glp-section-head h2,
  .p14-product-brief h2,
  .p31-water-brief h2,
  .p14-contact-form-card__head h2,
  .batch-lookup-help h2,
  .p40-staging-demo h2,
  .p15-lab-item__copy h2,
  .handling-next h2,
  .tbl-demo-product h2
){
  font-size:var(--tbl-h2-unified)!important;
  line-height:1.23!important;
  letter-spacing:-.025em!important;
  text-wrap:pretty;
  overflow-wrap:normal;
  word-break:normal;
}
html[lang="th"] :is(
  .glp-section-head h2,
  .p14-product-brief h2,
  .p31-water-brief h2,
  .p14-contact-form-card__head h2,
  .batch-lookup-help h2,
  .p40-staging-demo h2,
  .p15-lab-item__copy h2,
  .handling-next h2,
  .tbl-demo-product h2
){
  line-height:1.4!important;
  letter-spacing:0!important;
  overflow-wrap:break-word;
}


/* 2026-10-10 H2 hierarchy correction — research article titles were still
   inheriting oversized legacy 64px display settings. All major H2s now use
   the approved 30–36 / 28–32 / 24–28px ranges. */
html :is(
 .tbl-evidence-review__scope h2,
 .tbl-evidence-review__section h2,
 .tbl-evidence-review__assessment h2,
 .tbl-evidence-review__boundary h2,
 .tbl-knowledge-section h2,
 .tbl-authority-section h2,
 .tbl-reading-content>section>h2,
 .p17b-core-guides>header h2,
 .p17b-authority-layer>header h2,
 .p17-evidence-register__head h2,
 .p17-evidence-architecture h2,
 .p39-published h2,
 .p39-verification h2,
 .p39-meaning h2,
 .p39-documents h2,
 .p15-standards-grid h2,
 .p15-delivery-route h2,
 .p14-help-grid h2,
 .p14-handling-checks h2,
 .rt-section>h2,
 .rt-panel h2
){
 font-size:clamp(1.875rem,2.45vw,2.25rem)!important;
 line-height:1.2!important;
 letter-spacing:-.025em!important;
 max-width:100%;
 text-wrap:pretty;
}
html[lang="th"] :is(.tbl-evidence-review__scope h2,.tbl-evidence-review__section h2,.tbl-evidence-review__boundary h2,.tbl-knowledge-section h2,.tbl-authority-section h2,.tbl-reading-content>section>h2){
 line-height:1.4!important;letter-spacing:0!important;
}
@media(min-width:621px) and (max-width:1099px){
 html :is(.tbl-evidence-review__scope h2,.tbl-evidence-review__section h2,.tbl-evidence-review__assessment h2,.tbl-evidence-review__boundary h2,.tbl-knowledge-section h2,.tbl-authority-section h2,.tbl-reading-content>section>h2,.p17b-core-guides>header h2,.p17b-authority-layer>header h2,.p39-verification h2,.p39-meaning h2,.p39-documents h2,.rt-section>h2){
  font-size:clamp(1.75rem,3.5vw,2rem)!important;
 }
}
@media(max-width:620px){
 html :is(.tbl-evidence-review__scope h2,.tbl-evidence-review__section h2,.tbl-evidence-review__assessment h2,.tbl-evidence-review__boundary h2,.tbl-knowledge-section h2,.tbl-authority-section h2,.tbl-reading-content>section>h2,.p17b-core-guides>header h2,.p17b-authority-layer>header h2,.p39-verification h2,.p39-meaning h2,.p39-documents h2,.rt-section>h2){
  font-size:clamp(1.5rem,6.8vw,1.75rem)!important;
  line-height:1.24!important;
 }
 html[lang="th"] :is(.tbl-evidence-review__scope h2,.tbl-evidence-review__section h2,.tbl-knowledge-section h2,.tbl-authority-section h2){line-height:1.46!important}
}


/* Site-wide mobile H2 ceiling, including landing and support sections that
   previously retained the desktop 30px base due to selector specificity. */
@media(max-width:620px){
 html :is(
  .tb-section-intro h2,.tb-verification-band h2,.tb-infrastructure__lead h2,
  .tb-closing h2,.p17-evidence-register__head h2,.p17-evidence-architecture h2,
  .p17b-core-guides>header h2,.p17b-authority-layer>header h2,
  .p40a-library-lab__header h2,.p39-published h2,
  .p39-published header h2,.p39-verification h2,.p39-meaning h2,
  .p39-documents h2,.p15-standards-grid h2,.p15-standards-grid article h2,
  .p15-delivery-route h2,.p15-delivery-route article h2,
  .p14-help-grid h2,.p14-help-grid header h2,
  .p14-handling-checks h2,.p14-handling-checks article h2,
  .collection-research__intro h2
 ){
  font-size:clamp(1.5rem,6.8vw,1.75rem)!important;
  line-height:1.24!important;
 }
 html[lang="th"] :is(.p15-standards-grid h2,.p14-help-grid h2,.p15-delivery-route h2,.p39-published h2,.p17-evidence-register__head h2){line-height:1.45!important}
}
@media(min-width:621px) and (max-width:1099px){
 html :is(
  .tb-section-intro h2,.tb-verification-band h2,.tb-infrastructure__lead h2,
  .p17-evidence-register__head h2,.p17-evidence-architecture h2,
  .p17b-core-guides>header h2,.p17b-authority-layer>header h2,
  .p39-published h2,.p15-standards-grid h2,.p15-delivery-route h2,
  .p14-help-grid h2,.p14-handling-checks h2
 ){font-size:clamp(1.75rem,3.5vw,2rem)!important}
}


/* Mobile Knowledge Centre transition fix (2026-10-11).
   Avoid stacking the old 3.5rem bottom and 3rem top padding between
   the final core guide and the Advanced & Local Context section. */
@media (max-width: 620px) {
  .p17b-core-guides {
    padding-bottom: 1.25rem;
  }
  .p17b-core-group:last-child {
    padding-bottom: 1.25rem;
  }
  .p17b-authority-layer {
    padding-top: 1.25rem;
  }
  .p17b-authority-layer > header {
    gap: 1rem;
    padding-bottom: 1.5rem;
  }
}
