/* V5.8.73: public typography and vertical rhythm. No grid, order, image or colour changes.
   Hero title/brand, compact advisor identity, icon sizes and hidden states keep their own rules. */
body.np-rhythm, body.np-rhythm.np-site, body.np-rhythm.sf-standalone {
 --np-reading-font:var(--np-font-body,"NP Sans","Segoe UI",Arial,sans-serif);
 --np-heading-font:var(--np-font-display,"NP Serif",Georgia,serif);
 --np-type-body:1rem;
 --np-type-note:.875rem;
 --np-type-label:.8125rem;
 --np-type-control:.9375rem;
 --np-type-page:clamp(1.875rem,2.8vw,2.75rem);
 --np-type-section:clamp(1.625rem,2.3vw,2.25rem);
 --np-type-card:clamp(1.1875rem,1.5vw,1.375rem);
 --np-line-body:1.65;
 --np-line-heading:1.3;
 --np-panel-space:2rem;
 --np-module-gap:1rem;
 --np-heading-gap:1.5rem;
 font-family:var(--np-reading-font);
 font-size:var(--np-type-body);
 line-height:var(--np-line-body);
}
body.np-rhythm :is(p,li,dt,dd,label,input,select,textarea,button,summary,figcaption,small) {
 font-family:var(--np-reading-font);
}
body.np-rhythm :is(input,select,textarea) {font-size:1rem;line-height:1.5}
body.np-rhythm :is(main,#main,#main-content) :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {
 font-family:var(--np-reading-font);font-size:1rem;line-height:1.5;min-height:44px;
}
body.np-rhythm :is(.np-btn,.btn,.nps-button,.nppt-cta,.sf-primary,.sf-secondary) {
 font-family:var(--np-reading-font);font-size:var(--np-type-control);line-height:1.45;
 min-height:44px;white-space:normal;
}
body.np-rhythm :is(.np-eyebrow,.kicker,.nppt-eyebrow,.npu-eyebrow,.npn-eyebrow,.np-video-eyebrow) {
 font-family:var(--np-reading-font);font-size:var(--np-type-label);line-height:1.5;letter-spacing:.08em;
}
/* Homepage: equal prominence for the heads of the existing modules. */
body.np-rhythm.np-home570 #main :is(.np-section-head,.np-overview-copy,.np-overview-heading,.np-video-intro,.np-panorama-heading,.nppt-head,.nps-demo-head,.nplc-heading,.npvb-heading) h2,
body.np-rhythm.np-home570 #main :is(#npfp-heading,#npu-heading,#npn-heading,#npFinanceTeaserTitle) {
 font-family:var(--np-heading-font);font-size:var(--np-type-section);font-weight:700;
 line-height:var(--np-line-heading);letter-spacing:normal;word-spacing:normal;
 margin-block:0 .75rem;overflow-wrap:break-word;
}
body.np-rhythm.np-home570 #main .np-advisor-grid > div > h2 {
 font-family:var(--np-heading-font);font-size:var(--np-type-section);line-height:1.3;
 letter-spacing:normal;margin-block:0 .75rem;
}
body.np-rhythm.np-home570 #main :is(.np-section-head,.np-video-intro,.np-panorama-heading,.nplc-heading,.npvb-heading) {
 margin-bottom:var(--np-heading-gap);
}
body.np-rhythm.np-home570 #main :is(.np-section-head,.np-overview-copy,.np-video-intro,.np-video-copy,.np-panorama-copy,.nplc-heading,.npvb-heading,.nppt-record-head) p,
body.np-rhythm.np-home570 #main :is(.np-overview-description,.nps-demo-intro,.np-hero-copy>p,.npu-intro,.npn-intro) {
 font-family:var(--np-reading-font);font-size:var(--np-type-body);line-height:var(--np-line-body);
}
body.np-rhythm.np-home570 #main :is(.np-type-body,.np-unit-top,.np-video-copy,.np-panorama-copy,.nppt-record-head) h3 {
 font-family:var(--np-reading-font);font-size:var(--np-type-card);line-height:1.4;
 font-weight:700;letter-spacing:normal;margin-block:0 .5rem;
}
body.np-rhythm.np-home570 #main :is(.npfp-profile-copy,.npfp-drawing-head,.np-overview-copy,.npu-copy,.npn-copy,.np-video-shorts-heading,.np-lead-form,.npvb-form) h3 {
 font-family:var(--np-reading-font);font-size:var(--np-type-card);font-weight:700;
 line-height:1.4;letter-spacing:normal;margin-block:0 .75rem;
}
body.np-rhythm.np-home570 #main .nps-demo-copy h3 {
 font-family:var(--np-heading-font);font-size:var(--np-type-section);line-height:1.35;margin-block:0 .75rem;
}
body.np-rhythm.np-home570 #main :is(.np-type-detail,.np-unit-summary,.np-overview-row dt,.np-overview-row dd) {
 font-size:var(--np-type-note);line-height:1.6;
}
body.np-rhythm.np-home570 #main :is(.np-overview-row,.nplc-row,.npvb-row) {padding-block:.75rem}
body.np-rhythm.np-home570 #main :is(.nplc-row,.npvb-row) strong {
 font-family:var(--np-reading-font);font-size:1rem;line-height:1.5;
}
body.np-rhythm.np-home570 #main :is(.np-slogan-line) {font-family:var(--np-reading-font)}
/* Keep nested panels from adding another large section gap. */
body.np-rhythm.np-home570 #main > :is(.np-section,.np-project-section,.np-video-section,.npfp-section,.npu-section,.npn-section,.nppt,.np-advisor-section) {
 padding-block:var(--np-panel-space);margin-block:0 var(--np-module-gap);
}
body.np-rhythm.np-home570 #main > :is(#vi-tri-ket-noi,#dat-lich-tham-quan,#gioi-thieu-ngoc,.nps-strip) {
 margin-block:0 var(--np-module-gap);
}
body.np-rhythm.np-home570 #main :is(.nplc-card,.npvb-card,.nps-spotlight.nps-demo) {
 padding-block:var(--np-panel-space);
}
/* Captions and useful notes: readable, but subordinate to content. */
body.np-rhythm :is(.nplc-note,.npvb-note,.nplc-caption,.npvb-caption,.nplc-row small,.npvb-row small,.nppt-source,.nppt-footer,.npfp-foot,.npfp-source-note,.np-overview-gallery figcaption,.nps-note,.nps-effective,.byline,.np-human-bar small) {
 font-family:var(--np-reading-font);font-size:var(--np-type-note);line-height:1.6;
}
body.np-rhythm :is(.nplc-tabs,.npvb-tabs,.nps-policy-choices) :is(a,button),
body.np-rhythm :is(.nppt-filters,.npfp-floor-tabs,.npfp-type-tabs) button {
 font-family:var(--np-reading-font);font-size:var(--np-type-note);line-height:1.45;min-height:44px;
}
/* Full public pages: page heads, cards, forms, and article reading measure. */
body.np-rhythm:not(.np-home570) :is(.article-heading,.page-hero,.p360-hero,.nps-hero) h1 {
 font-family:var(--np-heading-font);font-size:var(--np-type-page)!important;
 font-weight:700;line-height:1.3;letter-spacing:normal;overflow-wrap:break-word;margin-block:.75rem 1rem;
}
body.np-rhythm:not(.np-home570) :is(.article-heading,.page-hero,.p360-hero) {
 padding-block:var(--np-panel-space)!important;
}
body.np-rhythm:not(.np-home570) :is(.pub-lead,.page-hero p,.p360-hero p) {font-size:1rem;line-height:1.7;margin-block:0 1rem}
body.np-rhythm:not(.np-home570) :is(.basic-section,.catalog-section,.p360-main) {padding-block:var(--np-panel-space)}
body.np-rhythm:not(.np-home570) :is(.p360-card,.contact-layout,.prose,.source-panel,.npp-about-note,.unit-detail-main,.unit-detail-aside,.nps-page) h2 {
 font-family:var(--np-heading-font);font-size:var(--np-type-section);line-height:1.35;letter-spacing:normal;margin-block:0 1rem;
}
body.np-rhythm :is(.nps-page,.npp-copy) {font-family:var(--np-reading-font)}
body.np-rhythm :is(.p360-card,.contact-layout,.prose,.npp-about-note,.nps-page,.unit-detail-main,.unit-detail-aside,.editorial-card) p {font-size:1rem;line-height:1.7}
body.np-rhythm :is(.unit-detail-specs dt,.unit-detail-specs dd,.p360-facts,.np-footer p,.pub-footer p,.footer-links a) {font-size:var(--np-type-note);line-height:1.6}
body.np-rhythm :is(.catalog-card-title h2,.editorial-card h3,.unit-card h3,.progress-archive-card h2) {
 font-family:var(--np-reading-font)!important;font-size:var(--np-type-card)!important;line-height:1.4!important;
}
body.np-rhythm :is(.catalog-card-body p,.catalog-card-body dd,.catalog-unit-actions a,.catalog-unit-actions button,.catalog-table td,.compare-public-table td) {
 font-family:var(--np-reading-font);font-size:var(--np-type-note);line-height:1.6;
}
body.np-rhythm :is(.catalog-card-body dt,.catalog-card-body>small,.unit-card small,.breadcrumbs,.compare-legend) {font-size:var(--np-type-note);line-height:1.5}
body.np-rhythm :is(.catalog-form,.form-fields,.np-lead-form,.npvb-form) label {font-size:var(--np-type-note);line-height:1.5}
body.np-rhythm :is(.catalog-form,.form-fields,.np-lead-form,.npvb-form) :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {
 font-family:var(--np-reading-font);font-size:1rem;line-height:1.5;min-height:44px;
}
body.np-rhythm .article-body {font-family:var(--np-reading-font);font-size:1.0625rem;line-height:1.8;overflow-wrap:break-word}
body.np-rhythm .article-body :is(.smart-article,.np-rich-article) {font-size:inherit;line-height:inherit}
body.np-rhythm .article-body :is(p,li) {font-size:inherit;line-height:1.8}
body.np-rhythm .article-body p {margin-block:0 1em}
body.np-rhythm .article-body :is(h2,h3,h4) {font-family:var(--np-heading-font);line-height:1.4;letter-spacing:normal;margin-block:1.5em .65em}
body.np-rhythm .article-body h2 {font-size:var(--np-type-section)}
body.np-rhythm .article-body h3 {font-size:var(--np-type-card)}
body.np-rhythm .article-body h4 {font-size:1.125rem}
body.np-rhythm .article-body :is(figcaption,.source-panel p) {font-size:var(--np-type-note);line-height:1.6}
body.np-rhythm .article-body :is(ul,ol) {padding-inline-start:1.5em;margin-block:.75em 1.25em}
body.np-rhythm .article-body li+li {margin-top:.4em}
body.np-rhythm .article-body :is(.smart-block,.content-block) {margin-block:0 1.5rem}
body.np-rhythm .article-body :is(.np-rich-article,.smart-article)>:first-child {margin-top:0}
/* Financial interface keeps its numeric layouts and calculations. */
body.np-rhythm #npFinanceSection {font-family:var(--np-reading-font);font-size:1rem;line-height:1.65;padding-block:var(--np-panel-space)}
body.np-rhythm #npFinanceSection .sf-heading h2 {font-family:var(--np-heading-font);font-size:var(--np-type-section);line-height:1.3}
body.np-rhythm #npFinanceSection :is(label,summary,.sf-check,.sf-notice,.sf-metrics small,.sf-result-meta) {font-size:var(--np-type-note);line-height:1.55}
body.np-rhythm #npFinanceSection :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {font-family:var(--np-reading-font);font-size:1rem;line-height:1.5;min-height:44px}
body.np-rhythm #npFinanceSection h3 {font-family:var(--np-reading-font);font-size:1.125rem;line-height:1.4;margin-block:1.5rem .75rem}
body.np-rhythm #npFinanceSection .sf-help {font-size:var(--np-type-note)!important;line-height:1.6}
body.np-rhythm #npFinanceSection .sf-tabs button {font-family:var(--np-reading-font);font-size:var(--np-type-note);line-height:1.5;min-height:44px}
/* Existing important declarations in the chat require scoped overrides. */
body.np-rhythm #ai-advisor-home.np-advisor .ai-bubble {font-size:1rem!important;line-height:1.65!important}
body.np-rhythm #ai-advisor-home.np-advisor .ai-bubble small {font-size:var(--np-type-note)!important;line-height:1.5!important}
body.np-rhythm .np-human-message p {font-size:1rem;line-height:1.65}
body.np-rhythm .np-human-message small {font-size:var(--np-type-note);line-height:1.5}
@media(max-width:700px) {
 body.np-rhythm, body.np-rhythm.np-site, body.np-rhythm.sf-standalone {--np-panel-space:1.5rem;--np-module-gap:.75rem;--np-heading-gap:1.125rem;--np-type-page:1.875rem;--np-type-section:1.625rem;--np-type-card:1.1875rem}
 body.np-rhythm .article-body {font-size:1rem}
 body.np-rhythm.np-home570 #main :is(.nps-policy-choices button) {font-size:.8125rem;line-height:1.5}
 body.np-rhythm .prose h2 {margin-top:1.5rem}
}
@media print {
 body.np-rhythm, body.np-rhythm.np-site, body.np-rhythm.sf-standalone {--np-panel-space:1rem;--np-module-gap:.75rem}
 body.np-rhythm :is(h1,h2,h3) {break-after:avoid}
 body.np-rhythm :is(p,li) {orphans:3;widows:3}
}
