|
39 | 39 | max-width: 54ch; |
40 | 40 | } |
41 | 41 |
|
42 | | -/* Treatment A — marker highlight. isolation:isolate is load-bearing: without |
43 | | - * it the z-index:-1 sweep paints behind the section background and vanishes. */ |
| 42 | +/* Treatment A — marker highlight. Painted as a background on the inline span |
| 43 | + * with box-decoration-break: clone, so the sweep follows the text across line |
| 44 | + * wraps (an absolutely-positioned box renders one broken block when the |
| 45 | + * phrase wraps — which it does at every width below ~1200px). */ |
44 | 46 | .marker-highlight { |
45 | | - position: relative; |
46 | | - isolation: isolate; |
47 | 47 | color: var(--color-text-primary); |
48 | 48 | font-weight: 600; |
49 | | -} |
50 | | -.marker-highlight::before { |
51 | | - content: ''; |
52 | | - position: absolute; |
53 | | - inset: -1px -5px -3px; |
54 | | - z-index: -1; |
55 | 49 | background: linear-gradient( |
56 | 50 | 100deg, |
57 | 51 | rgba(0, 64, 144, 0.14), |
58 | 52 | rgba(0, 64, 144, 0.08) 85% |
59 | 53 | ); |
60 | 54 | border-radius: 4px; |
61 | | - transform: skewX(-6deg) rotate(-0.4deg); |
| 55 | + padding: 1px 5px 3px; |
| 56 | + margin: -1px -5px -3px; |
| 57 | + -webkit-box-decoration-break: clone; |
| 58 | + box-decoration-break: clone; |
62 | 59 | } |
63 | 60 |
|
64 | 61 | .hero-chip-row { |
|
79 | 76 | padding: 5px 11px; |
80 | 77 | white-space: nowrap; |
81 | 78 | } |
| 79 | +/* On phones the chip row and the proof-pill row stack as two near-identical |
| 80 | + * pill lists in one viewport; the pills are links and carry the same nouns, |
| 81 | + * so the decorative chips yield. */ |
| 82 | +@media (max-width: 640px) { |
| 83 | + .hero-chip-row { |
| 84 | + display: none; |
| 85 | + } |
| 86 | +} |
82 | 87 |
|
83 | 88 | .hero-cta-row { |
84 | 89 | display: flex; |
|
95 | 100 | } |
96 | 101 | .hero-proof-link { |
97 | 102 | text-decoration: none; |
| 103 | + /* Invisible tap-area extension: the pill renders ~27px tall; the padding |
| 104 | + * lifts the touch target past the 24px WCAG floor toward the 44px ideal. */ |
| 105 | + display: inline-block; |
| 106 | + padding: 6px 0; |
| 107 | + margin: -6px 0; |
98 | 108 | } |
99 | 109 | .hero-caption { |
100 | 110 | margin: 0; |
|
128 | 138 | color: var(--color-accent); |
129 | 139 | text-decoration: none; |
130 | 140 | font-weight: 600; |
| 141 | + /* 16px-tall text link; pad the tap target without shifting layout. */ |
| 142 | + display: inline-block; |
| 143 | + padding: 8px 4px; |
| 144 | + margin: -8px -4px; |
131 | 145 | } |
132 | 146 | @keyframes blink { to { visibility: hidden; } } |
133 | 147 | @media (max-width: 900px) { |
|
573 | 587 | } |
574 | 588 | .ecosystem-tile-note { |
575 | 589 | font-family: var(--font-mono); |
576 | | - font-size: 10px; |
| 590 | + font-size: 11px; |
577 | 591 | line-height: 1.4; |
578 | 592 | text-transform: uppercase; |
579 | 593 | letter-spacing: 0.08em; |
|
604 | 618 | color: var(--color-text-secondary); |
605 | 619 | margin: 0; |
606 | 620 | } |
| 621 | +/* Centered ragged text is fine at 2 lines on desktop but becomes a 6-line |
| 622 | + * ragged column on phones; left-align for readability. */ |
| 623 | +@media (max-width: 640px) { |
| 624 | + .ecosystem-subhead, |
| 625 | + .demo-showcase__subhead { |
| 626 | + text-align: left; |
| 627 | + } |
| 628 | +} |
607 | 629 | .ecosystem-groups { |
608 | 630 | display: grid; |
609 | 631 | gap: 18px; |
|
1474 | 1496 | .proof-strip-source { |
1475 | 1497 | display: inline-block; |
1476 | 1498 | font-family: var(--font-mono); |
1477 | | - font-size: 10px; |
| 1499 | + font-size: 11px; |
1478 | 1500 | letter-spacing: 0.08em; |
1479 | 1501 | text-transform: uppercase; |
1480 | 1502 | color: var(--color-text-muted); |
|
0 commit comments