/* Site-wide type scale. Loaded last on every page so every role lands on a fixed step.
   Serif 300 titles:   title 58   (section + page titles)     subtitle 34   (secondary titles, CTA bands, names)
   Sans headings:      large 28/400   medium 22/400   small 18/500
   Body (Montserrat 300): reading 17 (articles, quotes)   primary 16   secondary 14   caption 13
   Labels (tracked caps): 11px, 400 (field labels 500).  Buttons: 11px caps or 13px, 500.
   Greys on light: var(--body) secondary text, var(--grey) tertiary text. */
:root{--t-title:clamp(34px,4.2vw,58px);--t-sub:clamp(26px,2.4vw,34px);--t-l:clamp(22px,2vw,28px);--t-m:22px;--t-s:18px}

/* titles */
.sv-top h1,.ba-page .ar-top h1{font-size:var(--t-title);line-height:1.16}
.dt-head h1{font-size:clamp(28px,3.2vw,46px);line-height:1.2;font-weight:400}
.dt-sec h2,.dt-reshead h2,.dt-relw h2,.ar-more h2,.ar-cta h2,#svc-ask h2,.o1banner h2,h3.idx-t,.doc h2.dn{font-size:var(--t-sub);line-height:1.25}

/* sans headings */
.panel h3,.ok h3,.rs-panel h3,.bas-i h3,.bl-b h3,.nf-b h3{font-size:var(--t-l);line-height:1.25}
.sv h3,.idx-l span,.ab-list h3{font-size:var(--t-m)}
.steps h3,.u3 h3,.o1why .u3 h3,.bs-b h3,.pn h3,.dt-opts h3{font-size:var(--t-s);font-weight:500;line-height:1.35}
.pn.on h3{font-size:var(--t-l);font-weight:400}

/* labels */
.o1eye,.num,.u3 i,.idx i{font-size:11px;font-weight:400}
.rs-panel dt{font-size:11px}
.ab-dl dt{font-weight:500}

/* body */
.doc .doc-p,.ab-p,.ab-teamp,.ab-list p{font-size:16px}
.bq blockquote{font-size:16px}
.rs-note,.bq figcaption,.rs-q figcaption,.sv-area,.bl-t,.idx-l small,.ar-meta span,.f label,.f.chk label,.copy{font-size:13px}
.contact,.bas-d,.dt-opts li p,.dt-note,.bl-s,.pn p,.ftr li,.ftr p{font-size:14px}
.ar-more .bs h3{font-size:var(--t-s);font-weight:500}
.dt-c .dt-note,.dt-note{font-size:14px}
.rec li span{font-size:13px}
.idx li i,.idx i{font-weight:400}
.ab-list b{font-size:11px}

/* Justified body copy site-wide. Only running paragraphs in columns wide enough to justify cleanly (about 38 characters or more);
   titles, labels, buttons, captions, quotes on photos and the narrow step/advantage blurbs stay as they are. The last line of each paragraph stays left. */
.o1p,.statement .sub,.panel p,.rs-panel dd,.bq blockquote,.rs-q blockquote,.doc .doc-p,
.ar-lede,.ar-body p,.ar-body li,.sv p,.dt-c p,.dt-opts li p,.dt-note,.bas-d,.dt-desc,.ab-p,.ab-two p,.ab-list p{text-align:justify;text-justify:inter-word;hyphens:manual}
/* keep short or centred blocks untouched */
.ar-cta p,.ok p,.ab-team-h .ab-p{text-align:left}
.ab-team-h .ab-p{text-align:center}
@media(max-width:560px){.sv p,.bas-d,.panel p{text-align:left}}

/* Body paragraphs: one size and one line spacing on the home page and Về chúng tôi.
   Primary reading text 16px, supporting text 14px, both at line-height 1.7. */
:root{--lh:1.7}
.statement .sub,.panel p,.rs-panel dd,.rs-q blockquote,.doc .doc-p,.ab-p,.ab-list p,.ab-teamp{font-size:16px;line-height:var(--lh)}
.o1p,.pn p,.steps p,.ab-dl dd{font-size:14px;line-height:var(--lh)}
