/* VRPA SHARED TYPOGRAPHY RHYTHM — 2026-11-13
 * A single public-facing hierarchy for Thai and English across PageBuilder
 * services, native pages, editorial posts and the site chrome. Keep actual
 * LINE Seed font weights (400/700), not browser-synthesized 600/750/780/850.
 * No palette, content, builder metadata, editor or layout geometry changed.
 * Mobile size rules are intentionally last, after historical page overrides.
 */
/* Editorial hierarchy. Preserve visual contrast and interactive targets. */
html body #brx-content :is(h1,h2,h3,h4),
html body #brx-content :is(.vep-page,.va-page,.vrpe-page,.vrc-page,.vtr-page,.vsc-page,.vrpc-page,.vai-page,.vi-integrations,.vrpa-detail,.vrpa-blog,.vrpa-article) :is(h1,h2,h3,h4),
html body.home #brx-content .vep-page :is(h1,h2,h3,h4){
  font-weight:var(--vrpa-weight-heading)!important;
  letter-spacing:normal!important;
  overflow-wrap:break-word;
}
html body #brx-content h1,
html body #brx-content :is(.vep-page,.va-page,.vrpe-page,.vrc-page,.vtr-page,.vsc-page,.vrpc-page,.vai-page,.vi-integrations,.vrpa-detail,.vrpa-blog,.vrpa-article) h1,
html body.home #brx-content .vep-page h1{
  font-size:var(--vrpa-font-h1)!important;
  line-height:1.4!important;
}
html body #brx-content h2,
html body #brx-content :is(.vep-page,.va-page,.vrpe-page,.vrc-page,.vtr-page,.vsc-page,.vrpc-page,.vai-page,.vi-integrations,.vrpa-detail,.vrpa-blog,.vrpa-article) h2,
html body.home #brx-content .vep-page h2{
  font-size:var(--vrpa-font-h2)!important;
  line-height:1.45!important;
}
html body #brx-content h3,
html body #brx-content :is(.vep-page,.va-page,.vrpe-page,.vrc-page,.vtr-page,.vsc-page,.vrpc-page,.vai-page,.vi-integrations,.vrpa-detail,.vrpa-blog,.vrpa-article) h3,
html body.home #brx-content .vep-page h3{
  font-size:var(--vrpa-font-h3)!important;
  line-height:1.5!important;
}
html body #brx-content h4,
html body #brx-content :is(.vep-page,.va-page,.vrpe-page,.vrc-page,.vtr-page,.vsc-page,.vrpc-page,.vai-page,.vi-integrations,.vrpa-detail,.vrpa-blog,.vrpa-article) h4,
html body.home #brx-content .vep-page h4{
  font-size:clamp(17px,1.45vw,20px)!important;
  line-height:1.5!important;
}

/* Readable Thai paragraphs in the native page and post components. Small
 * navigation labels, data values and controls are deliberately excluded. */
html body #brx-content :is(.vep-page,.va-page,.vrpe-page,.vrc-page,.vtr-page,.vsc-page,.vrpc-page,.vai-page,.vi-integrations,.vrpa-detail,.vrpa-blog,.vrpa-article) p,
html body.home #brx-content .vep-page p{
  font-size:16px!important;
  font-weight:var(--vrpa-weight-body)!important;
  line-height:1.85!important;
  letter-spacing:normal!important;
}
html body #brx-content :is(.vep-hero-copy>p,.vrpe-lead,.vrc-hero-summary,.vtr-intro,.vrpa-blog-intro),
html body.home #brx-content .vep-page .vep-hero-copy>p{
  font-size:clamp(17px,1.4vw,18.5px)!important;
  line-height:1.83!important;
}
html body #brx-content .vrpa-article .vrpa-article-text{
  font-size:16.5px!important;
  line-height:1.92!important;
  max-width:780px;
}
html body #brx-content .vrpa-article .vrpa-article-text p{
  font-size:16.5px!important;
  line-height:1.92!important;
  margin-bottom:1.55em!important;
}
html body #brx-content .vrpa-article .vrpa-article-text :is(h2,h3){
  margin-top:1.8em!important;
  margin-bottom:.7em!important;
}

/* The homepage product names remain prominent, without giant dense cards. */
html body.home #brx-content .vep-page .vep-service-card h3{
  font-size:clamp(25px,2.7vw,34px)!important;
  line-height:1.43!important;
}
html body.home #brx-content .vep-page .vep-service-erpnext h3{
  font-size:clamp(30px,3vw,40px)!important;
}

