/* Reading sizes shared by the case studies; their palettes and display type stay local. */
.ecosystem-case .ec-hero-copy>p,
.ecosystem-case .grok-hero-heading p,
.ecosystem-case .ec-story p,
.ecosystem-case .ec-product p,
.ecosystem-case .ec-map-section>p,
.ecosystem-case .ec-result>p,
.ecosystem-case .grok-materials>p{font-size:18px;line-height:1.8;text-wrap:pretty}
.ecosystem-case .ec-product-copy p,.ecosystem-case .ec-story p{max-width:65ch}
.ecosystem-case .ec-facts p,.ecosystem-case .ec-product ul,.ecosystem-case .ec-map span{font-size:16px;line-height:1.65}
.ecosystem-case .eyebrow,.ecosystem-case .ec-hero-note,
.ecosystem-case .ec-map small{font-size:13px;line-height:1.65;letter-spacing:.06em}
.ecosystem-case .ec-return,.ecosystem-case .ec-brand span,
.ecosystem-case .ec-header nav,.ecosystem-case .ec-menu,
.ecosystem-case .ec-contents,.ecosystem-case .ec-window,
.ecosystem-case .ec-art-caption,.ecosystem-case .ec-screen figcaption,
.ecosystem-case .grok-hero-screen figcaption,.ecosystem-case .grok-slides figcaption,
.ecosystem-case .grok-materials .grok-note,.ecosystem-case .grok-deliverables span,
.ecosystem-case .ec-result small,.ecosystem-case .ec-back,.ecosystem-case .ec-footer{font-size:14px;line-height:1.6}
.ecosystem-case .btn{font-size:15px;line-height:1.5;height:auto;white-space:normal}
.ecosystem-case .ec-header{gap:20px}
.ecosystem-case .ec-menu{flex-shrink:0;align-items:center}
.ecosystem-case .ec-header nav{gap:22px}
.ecosystem-case .ec-art-caption{position:static;display:block;margin-top:20px;text-align:right}
.ecosystem-case .ec-window{flex-wrap:wrap;overflow-wrap:anywhere;letter-spacing:.02em}
.single-project .case-pager [data-case-number]{font-size:13px;line-height:1.5}
.single-project .case-pager [data-case-label]{font-size:14px;line-height:1.5}
.single-project .case-pager [data-case-contents]{min-width:0}
.single-project .case-pager [data-case-label]{max-width:100%}
.single-project .case-contents-dialog [data-case-links] button{font-size:16px;line-height:1.5}
.single-project .case-contents-dialog>a{font-size:15px}
.single-project .case-dropdown strong{font-size:16px;line-height:1.5}
.single-project :is(.case-dropdown small,.case-dropdown-number,.case-dropdown-kicker,.case-dropdown-heading h2>span){font-size:13px;line-height:1.6}
.single-project .case-dropdown-footer{font-size:14px;line-height:1.6;flex-wrap:wrap}
.single-project .case-dropdown-trigger{font-size:14px}
.single-project .case-dropdown[popover]{max-width:calc(100% - 24px)}
/* The original Brandbook keeps its type specimens; enlarge its reading and navigation UI. */
.brandbook-case .case-return{font-size:14px}
.brandbook-case .chapter-description{font-size:18px;line-height:1.75}
.brandbook-case .feature p,.brandbook-case .panel p{font-size:16px;line-height:1.7}
.brandbook-case .feature strong{font-size:16px;line-height:1.5}
.brandbook-case :is(.eyebrow,.sheet-heading,.intro-tagline,.small-heading,.panel-heading h3,.panel-heading>span,.interaction-hint){font-size:13px;line-height:1.6;letter-spacing:.06em}
.brandbook-case :is(.quick-nav,.contents-button,.contents-button span,.brand-text>span,.rail-label,.contents-dropdown-footer){font-size:14px;line-height:1.5}
.brandbook-case .rail-number{font-size:12px}
.brandbook-case .chapter-rail button{height:auto;min-height:42px}
.brandbook-case :is(.font-specimen>p,.rule-pair p,.photography-notes p,.notice small,.site-footer p){font-size:15px;line-height:1.7}
.brandbook-case :is(.panel .interaction-hint,.panel .field-hint,.panel label,.type-controls label,.contents-dropdown .contents-list small,.contents-dropdown .contents-search input,.photo figcaption,.application-card>span){font-size:14px;line-height:1.6}
.brandbook-case .button{font-size:14px;line-height:1.5}
.brandbook-case .mobile-current strong{font-size:14px;line-height:1.4}
.brandbook-case .mobile-current>span{font-size:13px}
/* The source Brandbook marks these demo hints important. */
.brandbook-case .panel :is(.field-hint,.field-error){font-size:14px!important;line-height:1.6!important}
/* Portfolio captions and controls are part of the reading path into each case. */
.projects-archive .project-caption .eyebrow,.projects-archive .project-year,
.projects-archive .project-index{font-size:14px;line-height:1.5}
.projects-archive .filter-bar .btn{font-size:14px;min-height:44px}
@media(max-width:767px){
 html:has(body.ecosystem-case){--case-header-height:128px}
 .ecosystem-case .ec-hero-copy>p,.ecosystem-case .grok-hero-heading p,
 .ecosystem-case .ec-story p,.ecosystem-case .ec-product p,
 .ecosystem-case .ec-map-section>p,.ecosystem-case .ec-result>p,
 .ecosystem-case .grok-materials>p{font-size:17px;line-height:1.75}
 .ecosystem-case .ec-return{padding:10px 5%;gap:18px;align-items:center;font-size:13px}
 .ecosystem-case .ec-return a{max-width:50%}
 .ecosystem-case .ec-header{gap:12px;align-items:center}
 .ecosystem-case .ec-brand{min-width:0;font-size:21px}
 .ecosystem-case .ec-brand span{font-size:13px;letter-spacing:0;margin-top:4px}
 .ecosystem-case .ec-menu{font-size:13px;gap:8px;padding:10px}
 .ecosystem-case .ec-facts>div{display:block}
 .ecosystem-case .ec-facts p{text-align:left;margin-top:6px}
 .ecosystem-case .ec-art-caption{font-size:13px}
 .ecosystem-case .ec-contents{gap:16px}
 .brandbook-case .case-return{padding-inline:12px;font-size:13px;gap:16px}
 .brandbook-case .chapter-description{font-size:17px}
}
