/* System fonts only: no remote fonts, downloads or embedded third-party font files. */
:root{--latin-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;--han-sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif}
body{font-family:var(--latin-sans);line-height:1.65}
.language-bar{display:grid;grid-template-columns:minmax(130px,190px) minmax(130px,190px) 1fr;gap:8px 20px;padding-top:16px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.language-bar label{display:block;font-size:.78rem;font-weight:600;margin-bottom:4px}.language-bar select{width:100%;max-width:100%;min-height:44px;font:inherit;color:var(--green);background:var(--paper);border:1px solid #71816d;padding:8px;border-radius:0}.language-note,.currency-note{font-size:.78rem;line-height:1.6;color:var(--muted);margin:0;align-self:end}.currency-note{grid-column:1/-1}
.nav{flex-wrap:wrap}.nav a,.btn,.text-link,button,summary,label{overflow-wrap:anywhere;hyphens:auto}select{max-width:100%}.gross-numbers>div,.gross-controls>div,.comparison-card,.home-body,.nav-inner>*{min-width:0}.gross-numbers strong,td,dd,input[type=number]{font-variant-numeric:tabular-nums lining-nums}.gross-numbers strong{font-family:var(--latin-sans);font-size:clamp(1.15rem,2.4vw,2rem);overflow-wrap:anywhere;line-height:1.4}textarea{max-width:100%;font:inherit;line-height:1.7}h1,h2,h3{overflow-wrap:anywhere}
html[lang="zh-Hans"] body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;line-height:1.8;word-break:normal;overflow-wrap:anywhere}
html[lang="zh-Hans"] h1,html[lang="zh-Hans"] h2,html[lang="zh-Hans"] h3{font-family:var(--han-sans);font-weight:600;line-height:1.35;letter-spacing:.025em}
html[lang="zh-Hans"] .eyebrow,html[lang="zh-Hans"] .prototype{letter-spacing:.06em;line-height:1.6}html[lang="zh-Hans"] .wordmark{font-family:Georgia,"Times New Roman",serif;letter-spacing:normal}html[lang="zh-Hans"] button,html[lang="zh-Hans"] select,html[lang="zh-Hans"] input{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif}
@media(max-width:640px){.language-bar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 14px}.language-note,.currency-note{grid-column:1/-1}.nav a{white-space:normal}.gross-numbers{grid-template-columns:minmax(0,1fr)}html[lang="zh-Hans"] h1{font-size:clamp(2.25rem,9vw,3.5rem)}html[lang="zh-Hans"] h2{font-size:clamp(1.8rem,7vw,2.6rem)}}
/* Locale-specific reading rhythm. These rules are source-checked, not browser-validated. */
html[lang="zh-Hans"] .eyebrow,html[lang="zh-Hans"] .prototype,html[lang="zh-Hans"] .nav{text-transform:none}
html[lang="fr"] .btn,html[lang="fr"] .nav,html[lang="fr"] summary{letter-spacing:normal;line-height:1.5;word-break:normal}
html[lang="sw"] .btn,html[lang="so"] .btn,html[lang="sw"] label,html[lang="so"] label{line-height:1.65;letter-spacing:normal;white-space:normal}
html[lang="sw"] h1,html[lang="so"] h1{font-size:clamp(2.5rem,5.5vw,5.5rem);line-height:1.15}
html[lang="fr"] .gross-numbers strong{white-space:normal}
@media(max-width:640px){html[lang="fr"] h1,html[lang="sw"] h1,html[lang="so"] h1{font-size:clamp(2rem,8vw,3rem)}.btn{height:auto;min-height:44px}.comparison-grid,.home-grid{min-width:0}}
.price-display{display:block;font-family:var(--latin-sans);font-variant-numeric:tabular-nums;line-height:1.5;margin-top:8px;font-size:.9rem;color:var(--muted);overflow-wrap:anywhere}
html[lang="fr"] .eyebrow,html[lang="sw"] .eyebrow,html[lang="so"] .eyebrow{text-transform:none;letter-spacing:.03em;line-height:1.6}
.currency-note,.language-note{overflow-wrap:anywhere}
/* Localized control labels wrap at word boundaries before emergency breaks. */
.btn,.text-link,button,summary,label{max-width:100%;box-sizing:border-box;white-space:normal;word-break:normal;overflow-wrap:break-word}
html[lang="zh-Hans"] h1,html[lang="zh-Hans"] h2,html[lang="zh-Hans"] h3,html[lang="zh-Hans"] .eyebrow,html[lang="zh-Hans"] .prototype{letter-spacing:normal}
html[lang="zh-Hans"] body{line-break:strict}html[lang="zh-Hans"] textarea{letter-spacing:normal}
/* Country version controls language and reference currency together. */
.language-bar{grid-template-columns:minmax(180px,260px) minmax(0,1fr)}.country-explanation{margin:0;font-size:.83rem;line-height:1.65;color:var(--muted);align-self:end}.language-note{grid-column:1/-1}@media(max-width:640px){.language-bar{grid-template-columns:minmax(0,1fr)}.country-explanation{grid-column:1/-1}}
/* Chinese has its own UI type scale; brand wordmark keeps its Latin identity. */
html[lang="zh-Hans"]{--zh-ui:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif}
html[lang="zh-Hans"] body,html[lang="zh-Hans"] button,html[lang="zh-Hans"] select,html[lang="zh-Hans"] textarea,html[lang="zh-Hans"] .card-status{font-family:var(--zh-ui);letter-spacing:normal}
html[lang="zh-Hans"] body{font-size:17px;line-height:1.85;word-break:normal;overflow-wrap:break-word;line-break:strict}
html[lang="zh-Hans"] h1,html[lang="zh-Hans"] h2,html[lang="zh-Hans"] h3{font-family:var(--zh-ui);font-weight:500;letter-spacing:normal;word-break:normal;overflow-wrap:break-word;text-wrap:balance}
html[lang="zh-Hans"] h1{font-size:clamp(2.7rem,4.5vw,4.5rem);line-height:1.28;max-width:14em}
html[lang="zh-Hans"] h2{font-size:clamp(1.9rem,3.1vw,3rem);line-height:1.4;max-width:19em}
html[lang="zh-Hans"] h3{font-size:1.25rem;line-height:1.5}
html[lang="zh-Hans"] main p{max-width:38em}
html[lang="zh-Hans"] .eyebrow,html[lang="zh-Hans"] .prototype,html[lang="zh-Hans"] .fact-list dt,html[lang="zh-Hans"] .intro-row strong,html[lang="zh-Hans"] .note-label,html[lang="zh-Hans"] label,html[lang="zh-Hans"] .nav{letter-spacing:normal;text-transform:none;font-family:var(--zh-ui);line-height:1.65}
html[lang="zh-Hans"] .eyebrow,html[lang="zh-Hans"] .fact-list dt{font-size:.8rem;font-weight:500}
html[lang="zh-Hans"] .gross-numbers strong,html[lang="zh-Hans"] input,html[lang="zh-Hans"] .price-display{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",Arial,sans-serif;font-variant-numeric:tabular-nums lining-nums;letter-spacing:normal;font-weight:500}
html[lang="zh-Hans"] .btn{font-weight:500;line-height:1.6}
html[lang="zh-Hans"] .wordmark{font-family:Georgia,"Times New Roman",serif;letter-spacing:normal}
@media(max-width:640px){html[lang="zh-Hans"] body{font-size:16px;line-height:1.85}html[lang="zh-Hans"] h1{font-size:clamp(2rem,8vw,2.75rem);line-height:1.35}html[lang="zh-Hans"] h2{font-size:clamp(1.65rem,6.5vw,2.15rem)}html[lang="zh-Hans"] .purchase-enquiry h2{font-size:1.5rem}}

/* Refined Chinese scale from locale-specific reference patterns; no external fonts. */
html[lang="zh-Hans"]{--zh-ui:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Noto Sans SC",system-ui,sans-serif}
html[lang="zh-Hans"] body{font-weight:400;letter-spacing:0}
html[lang="zh-Hans"] h1{font-size:clamp(44px,4vw,56px);line-height:1.3;letter-spacing:0}
html[lang="zh-Hans"] h2{font-size:clamp(28px,2.5vw,32px);line-height:1.4;letter-spacing:0}
html[lang="zh-Hans"] .home-body h2,html[lang="zh-Hans"] .card h3,html[lang="zh-Hans"] .comparison-card h3{font-size:clamp(20px,2vw,24px);line-height:1.5}
html[lang="zh-Hans"] main p{max-width:34em}
@media(max-width:640px){html[lang="zh-Hans"] body{line-height:1.8}html[lang="zh-Hans"] h1{font-size:clamp(30px,8.5vw,36px);line-height:1.35}html[lang="zh-Hans"] h2{font-size:clamp(24px,6.5vw,28px)}}

/* Country names remain readable if flag emoji are unavailable. */
.language-bar select{font-family:var(--latin-sans),"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji"}

/* Kinyarwanda uses the Latin sans stack. Amharic (Ethiopic script) uses system Ethiopic fonts only. */
:root{--ethiopic-sans:"Noto Sans Ethiopic","Abyssinica SIL","Kefa","Nyala","Ebrima","Noto Serif Ethiopic",sans-serif}
html[lang="am"] body,html[lang="am"] button,html[lang="am"] select,html[lang="am"] input,html[lang="am"] textarea{font-family:var(--latin-sans),var(--ethiopic-sans);line-height:1.8}
html[lang="am"] h1,html[lang="am"] h2,html[lang="am"] h3{font-family:var(--ethiopic-sans);font-weight:600;line-height:1.35;letter-spacing:0}
html[lang="am"] .eyebrow,html[lang="am"] .prototype,html[lang="am"] .nav,html[lang="rw"] .nav{text-transform:none;letter-spacing:.02em}
html[lang="am"] .hero-full h1{font-size:clamp(2.6rem,5.4vw,4.6rem);line-height:1.25;max-width:12em}
html[lang="rw"] .hero-full h1{max-width:13ch;font-size:clamp(2.7rem,5.8vw,5.2rem)}
html[lang="rw"] h1,html[lang="rw"] h2,html[lang="rw"] h3{hyphens:manual}
