/* Shared reading sizes, loaded after page-specific styles. */
body{font-size:1.0625rem;line-height:1.75;text-rendering:optimizeLegibility}
h1,h2,h3,h4{letter-spacing:-.025em;line-height:1.2;font-weight:700;text-wrap:pretty}
:root body main :is(p,li,blockquote){font-size:1rem;line-height:1.75}
:root body :is(.kicker,.breadcrumbs,.small,.source-note,.tag,.number,.category-caption,.disclosure-count,.card-link,.market-meta,.art-note,.tool-note,.result-label,.chat-privacy,.support-disclosure){font-size:.875rem;line-height:1.6}
:root body .kicker{letter-spacing:.09em}
:root body :is(.nav-item>a,.nav-link-group a,.header-tools>.btn,.btn,.text-link,.field label,.field small,.check-label,.jump-links a,.review footer,.home-review-proof,.home-route-links a,.home-profile-links a){font-size:.875rem;line-height:1.6}
:root body :is(.lede,.page-hero .lede,.international-hero .lede){font-size:1.125rem;line-height:1.75}
:root body :is(.home-jack-contact small,.chat-header span:not(.chat-agent-avatar),.tour-note,.scene-illustration){font-size:.8125rem;line-height:1.6}
:root body .footer :is(p,li),:root body .footer a:not(.wordmark){font-size:.9375rem;line-height:1.75}
:root body .footer-legal :is(p,a),:root body .footer-bottom :is(a,span){font-size:.875rem}
:root body .wordmark small{font-size:.75rem;line-height:1.6;white-space:nowrap}
.footer .wordmark{width:auto;max-width:100%;white-space:normal}
.footer .wordmark>span{display:inline-block}
:root body .footer .wordmark small{width:auto;max-width:100%;white-space:normal}
.article strong,.article h2,.article h3{color:var(--ink)}
.article p,.article li{color:var(--ink)}
.article p+p{margin-top:1.1em}
.article a:not(.btn){text-decoration-thickness:1px;text-underline-offset:.2em}
.service-link-list a{line-height:1.6}
.service-link-list a>span{font-size:1rem}
.service-link-list a>small{font-size:.875rem;line-height:1.65}
.finance-front h1,.page-hero h1{line-height:1.16}
.disclosure-heading{line-height:1.35}
.international-art img{aspect-ratio:3/2;object-fit:contain}
.service-disclosure>summary{grid-template-columns:123px minmax(0,1fr) auto}
.category-thumb{width:123px;height:82px;background:#a9c9e1}
.category-thumb .category-puppet-image{object-fit:contain;transform:none}
input,select,textarea{font-size:1rem}
[data-single-column]{grid-template-columns:1fr;max-width:70ch}
.service-disclosure>summary[data-text-summary]{grid-template-columns:minmax(0,1fr) auto}
.category-heading[data-text-heading]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.project-art[data-text-art]{min-height:0;background:linear-gradient(145deg,#0b1c34,#204564);display:flex;align-items:center}
.project-art[data-text-art] .project-art-caption{position:static;inset:auto;padding:36px;background:none}
.support-slide[data-text-card]{border-top:3px solid var(--blue);background:linear-gradient(145deg,var(--panel-glint),transparent 65%),var(--card)}
.market-card[data-text-card]{border-top:3px solid var(--blue)}
.market-card[data-text-card] .market-card-copy{padding:26px}
.consult-board-head:not(:has(picture)){grid-template-columns:1fr}
@media(max-width:760px){
 body{font-size:1rem}
 :root body :is(.lede,.page-hero .lede,.international-hero .lede){font-size:1.0625rem}
 :root body .nav-link-group a,:root body .nav-item>a{font-size:1rem}
 .finance-front h1,.international-hero h1,.page-hero h1{letter-spacing:-.025em;overflow-wrap:anywhere}
 .category-caption{max-width:none}
 .service-disclosure>summary{grid-template-columns:84px minmax(0,1fr);gap:14px}
 .category-thumb{width:84px;height:56px}
 .header-row{padding-bottom:calc(3rem + 12px)}
 .header .wordmark{width:auto;max-width:100%;white-space:normal}
 .header .wordmark>span{display:inline-block}
 :root body .header .wordmark small{width:auto;max-width:100%;white-space:normal}
 .mobile-contact a,.major-links a{overflow-wrap:anywhere;min-width:0}
 .service-disclosure>summary[data-text-summary]{grid-template-columns:minmax(0,1fr)}
 .service-disclosure>summary[data-text-summary] .disclosure-count{grid-column:1}
 .category-heading[data-text-heading]{grid-template-columns:1fr}
 .scene-frame,.international-art img{box-shadow:0 12px 30px var(--panel-shade),0 0 0 4px var(--panel-glint)}
}
@media(prefers-reduced-motion:reduce){.card,.market-card,.support-slide,.btn{transform:none!important}}
@media print{body{font-size:11pt}.article{max-width:none}.card,.info-card,.market-card,.support-slide,.review,.scene-frame{box-shadow:none}}
