:root {
--font-heading: 'Manrope', 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', Arial, sans-serif;
--font-body: 'DM Sans', 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', Arial, sans-serif;
--type-h1: clamp(36px, calc(24px + 2.8vw), 64px);
--type-h2: clamp(28px, calc(24px + 1.15vw), 40px);
--type-h3: clamp(22px, calc(20px + .55vw), 28px);
--type-body: clamp(16px, calc(15px + .15vw), 18px);
--type-small: clamp(14px, calc(13px + .15vw), 16px);
--type-nav: clamp(14px, calc(13px + .15vw), 15px);
--type-button: clamp(13px, calc(12px + .2vw), 15px);
}
body { font-family: var(--font-body); font-size: var(--type-body); font-weight: 400; line-height: 1.7; }
button, input, select, textarea { font-family: var(--font-body); font-size: inherit; font-weight: 400; line-height: 1.5; }
h1, h2, h3, h4, h5, h6, .product-name { font-family: var(--font-heading); font-weight: 500; letter-spacing: -.025em; text-wrap: pretty; overflow-wrap: anywhere; }
h1 { font-size: var(--type-h1); font-weight: 400; line-height: 1.16; }
h2 { font-size: var(--type-h2); line-height: 1.25; }
h3, .product-name { font-size: var(--type-h3); line-height: 1.35; }
h4, h5, h6 { font-size: 20px; line-height: 1.4; }
p { line-height: 1.7; }
.wordmark { font-family: var(--font-heading); font-weight: 500; line-height: 1; }
.wordmark span { font-size: 23px; letter-spacing: .24em; margin-right: -.24em; }
.wordmark small { font-size: 9px; letter-spacing: .3em; margin-right: -.3em; }
.footer-mark span { font-size: 28px; }
.desktop-nav a, .header-right>a, .search-trigger, .footer-links a { font-size: var(--type-nav); font-weight: 500; line-height: 1.5; letter-spacing: 0; }
.mobile-menu>a { font-family: var(--font-body); font-size: clamp(24px, 5.5vw, 36px); font-weight: 500; line-height: 1.4; }
.light-button, .dark-button, .outline-button, .text-link, .hero-secondary, .project-filters button { font-family: var(--font-body); font-size: var(--type-button); font-weight: 500; line-height: 1.5; letter-spacing: .015em; text-transform: none; }
.language-selector select { font-size: var(--type-nav); font-weight: 500; line-height: 1.5; letter-spacing: 0; }
.mobile-language select { font-size: 16px; }
.eyebrow, .topline, .model { font-size: 12px; font-weight: 500; letter-spacing: .08em; line-height: 1.5; }
.eyebrow { text-transform: none; }
.topline { font-size: 11px; letter-spacing: .06em; }
.model { overflow-wrap: anywhere; }
.product-category, .collection-card p, .benefit-grid p, .finish-line, .spec-table, .spec-table th, .spec-table td, .filter-bar label, .form-grid label, .result-count, .breadcrumbs, .search-results a, .search-results small, .footer-main>div:first-child p { font-size: var(--type-small); font-weight: 400; line-height: 1.6; letter-spacing: 0; }
.spec-list { font-size: var(--type-small); font-weight: 400; line-height: 1.6; }
.spec-list dt, .spec-table th { font-weight: 500; }
.manifesto-copy .manifesto-lead { font-family: var(--font-body); font-size: clamp(18px, 1.6vw, 22px); font-weight: 400; line-height: 1.65; }
.form-status, .spec-caution, .demo-notice { font-size: 14px; font-weight: 400; line-height: 1.6; letter-spacing: 0; }
.hero-caption, .image-note, .footer-bottom { font-size: 11px; font-weight: 400; line-height: 1.5; letter-spacing: .03em; }
.image-note { font-size: 10px; }
.search-panel input { font-family: var(--font-body); font-size: clamp(20px, 3vw, 26px); font-weight: 400; line-height: 1.5; }
.search-close { font-size: 32px; }
.mobile-close { font-size: 38px; }
.menu-trigger { font-size: 21px; }
.product-meta { flex-wrap: wrap; }
.product-meta>div { min-width: 0; flex: 1 1 140px; }
.product-category { white-space: normal; }
.hero-actions { flex-wrap: wrap; }
:lang(zh) { line-break: strict; }
:lang(zh) h1, :lang(zh) h2, :lang(zh) h3, :lang(zh) .product-name { letter-spacing: 0; line-height: 1.4; }
@media(max-width:760px) {
.wordmark span { font-size: 20px; }
.wordmark small { font-size: 8px; }
.footer-mark span { font-size: 28px; }
.collection-card .eyebrow { font-size: 11px; }
.footer-bottom, .hero-caption { font-size: 10px; }
.hero-inner { max-width: 100%; }
.form-end { flex-wrap: wrap; }
}