/* Chris LaBossiere — shared editorial theme. Edit these tokens to customize every page. */
:root {
 --ink:#192740; --muted:#526071; --blue:#2453a6; --red:#a52821;
 --paper:#ffffff; --wash:#f2f5f8; --line:#d5dce5; --rule:var(--line);
 --font-body:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 --font-heading:Georgia,"Times New Roman",serif;
 --page-width:70rem; --reading-width:47.5rem;
 --gutter:clamp(1.25rem,4vw,2.5rem); --section-space:clamp(2.5rem,6vw,4.5rem);
 --body-size:1.125rem; --body-leading:1.7;
}
body{font-family:var(--font-body);font-size:var(--body-size);line-height:var(--body-leading)}
h1,h2,h3{overflow-wrap:break-word}h1,h2{font-family:var(--font-heading);text-wrap:balance}
img,video{max-width:100%;height:auto}a{overflow-wrap:anywhere}
*,*::before,*::after{box-sizing:border-box}
:where(.intro,.feature,.two-col,.connect,.flow,.projects,.finance,.pricecomparison,.capitalstrip,.press-grid,.facility-guide)>*{min-width:0}
:where(.eyebrow,.projecttype,.note,figcaption,.section-label,.mast,.press-date,.press-kind){font-size:max(.875rem,14px)}
:where(nav a,.contents a,summary){min-height:44px;display:inline-flex;align-items:center}
summary{display:list-item;padding:.5rem 0}
:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:380px){.finance dl div{flex-wrap:wrap}.connect-links a,footer{flex-wrap:wrap}}

/* Comfortable reading at narrow widths, including zoomed layouts. */
:root{--gutter:clamp(1.5rem,5.5vw,3rem);--reading-width:43rem;--accent-wash:#f1f5f7}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-wrap:break-word}
main,article,section,header,footer,figure,details,nav{min-width:0}
img,video,svg{max-width:100%}
p,li{overflow-wrap:break-word}
@media(max-width:650px){body{font-size:1.0625rem;line-height:1.75}h1,h2{letter-spacing:-.025em}h2{font-size:clamp(1.8rem,7vw,2.35rem)}.eyebrow{letter-spacing:.07em}.section-label{flex-wrap:wrap}}

/* A restrained painted accent; size and intensity can be tuned here. */
:root{--brush-home-width:13rem;--brush-report-width:8rem;--brush-opacity:.8}
.intro::before,.opening::before{content:"";display:block;background:transparent url("editorial-brush.png") left center/contain no-repeat;border:0;border-radius:0;pointer-events:none;max-width:100%}
.intro::before{grid-column:1/-1;width:var(--brush-home-width);height:4.35rem;opacity:var(--brush-opacity);margin-bottom:-.6rem}
.opening::before{width:var(--brush-report-width);height:2.7rem;opacity:.62;margin:0 0 1.1rem}
@media(max-width:650px){.intro::before{width:10rem;height:3.35rem;margin-bottom:-.25rem}.opening::before{width:6.5rem;height:2.2rem;margin-bottom:1rem}}
@media print{.intro::before,.opening::before{display:none}}