/* Journal index: reduce condensed headings, raise metadata to a legible size. */
html body #brx-content .vrpa-blog .vrpa-blog-post-grid .dynamic[data-field-id="vrpt002"]{
  font-size:20px!important;
  font-weight:700!important;
  line-height:1.55!important;
  letter-spacing:normal!important;
}
html body #brx-content .vrpa-blog .vrpa-blog-post-grid .dynamic[data-field-id="vrpt003"]{
  font-size:14px!important;
  line-height:1.8!important;
}
html body #brx-content :is(.vrpa-blog-eyebrow,.vrpa-article-eyebrow,.vep-services-kicker,.vep-process-kicker,.vrpe-eyebrow,.vrpe-kicker,.vrc-eyebrow,.vtr-eyebrow,.va-eyebrow,.vai-eyebrow,.vrpc-eyebrow){
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.025em!important;
  line-height:1.65!important;
}
html body #brx-content :is(.vep-image-label,.vep-feature figcaption){
  font-size:12px!important;
  line-height:1.5!important;
}

/* Navigation/footer: understated hierarchy but not undersized text. */
html body #brx-header :is(.vrpa-links>a,.vrpa-mega-panel a,.vrpa-mobile a){
  font-weight:400!important;
  letter-spacing:normal!important;
  line-height:1.55!important;
}
html body #brx-footer .vrpa-footer-col a{
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.8!important;
  letter-spacing:normal!important;
}
html body #brx-footer .vrpa-footer-col h4{
  font-weight:700!important;
  letter-spacing:normal!important;
  line-height:1.55!important;
}

/* Mobile: natural Thai wrapping and a gentler headline-to-body ratio. */
@media(max-width:640px){
  html body #brx-content h1,
html body #brx-content :is(.vep-page,.va-page,.vrpe-page,.vrc-page,.vtr-page,.vsc-page,.vrpc-page,.vai-page,.vi-integrations,.vrpa-detail,.vrpa-blog,.vrpa-article) h1,
html body.home #brx-content .vep-page h1{
    font-size:clamp(32px,8vw,38px)!important;
    line-height:1.43!important;
  }
  html body #brx-content h2,
html body #brx-content :is(.vep-page,.va-page,.vrpe-page,.vrc-page,.vtr-page,.vsc-page,.vrpc-page,.vai-page,.vi-integrations,.vrpa-detail,.vrpa-blog,.vrpa-article) h2,
html body.home #brx-content .vep-page h2{
    font-size:clamp(24px,6.3vw,30px)!important;
    line-height:1.48!important;
  }
  html body #brx-content h3,
html body #brx-content :is(.vep-page,.va-page,.vrpe-page,.vrc-page,.vtr-page,.vsc-page,.vrpc-page,.vai-page,.vi-integrations,.vrpa-detail,.vrpa-blog,.vrpa-article) h3,
html body.home #brx-content .vep-page h3{
    font-size:clamp(19px,5vw,22px)!important;
    line-height:1.52!important;
  }
  html body #brx-content :is(.vep-page,.va-page,.vrpe-page,.vrc-page,.vtr-page,.vsc-page,.vrpc-page,.vai-page,.vi-integrations,.vrpa-detail,.vrpa-blog,.vrpa-article) p,
html body.home #brx-content .vep-page p{
    font-size:16px!important;
    line-height:1.88!important;
  }
  html body #brx-content .vrpa-article .vrpa-article-text p{
    font-size:16px!important;
    line-height:1.9!important;
  }
  html body.home #brx-content .vep-page .vep-service-card h3{
    font-size:clamp(24px,6vw,30px)!important;
  }
}


/* Full-page coverage: industry solutions and service/product hubs.
 * Their native components (.vg-page / .vhub) predate the shared type scale.
 * Keep hero/diagram emphasis independent; normalize only prose and labels.
 */
html body #brx-content .vg-page :is(.vg-feature,.vg-timeline,.vg-usecase,.vg-faq) p,
html body #brx-content .vhub :is(.vhub-card,.vhub-feature-copy,.vhub-section-head,.vhub-step,.vhub-compare-row) p{
  font-size:16px!important;
  font-weight:400!important;
  line-height:1.85!important;
  letter-spacing:normal!important;
}
html body #brx-content .vhub .vhub-panel-row p{
  font-size:15px!important;
  font-weight:400!important;
  line-height:1.8!important;
}
html body #brx-content :is(.vg-page,.vhub) :is(.vg-eyebrow,.vhub-eyebrow,.vhub-kicker,.vhub-card-tag){
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.025em!important;
  line-height:1.65!important;
}
@media(max-width:640px){
  html body #brx-content .vg-page :is(.vg-feature,.vg-timeline,.vg-usecase,.vg-faq) p,
  html body #brx-content .vhub :is(.vhub-card,.vhub-feature-copy,.vhub-section-head,.vhub-step,.vhub-compare-row) p{
    font-size:16px!important;
    line-height:1.88!important;
  }
}
