/* Readable supporting typography, preserving the Finepart display scale. */
:root { --fp-readable-body: 1rem; --fp-readable-label: .875rem; }
main p:not(.eyebrow):not(.section-label):not([class*="label"]):not([class*="tag"]):not([class*="kicker"]) {
  line-height: 1.65;
}
.precision-grid p,.family-card>p,.results-wall p,.system-copy li,
.family-intro>p,.systems-head>p,.hero-rail small {
  font-size: 1rem; line-height: 1.6;
}
.family-card dt,.family-card dd,table th,table td { font-size: .875rem; line-height: 1.5; }
.family-card dl div { flex-wrap: wrap; row-gap: 5px; }
.family-card dd { overflow-wrap: anywhere; }
.section-label,.eyebrow { line-height: 1.5; letter-spacing: .1em; }
button,input,select,textarea { line-height: 1.4; }
input:not([type="checkbox"]):not([type="radio"]),select,textarea { font-size: 1rem; }
.fp-language-toggle { grid-template-columns:24px 28px 10px; column-gap:6px; min-width:94px; }
.fp-language-option { grid-template-columns:24px minmax(0,1fr) 28px; }
.fp-language-menu { width:240px; max-width:calc(100vw - 24px); }
.fp-language-note { line-height:1.5; }
@media(max-width:780px) {
 .fp-language-toggle { grid-template-columns:24px; min-width:48px; }
}
@media(max-width:560px) {
 .fp-language-toggle { min-width:42px; }
 .family-card { padding:24px; }
 .family-card>p { min-height:0; }
 .precision-grid p { max-width:none; }
}

/* Translation wrappers must never become design elements or flex/grid items. */
.fp-reviewed,.fp-company-name {
 all:inherit!important;
 display:contents!important;
}
h1,h2,h3,blockquote { overflow-wrap:break-word; }
h1,h2 { line-height:1.08!important; }
h3,blockquote { line-height:1.18!important; }
.hero h1 { white-space:normal; }
.hero-copy,.manifesto-main>*,.systems-head>*,.family-intro>*,.lifecycle-head>*,
.application-stage>*,.system-showcase>*,.connected>*,.investor-gateway>*,
.family-card,.lifecycle-card,.connected-card,.precision-grid article { min-width:0; }
.family-name strong,.lifecycle-card>strong,.connected-card>strong { line-height:1.18; overflow-wrap:break-word; }
.hero-rail { min-width:0; }
.hero-rail strong,.hero-rail small { overflow-wrap:anywhere; }
.button,.header-cta { height:auto; padding-top:12px; padding-bottom:12px; white-space:normal; }
@media(min-width:901px) and (max-width:1440px) {
 .family-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .systems-head,.family-intro,.lifecycle-head { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; }
 .systems-head>.section-label,.family-intro>.section-label,.lifecycle-head>.section-label { grid-column:1/-1; }
}
@media(max-width:900px) {
 .manifesto-main,.application-stage,.systems-head,.family-intro,.lifecycle-head,
 .connected,.investor-gateway { grid-template-columns:minmax(0,1fr); gap:32px; }
 .hero h1 { font-size:clamp(2.75rem,9vw,5rem); }
}
