|
51 | 51 | position: sticky; |
52 | 52 | top: 12px; |
53 | 53 | z-index: 30; |
54 | | - display: flex; |
| 54 | + display: grid; |
| 55 | + grid-template-columns: minmax(0, 1fr) auto minmax(220px, 1fr); |
55 | 56 | align-items: center; |
56 | | - justify-content: flex-start; |
| 57 | + justify-content: center; |
57 | 58 | gap: 16px; |
58 | 59 | padding: 10px 14px; |
59 | 60 | margin-bottom: 24px; |
|
65 | 66 | transition: transform 220ms ease, opacity 220ms ease, background-color 180ms ease, box-shadow 180ms ease; |
66 | 67 | } |
67 | 68 |
|
| 69 | +.site-header-spacer { |
| 70 | + min-width: 0; |
| 71 | +} |
| 72 | + |
| 73 | +.site-brand { |
| 74 | + display: inline-flex; |
| 75 | + align-items: center; |
| 76 | + justify-self: start; |
| 77 | + align-self: center; |
| 78 | + min-height: 42px; |
| 79 | + font-family: "JetBrains Mono", monospace; |
| 80 | + padding-left: 8px; |
| 81 | + font-size: 1.08rem; |
| 82 | + font-weight: 800; |
| 83 | + letter-spacing: 0.08em; |
| 84 | + text-transform: uppercase; |
| 85 | + color: var(--ink); |
| 86 | +} |
| 87 | + |
| 88 | +.site-brand:hover, |
| 89 | +.site-brand:focus-visible { |
| 90 | + color: var(--accent); |
| 91 | +} |
| 92 | + |
| 93 | +.menu-toggle { |
| 94 | + display: none; |
| 95 | + align-items: center; |
| 96 | + justify-content: center; |
| 97 | + gap: 4px; |
| 98 | + width: 44px; |
| 99 | + height: 44px; |
| 100 | + padding: 0; |
| 101 | + border: 1px solid rgba(199, 212, 229, 0.9); |
| 102 | + border-radius: 999px; |
| 103 | + background: rgba(255, 255, 255, 0.96); |
| 104 | + cursor: pointer; |
| 105 | +} |
| 106 | + |
| 107 | +.menu-toggle span { |
| 108 | + display: block; |
| 109 | + width: 16px; |
| 110 | + height: 1.8px; |
| 111 | + border-radius: 999px; |
| 112 | + background: var(--ink); |
| 113 | + transition: transform 180ms ease, opacity 180ms ease; |
| 114 | +} |
| 115 | + |
68 | 116 | .site-header.is-condensed { |
69 | 117 | background: rgba(248, 251, 255, 0.94); |
70 | 118 | box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04); |
@@ -93,7 +141,104 @@ img { |
93 | 141 | .site-nav { |
94 | 142 | display: flex; |
95 | 143 | align-items: center; |
| 144 | + justify-content: center; |
96 | 145 | gap: 6px; |
| 146 | + width: auto; |
| 147 | +} |
| 148 | + |
| 149 | +.site-search { |
| 150 | + position: relative; |
| 151 | + width: min(100%, 280px); |
| 152 | + justify-self: end; |
| 153 | +} |
| 154 | + |
| 155 | +.search-input { |
| 156 | + width: 100%; |
| 157 | + min-height: 42px; |
| 158 | + padding: 0 14px; |
| 159 | + border: 1px solid rgba(199, 212, 229, 0.9); |
| 160 | + border-radius: 999px; |
| 161 | + background: rgba(255, 255, 255, 0.96); |
| 162 | + color: var(--ink); |
| 163 | + font: inherit; |
| 164 | + font-size: 0.94rem; |
| 165 | + transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease; |
| 166 | +} |
| 167 | + |
| 168 | +.search-input::placeholder { |
| 169 | + color: var(--muted); |
| 170 | +} |
| 171 | + |
| 172 | +.search-input:focus { |
| 173 | + outline: none; |
| 174 | + border-color: rgba(37, 99, 235, 0.38); |
| 175 | + box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12); |
| 176 | + background: #ffffff; |
| 177 | +} |
| 178 | + |
| 179 | +.search-results { |
| 180 | + position: absolute; |
| 181 | + top: calc(100% + 10px); |
| 182 | + right: 0; |
| 183 | + left: 0; |
| 184 | + width: 100%; |
| 185 | + padding: 14px; |
| 186 | + border: 1px solid var(--line); |
| 187 | + border-radius: 20px; |
| 188 | + background: rgba(255, 255, 255, 0.98); |
| 189 | + box-shadow: 0 22px 50px rgba(15, 23, 42, 0.14); |
| 190 | + backdrop-filter: blur(18px); |
| 191 | +} |
| 192 | + |
| 193 | +.search-helper { |
| 194 | + color: var(--muted); |
| 195 | + font-size: 0.88rem; |
| 196 | + line-height: 1.5; |
| 197 | +} |
| 198 | + |
| 199 | +.search-results-list { |
| 200 | + display: grid; |
| 201 | + gap: 8px; |
| 202 | + margin: 12px 0 0; |
| 203 | + padding: 0; |
| 204 | + list-style: none; |
| 205 | +} |
| 206 | + |
| 207 | +.search-result-item { |
| 208 | + display: grid; |
| 209 | + gap: 4px; |
| 210 | + padding: 12px 14px; |
| 211 | + border: 1px solid transparent; |
| 212 | + border-radius: 16px; |
| 213 | + background: var(--panel-soft); |
| 214 | + transition: border-color 180ms ease, background-color 180ms ease, transform 180ms ease; |
| 215 | +} |
| 216 | + |
| 217 | +.search-result-item:hover, |
| 218 | +.search-result-item:focus-visible { |
| 219 | + border-color: rgba(37, 99, 235, 0.18); |
| 220 | + background: #ffffff; |
| 221 | + transform: translateY(-1px); |
| 222 | +} |
| 223 | + |
| 224 | +.search-result-item strong { |
| 225 | + color: var(--ink); |
| 226 | + font-size: 0.95rem; |
| 227 | + line-height: 1.45; |
| 228 | +} |
| 229 | + |
| 230 | +.search-result-item span { |
| 231 | + color: var(--muted); |
| 232 | + font-size: 0.88rem; |
| 233 | + line-height: 1.55; |
| 234 | +} |
| 235 | + |
| 236 | +.search-result-meta { |
| 237 | + font-family: "JetBrains Mono", monospace; |
| 238 | + font-size: 0.76rem; |
| 239 | + letter-spacing: 0.04em; |
| 240 | + text-transform: uppercase; |
| 241 | + color: var(--accent); |
97 | 242 | } |
98 | 243 |
|
99 | 244 | .nav-link { |
@@ -165,6 +310,35 @@ img { |
165 | 310 | gap: 4px; |
166 | 311 | } |
167 | 312 |
|
| 313 | +.hero-copy h1, |
| 314 | +.blog-hero-copy h1, |
| 315 | +.hero-copy p, |
| 316 | +.blog-hero-copy p, |
| 317 | +.hero-support { |
| 318 | + max-width: none; |
| 319 | +} |
| 320 | + |
| 321 | +.hero-copy h1, |
| 322 | +.blog-hero-copy h1 { |
| 323 | + word-break: normal; |
| 324 | + overflow-wrap: break-word; |
| 325 | + text-wrap: pretty; |
| 326 | +} |
| 327 | + |
| 328 | +.hero-copy .intro-copy, |
| 329 | +.blog-hero-copy .intro-copy, |
| 330 | +.hero-support { |
| 331 | + max-width: 100%; |
| 332 | +} |
| 333 | + |
| 334 | +.hero-copy .intro-copy p, |
| 335 | +.blog-hero-copy .intro-copy p, |
| 336 | +.hero-support { |
| 337 | + word-break: normal; |
| 338 | + overflow-wrap: break-word; |
| 339 | + text-wrap: pretty; |
| 340 | +} |
| 341 | + |
168 | 342 | .hero-role { |
169 | 343 | color: var(--ink); |
170 | 344 | font-size: 0.96rem; |
|
263 | 437 | transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease, color 180ms ease; |
264 | 438 | } |
265 | 439 |
|
| 440 | +.sr-only { |
| 441 | + position: absolute; |
| 442 | + width: 1px; |
| 443 | + height: 1px; |
| 444 | + padding: 0; |
| 445 | + margin: -1px; |
| 446 | + overflow: hidden; |
| 447 | + clip: rect(0, 0, 0, 0); |
| 448 | + white-space: nowrap; |
| 449 | + border: 0; |
| 450 | +} |
| 451 | + |
266 | 452 | .button:hover, |
267 | 453 | .social-links a:hover, |
268 | 454 | .inline-link:hover { |
|
490 | 676 | padding: 28px; |
491 | 677 | } |
492 | 678 |
|
| 679 | +.contact-actions { |
| 680 | + align-items: center; |
| 681 | + justify-content: flex-end; |
| 682 | +} |
| 683 | + |
| 684 | +.contact-icon-button { |
| 685 | + position: relative; |
| 686 | + display: inline-flex; |
| 687 | + align-items: center; |
| 688 | + justify-content: center; |
| 689 | + width: 52px; |
| 690 | + height: 52px; |
| 691 | + border: 1px solid var(--line-strong); |
| 692 | + border-radius: 999px; |
| 693 | + background: rgba(255, 255, 255, 0.94); |
| 694 | + color: var(--ink); |
| 695 | + box-shadow: 0 12px 24px rgba(15, 23, 42, 0.06); |
| 696 | + transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease, color 180ms ease, box-shadow 180ms ease; |
| 697 | +} |
| 698 | + |
| 699 | +.contact-icon-button:hover, |
| 700 | +.contact-icon-button:focus-visible { |
| 701 | + transform: translateY(-2px); |
| 702 | + color: var(--accent); |
| 703 | + border-color: rgba(37, 99, 235, 0.28); |
| 704 | + background: var(--panel-soft); |
| 705 | + box-shadow: 0 16px 28px rgba(37, 99, 235, 0.14); |
| 706 | +} |
| 707 | + |
| 708 | +.contact-icon-button:focus-visible { |
| 709 | + outline: 2px solid rgba(37, 99, 235, 0.22); |
| 710 | + outline-offset: 3px; |
| 711 | +} |
| 712 | + |
| 713 | +.contact-icon-button svg { |
| 714 | + width: 22px; |
| 715 | + height: 22px; |
| 716 | +} |
| 717 | + |
| 718 | +.contact-icon-button[data-platform="email"] { |
| 719 | + background: var(--ink); |
| 720 | + color: #ffffff; |
| 721 | + border-color: var(--ink); |
| 722 | +} |
| 723 | + |
| 724 | +.contact-icon-button[data-platform="email"]:hover, |
| 725 | +.contact-icon-button[data-platform="email"]:focus-visible { |
| 726 | + color: #ffffff; |
| 727 | + background: #1e293b; |
| 728 | + border-color: #1e293b; |
| 729 | +} |
| 730 | + |
493 | 731 | .blog-side-panel { |
494 | 732 | display: grid; |
495 | 733 | gap: 14px; |
@@ -669,22 +907,79 @@ main.blog-layout:not(#top):not(#blog-home) .article-list { |
669 | 907 |
|
670 | 908 | .site-header { |
671 | 909 | position: static; |
672 | | - flex-direction: column; |
673 | | - align-items: flex-start; |
| 910 | + grid-template-columns: minmax(0, 1fr) auto; |
| 911 | + align-items: stretch; |
674 | 912 | border-radius: var(--radius-md); |
675 | 913 | transform: none; |
676 | 914 | opacity: 1; |
677 | 915 | pointer-events: auto; |
678 | 916 | } |
679 | 917 |
|
| 918 | + .site-brand { |
| 919 | + justify-self: start; |
| 920 | + padding-left: 4px; |
| 921 | + font-size: 1rem; |
| 922 | + } |
| 923 | + |
| 924 | + .menu-toggle { |
| 925 | + display: inline-flex; |
| 926 | + justify-self: end; |
| 927 | + flex-direction: column; |
| 928 | + } |
| 929 | + |
| 930 | + .site-header.is-menu-open .menu-toggle span:nth-child(1) { |
| 931 | + transform: translateY(5.8px) rotate(45deg); |
| 932 | + } |
| 933 | + |
| 934 | + .site-header.is-menu-open .menu-toggle span:nth-child(2) { |
| 935 | + opacity: 0; |
| 936 | + } |
| 937 | + |
| 938 | + .site-header.is-menu-open .menu-toggle span:nth-child(3) { |
| 939 | + transform: translateY(-5.8px) rotate(-45deg); |
| 940 | + } |
| 941 | + |
680 | 942 | .brand-logo { |
681 | 943 | width: 40px; |
682 | 944 | height: 40px; |
683 | 945 | } |
684 | 946 |
|
685 | 947 | .site-nav { |
| 948 | + display: none; |
| 949 | + width: 100%; |
| 950 | + grid-column: 1 / -1; |
| 951 | + flex-direction: column; |
| 952 | + align-items: stretch; |
| 953 | + gap: 8px; |
| 954 | + padding-top: 4px; |
| 955 | + } |
| 956 | + |
| 957 | + .site-header.is-menu-open .site-nav { |
| 958 | + display: flex; |
| 959 | + } |
| 960 | + |
| 961 | + .nav-link { |
| 962 | + width: 100%; |
| 963 | + justify-content: center; |
| 964 | + padding: 10px 12px; |
| 965 | + background: rgba(255, 255, 255, 0.9); |
| 966 | + } |
| 967 | + |
| 968 | + .site-search { |
| 969 | + display: none; |
| 970 | + width: 100%; |
| 971 | + justify-self: stretch; |
| 972 | + grid-column: 1 / -1; |
| 973 | + } |
| 974 | + |
| 975 | + .site-header.is-menu-open .site-search { |
| 976 | + display: block; |
| 977 | + } |
| 978 | + |
| 979 | + .search-results { |
| 980 | + position: static; |
686 | 981 | width: 100%; |
687 | | - flex-wrap: wrap; |
| 982 | + margin-top: 10px; |
688 | 983 | } |
689 | 984 |
|
690 | 985 | .nav-link { |
|
0 commit comments