|
11 | 11 | <link rel="preconnect" href="https://fonts.googleapis.com" /> |
12 | 12 | <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> |
13 | 13 | <link |
14 | | - href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@400;500;600&display=swap" |
| 14 | + href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@400;500;600&family=Noto+Sans+SC:wght@400;500;700&family=Noto+Serif+SC:wght@500;600;700&display=swap" |
15 | 15 | rel="stylesheet" |
16 | 16 | /> |
17 | 17 | <style> |
|
27 | 27 | --shadow: 0 30px 80px rgba(48, 31, 16, 0.18); |
28 | 28 | --radius: 28px; |
29 | 29 | --container: min(1180px, calc(100vw - 40px)); |
| 30 | + --scroll-offset: 136px; |
| 31 | + --font-body: "IBM Plex Sans", sans-serif; |
| 32 | + --font-heading: "Cormorant Garamond", serif; |
| 33 | + --font-label: "IBM Plex Mono", monospace; |
30 | 34 | } |
31 | 35 |
|
32 | 36 | * { |
|
35 | 39 |
|
36 | 40 | html { |
37 | 41 | scroll-behavior: smooth; |
| 42 | + scroll-padding-top: var(--scroll-offset); |
| 43 | + } |
| 44 | + |
| 45 | + html[lang="zh-CN"] { |
| 46 | + --font-body: "Noto Sans SC", sans-serif; |
| 47 | + --font-heading: "Noto Serif SC", serif; |
| 48 | + --font-label: "Noto Sans SC", sans-serif; |
38 | 49 | } |
39 | 50 |
|
40 | 51 | body { |
41 | 52 | margin: 0; |
42 | 53 | color: var(--ink); |
43 | | - font-family: "IBM Plex Sans", sans-serif; |
44 | | - line-height: 1.6; |
| 54 | + font-family: var(--font-body); |
| 55 | + font-size: 17px; |
| 56 | + line-height: 1.72; |
| 57 | + text-rendering: optimizeLegibility; |
45 | 58 | background: |
46 | 59 | radial-gradient(circle at top left, rgba(177, 73, 47, 0.12), transparent 34%), |
47 | 60 | radial-gradient(circle at top right, rgba(33, 102, 109, 0.12), transparent 28%), |
|
117 | 130 | .section-title, |
118 | 131 | .quote, |
119 | 132 | .metric strong { |
120 | | - font-family: "Cormorant Garamond", serif; |
| 133 | + font-family: var(--font-heading); |
121 | 134 | } |
122 | 135 |
|
123 | 136 | .brand-copy strong { |
124 | 137 | display: block; |
125 | | - font-size: 1.1rem; |
| 138 | + font-size: 1.22rem; |
126 | 139 | letter-spacing: 0.02em; |
127 | 140 | } |
128 | 141 |
|
|
134 | 147 | .stage-label, |
135 | 148 | .footer-note, |
136 | 149 | .lang-switch button { |
137 | | - font-family: "IBM Plex Mono", monospace; |
| 150 | + font-family: var(--font-label); |
138 | 151 | text-transform: uppercase; |
139 | 152 | letter-spacing: 0.12em; |
140 | | - font-size: 0.76rem; |
| 153 | + font-size: 0.78rem; |
141 | 154 | } |
142 | 155 |
|
143 | 156 | .brand-copy span, |
|
174 | 187 |
|
175 | 188 | nav a { |
176 | 189 | color: var(--muted); |
| 190 | + font-size: 0.92rem; |
177 | 191 | } |
178 | 192 |
|
179 | 193 | .lang-switch { |
|
220 | 234 | border: 1px solid rgba(31, 35, 40, 0.16); |
221 | 235 | color: var(--ink); |
222 | 236 | background: var(--panel-strong); |
| 237 | + font-family: var(--font-body); |
| 238 | + font-size: 0.98rem; |
| 239 | + font-weight: 500; |
223 | 240 | } |
224 | 241 |
|
225 | 242 | .button-primary { |
|
238 | 255 | } |
239 | 256 |
|
240 | 257 | main { |
241 | | - padding: 36px 0 72px; |
| 258 | + padding: 44px 0 84px; |
242 | 259 | } |
243 | 260 |
|
244 | 261 | .hero { |
|
259 | 276 | } |
260 | 277 |
|
261 | 278 | .hero-copy { |
262 | | - padding: 34px; |
| 279 | + padding: 40px; |
263 | 280 | } |
264 | 281 |
|
265 | 282 | .eyebrow { |
266 | 283 | display: inline-flex; |
267 | 284 | align-items: center; |
268 | 285 | gap: 10px; |
269 | 286 | color: var(--signal); |
| 287 | + margin-bottom: 8px; |
270 | 288 | } |
271 | 289 |
|
272 | 290 | .eyebrow::before { |
|
279 | 297 | h1 { |
280 | 298 | margin: 18px 0 16px; |
281 | 299 | font-size: clamp(3.4rem, 9vw, 6.9rem); |
282 | | - line-height: 0.9; |
| 300 | + line-height: 0.96; |
283 | 301 | font-weight: 600; |
284 | 302 | letter-spacing: -0.04em; |
| 303 | + max-width: 8ch; |
285 | 304 | } |
286 | 305 |
|
287 | 306 | .lead { |
288 | | - max-width: 58ch; |
289 | | - font-size: 1.06rem; |
| 307 | + max-width: 43rem; |
| 308 | + font-size: 1.13rem; |
| 309 | + line-height: 1.9; |
290 | 310 | color: #34383d; |
| 311 | + text-wrap: pretty; |
291 | 312 | } |
292 | 313 |
|
293 | 314 | .hero-actions { |
|
305 | 326 | } |
306 | 327 |
|
307 | 328 | .metric { |
308 | | - padding: 16px; |
| 329 | + padding: 18px 18px 16px; |
309 | 330 | border-radius: 22px; |
310 | 331 | background: rgba(255, 255, 255, 0.5); |
311 | 332 | border: 1px solid rgba(31, 35, 40, 0.08); |
312 | 333 | } |
313 | 334 |
|
314 | 335 | .metric strong { |
315 | 336 | display: block; |
316 | | - font-size: 2rem; |
| 337 | + font-size: 2.15rem; |
317 | 338 | line-height: 1; |
318 | 339 | margin-bottom: 6px; |
319 | 340 | } |
|
369 | 390 |
|
370 | 391 | .node span { |
371 | 392 | color: var(--muted); |
372 | | - font-size: 0.92rem; |
| 393 | + font-size: 0.96rem; |
| 394 | + line-height: 1.6; |
373 | 395 | } |
374 | 396 |
|
375 | 397 | .node-primary { |
|
441 | 463 |
|
442 | 464 | .section { |
443 | 465 | margin-top: 28px; |
444 | | - padding: 28px; |
| 466 | + padding: 34px; |
445 | 467 | } |
446 | 468 |
|
447 | 469 | .section-title { |
448 | | - margin: 0 0 10px; |
| 470 | + margin: 0 0 14px; |
449 | 471 | font-size: clamp(2rem, 5vw, 3.4rem); |
450 | | - line-height: 0.95; |
| 472 | + line-height: 1.08; |
451 | 473 | font-weight: 600; |
452 | 474 | letter-spacing: -0.03em; |
| 475 | + max-width: 13ch; |
| 476 | + text-wrap: balance; |
453 | 477 | } |
454 | 478 |
|
455 | 479 | .section-copy { |
456 | | - max-width: 62ch; |
| 480 | + max-width: 46rem; |
457 | 481 | color: #394047; |
| 482 | + line-height: 1.9; |
| 483 | + text-wrap: pretty; |
458 | 484 | } |
459 | 485 |
|
460 | 486 | .feature-grid, |
|
474 | 500 |
|
475 | 501 | .card { |
476 | 502 | min-height: 100%; |
477 | | - padding: 22px; |
| 503 | + padding: 26px 24px; |
478 | 504 | border-radius: 24px; |
479 | 505 | border: 1px solid rgba(31, 35, 40, 0.1); |
480 | 506 | background: rgba(255, 255, 255, 0.5); |
481 | 507 | } |
482 | 508 |
|
483 | 509 | .card h3, |
484 | 510 | .table-card h3 { |
485 | | - margin: 0 0 10px; |
486 | | - font-size: 1.12rem; |
| 511 | + margin: 0 0 12px; |
| 512 | + font-size: 1.16rem; |
| 513 | + line-height: 1.45; |
487 | 514 | } |
488 | 515 |
|
489 | 516 | .card p, |
490 | 517 | .table-card p { |
491 | 518 | margin: 0; |
492 | 519 | color: var(--muted); |
| 520 | + line-height: 1.82; |
493 | 521 | } |
494 | 522 |
|
495 | 523 | .chip-row { |
|
511 | 539 | } |
512 | 540 |
|
513 | 541 | .table-card { |
514 | | - padding: 24px; |
| 542 | + padding: 30px; |
515 | 543 | } |
516 | 544 |
|
517 | 545 | .spec-table { |
|
522 | 550 |
|
523 | 551 | .spec-table th, |
524 | 552 | .spec-table td { |
525 | | - padding: 14px 0; |
| 553 | + padding: 16px 0; |
526 | 554 | text-align: left; |
527 | 555 | vertical-align: top; |
528 | 556 | border-bottom: 1px solid rgba(31, 35, 40, 0.12); |
|
531 | 559 | .spec-table th { |
532 | 560 | font-weight: 500; |
533 | 561 | color: var(--muted); |
534 | | - width: 34%; |
| 562 | + width: 28%; |
535 | 563 | } |
536 | 564 |
|
537 | 565 | .quote { |
538 | 566 | margin: 0; |
539 | 567 | font-size: clamp(2rem, 4.4vw, 3.15rem); |
540 | | - line-height: 1; |
| 568 | + line-height: 1.18; |
541 | 569 | letter-spacing: -0.03em; |
| 570 | + max-width: 12ch; |
| 571 | + text-wrap: balance; |
542 | 572 | } |
543 | 573 |
|
544 | 574 | .quote + p { |
|
564 | 594 | padding: 0 4px; |
565 | 595 | } |
566 | 596 |
|
| 597 | + #capabilities, |
| 598 | + #details, |
| 599 | + #open-source, |
| 600 | + #top { |
| 601 | + scroll-margin-top: var(--scroll-offset); |
| 602 | + } |
| 603 | + |
| 604 | + html[lang="zh-CN"] .brand-copy strong, |
| 605 | + html[lang="zh-CN"] .hero-copy h1, |
| 606 | + html[lang="zh-CN"] .section-title, |
| 607 | + html[lang="zh-CN"] .quote, |
| 608 | + html[lang="zh-CN"] .metric strong { |
| 609 | + letter-spacing: -0.02em; |
| 610 | + } |
| 611 | + |
| 612 | + html[lang="zh-CN"] .brand-copy span, |
| 613 | + html[lang="zh-CN"] .eyebrow, |
| 614 | + html[lang="zh-CN"] .micro, |
| 615 | + html[lang="zh-CN"] .metric span, |
| 616 | + html[lang="zh-CN"] .chip, |
| 617 | + html[lang="zh-CN"] .stage-label, |
| 618 | + html[lang="zh-CN"] .footer-note, |
| 619 | + html[lang="zh-CN"] .lang-switch button { |
| 620 | + text-transform: none; |
| 621 | + letter-spacing: 0.04em; |
| 622 | + font-weight: 500; |
| 623 | + } |
| 624 | + |
| 625 | + html[lang="zh-CN"] nav a { |
| 626 | + letter-spacing: 0.02em; |
| 627 | + } |
| 628 | + |
| 629 | + html[lang="zh-CN"] h1 { |
| 630 | + line-height: 1.08; |
| 631 | + max-width: 10ch; |
| 632 | + } |
| 633 | + |
| 634 | + html[lang="zh-CN"] .section-title { |
| 635 | + line-height: 1.26; |
| 636 | + max-width: 18ch; |
| 637 | + } |
| 638 | + |
| 639 | + html[lang="zh-CN"] .quote { |
| 640 | + line-height: 1.34; |
| 641 | + max-width: 16ch; |
| 642 | + } |
| 643 | + |
567 | 644 | @media (prefers-reduced-motion: no-preference) { |
568 | 645 | .hero-copy, |
569 | 646 | .hero-stage, |
|
673 | 750 | gap: 14px; |
674 | 751 | } |
675 | 752 |
|
| 753 | + html { |
| 754 | + --scroll-offset: 118px; |
| 755 | + } |
| 756 | + |
676 | 757 | nav a { |
677 | 758 | padding-left: 0; |
678 | 759 | padding-right: 0; |
|
688 | 769 |
|
689 | 770 | h1 { |
690 | 771 | font-size: clamp(3rem, 18vw, 4.8rem); |
| 772 | + max-width: none; |
691 | 773 | } |
692 | 774 |
|
693 | 775 | .diagram { |
|
0 commit comments