/* IDN-005/007: one readable hierarchy. No content, state or diagram geometry changes. */
:root body.vb-type-system{
 --type-title:clamp(2rem,calc(1rem + 4vw),4rem);
 --type-section:clamp(1.625rem,calc(1rem + 2vw),2.75rem);
 --type-subheading:clamp(1.25rem,calc(.9rem + 1vw),1.625rem);
 --type-card:clamp(1.25rem,calc(1rem + .5vw),1.5rem);
 font-size:1rem;line-height:1.65;
}
:root body.vb-type-system :is(h1,h2,h3,h4){min-width:0;max-width:100%;word-break:normal;overflow-wrap:break-word;letter-spacing:-.02em;height:auto;text-wrap:pretty}
:root body.vb-type-system h1{font-size:var(--type-title);line-height:1.12}
:root body.vb-type-system h2{font-size:var(--type-section);line-height:1.2}
:root body.vb-type-system h3{font-size:var(--type-subheading);line-height:1.3}
:root body.vb-type-system h4{font-size:1.125rem;line-height:1.4}
:root body.vb-type-system :is(.case-library-card,.support-card,.cm-rules,.price-card,.solution-card,.principle-card,.trust-card,.guide-block,.decision-card,.ag-card,.eco-grid article,.eco-directory>a,.delivery-card,.pm-promises,.cs-project,.case-service-breakdown,.case-sheet-copy>div,.quote-panel,.leadership-card,.card) :is(h2,h3){font-size:var(--type-card);line-height:1.3}
:root body.vb-type-system :is(.case-decision,.guide-panel,.ag-panel) h2{font-size:clamp(1.375rem,calc(1rem + .8vw),1.75rem);line-height:1.3}
:root body.vb-type-system :is(p,li,dd){line-height:1.65}
:root body.vb-type-system :is(h1,h2,h3,h4)+:is(p,ul,ol,dl){margin-block-start:1rem}
:root body.vb-type-system :is(.lead,.page-intro){font-size:clamp(1rem,calc(.9rem + .3vw),1.1875rem);line-height:1.7}
:root body.vb-type-system :is(.eyebrow,.csb-eyebrow,.case-sheet-kicker){font-size:.75rem;line-height:1.5;letter-spacing:.12em;flex-wrap:wrap;max-width:100%}
:root body.vb-type-system :is(.small,.guide-source,.ecosystem-note,.quote-hint){font-size:.875rem;line-height:1.65}
:root body.vb-type-system :is(.btn,summary,label){line-height:1.5}
:root body.vb-type-system .btn{white-space:normal;text-align:center;max-width:100%;height:auto;min-height:44px}
:root body.vb-type-system :is(.section-head,.page-hero,.hero-copy,.price-card,.solution-card,.guide-block,.decision-card,.ag-card,.eco-grid article,.principle-card,.trust-card,.leadership-card)>*{min-width:0}
/* Quote sheets are documents: preserve their own smaller heading hierarchy. */
:root body.vb-type-system .quote-sheet h1{font-size:clamp(1.75rem,4vw,2.5rem);line-height:1.2}
:root body.vb-type-system .quote-sheet h2{font-size:1.5rem;line-height:1.3}
:root body.vb-type-system .quote-panel h2{font-size:1.5rem;line-height:1.3}
:root body.vb-type-system :is(.vb-topology,.flagship-map,.case-native-visual) h3{font-size:1.125rem;line-height:1.4}
@media(max-width:700px){
 :root body.vb-type-system :is(input,select,textarea){font-size:1rem}
 :root body.vb-type-system .section-head{gap:20px}
 :root body.vb-type-system :is(h1,h2,h3,h4){letter-spacing:-.015em}
 :root body.vb-type-system :is(.page-hero,.hero,.price-hero) h1{max-width:100%}
 :root body.vb-type-system .btn{padding-inline:18px}
}
@media print{:root body.vb-type-system h1{font-size:2rem}:root body.vb-type-system h2{font-size:1.5rem}:root body.vb-type-system h3{font-size:1.125rem}}

:root body.vb-type-system :is(.faq-group-head,.case-group-head,.tp-head) h2{font-size:clamp(1.375rem,calc(1rem + .8vw),1.75rem);line-height:1.3}
:root body.vb-type-system .calm-page-fold h2{font-size:clamp(1.5rem,calc(1rem + 1vw),2rem);line-height:1.25}
