/* Shared editorial hierarchy. Keep display exceptions purposeful, not per-section. */
:root{
 --type-section:clamp(44px,4.1vw,80px);
 --type-title:clamp(26px,1.9vw,36px);
 --type-body:clamp(15px,1.15vw,20px);
 --type-label:clamp(13px,.95vw,16px);
 --type-quote:clamp(28px,2.6vw,48px);
}
.belonging h2,.discovery h2,.project-support h2,.case-proof h2{
 font-size:var(--type-section);font-weight:600;line-height:1.08;letter-spacing:-.045em;
}
.discovery-meta h3,.support-step h3{
 font-size:var(--type-title);font-weight:600;line-height:1.12;letter-spacing:-.035em;
}
.support,.belonging-body,.discovery-intro,.discovery-meta p,
.project-support-intro,.support-step p,.case-proof-secondary blockquote{
 font-size:var(--type-body);line-height:1.55;letter-spacing:-.02em;
}
.button,.support-button{font-size:var(--type-label)}
.case-proof-primary figcaption{font-size:var(--type-label);line-height:1.5}
.case-proof-primary blockquote{font-size:var(--type-quote);line-height:1.22}
/* Compact navigation/proof labels retain their functional sizing; the hero
   retains its established line breaks and display size. */
@media(max-width:1100px) and (min-width:761px){
 .quote{font-size:11px}
 .discovery-meta h3{font-size:clamp(21px,2.05vw,26px)}
}
@media(max-width:760px){
 :root{--type-section:clamp(40px,10.4vw,64px);--type-title:28px;--type-body:15px;--type-label:13px;--type-quote:29px}
 .quote{font-size:10px}
}
@media(max-width:380px){.quote{font-size:9px}}
