/* Imagine Consultants V30 — cross-site typography and card rhythm.
   Deliberately scoped to content components: no global nav/hero overrides. */
:root{--ic-reading-width:72ch;--ic-card-gap:clamp(16px,2vw,26px)}
html{overflow-wrap:normal}
body{overflow-wrap:break-word}
main p,article p,.national-content p,.mat-wrap p{line-height:1.7}
main li,article li,.national-content li,.mat-wrap li{line-height:1.65}
main h1,main h2,main h3,main h4,article h1,article h2,article h3{overflow-wrap:break-word;text-wrap:balance}
main p,article p{text-wrap:pretty}
main section > p,article > p,.national-content > p{max-width:var(--ic-reading-width)}
/* Standardised content-card flow, preserving existing colour palettes */
:where(.service-card,.why-card,.mat-card,.national-card,.p6-card,.feature-card,.award-card,.pricing-card,.faq-card,.national-depth-card){
 min-width:0;
 overflow-wrap:anywhere;
}
:where(.service-card,.why-card,.mat-card,.national-card,.p6-card,.feature-card,.pricing-card,.national-depth-card) :where(h2,h3,h4){
 line-height:1.27;
 margin-block-start:0;
 text-wrap:balance;
}
:where(.service-card,.why-card,.mat-card,.national-card,.p6-card,.feature-card,.pricing-card,.national-depth-card) :where(p,li){
 line-height:1.68;
}
:where(.service-card,.why-card,.mat-card,.national-card,.p6-card,.feature-card,.pricing-card,.national-depth-card) :where(p:last-child,ul:last-child,ol:last-child){margin-bottom:0}
:where(.service-card,.why-card,.mat-card,.national-card,.p6-card,.feature-card,.pricing-card,.national-depth-card) :where(a,button){overflow-wrap:anywhere}
:where(.service-card,.mat-card,.national-card,.p6-card,.feature-card,.pricing-card) > :where(a:last-child,.btn:last-child,button:last-child){margin-top:auto}
:where(.services-grid,.mat-grid,.national-grid,.national-depth-grid,.why-grid,.p6-grid){align-items:stretch}
:where(.services-grid,.mat-grid,.national-grid,.national-depth-grid,.why-grid,.p6-grid) > *{min-width:0}
:where(.mat-card,.national-card,.p6-card,.feature-card,.pricing-card){padding-block:clamp(22px,2.7vw,36px)}
:where(.mat-card,.national-card,.p6-card,.feature-card,.pricing-card) :where(h2,h3,h4)+p{margin-top:12px}
:where(.mat-card,.national-card,.p6-card,.feature-card,.pricing-card) :where(p)+:where(a,.btn,button){margin-top:18px}
:where(.faq-item,.faq-card,.mat-faq-item){overflow-wrap:anywhere}
:where(.faq-item,.faq-card,.mat-faq-item) :where(p,li){line-height:1.7}
:where(.section-header,.mat-section-header,.national-section-header) :where(h2,h3){line-height:1.2;text-wrap:balance}
:where(.section-header,.mat-section-header,.national-section-header) p{line-height:1.7}
:where(.service-card,.mat-card,.national-card,.p6-card,.feature-card) :where(.btn,.mat-btn,.national-btn){white-space:normal;text-align:center;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px}
@media(max-width:768px){
 main p,article p,.national-content p,.mat-wrap p{line-height:1.65}
 :where(.service-card,.why-card,.mat-card,.national-card,.p6-card,.feature-card,.pricing-card,.national-depth-card){padding:clamp(18px,5vw,26px)}
 :where(.service-card,.why-card,.mat-card,.national-card,.p6-card,.feature-card,.pricing-card,.national-depth-card) :where(h2,h3,h4){line-height:1.28}
 :where(.services-grid,.mat-grid,.national-grid,.national-depth-grid,.why-grid,.p6-grid){column-gap:16px;row-gap:16px}
}
@media(max-width:420px){
 :where(.services-grid,.mat-grid,.national-grid,.national-depth-grid,.why-grid,.p6-grid){grid-template-columns:minmax(0,1fr)}
 :where(.service-card,.mat-card,.national-card,.p6-card,.feature-card,.pricing-card) :where(.btn,.mat-btn,.national-btn){max-width:100%}
}
