88 --su-cyan : # 22d3ee;
99 --su-ink : # 0f1020;
1010 --su-grey : # 9aa0b4;
11+
12+ /* Width of the centered reading column on the landing page. */
13+ --su-page : 1080px ;
1114}
1215
1316/* Brand accent on the modern template */
@@ -29,14 +32,23 @@ body { font-feature-settings: "ss01", "cv01"; }
2932# logo { height : 1.9rem ; width : auto; }
3033[data-bs-theme = "dark" ] # logo { filter : invert ( 1 ) hue-rotate ( 180deg ) brightness ( 1.1 ) ; }
3134
32- /* Make the home page full-width (no article gutters) */
33- article [data-uid = "" ] . container ,
34- . landing article { max-width : none; }
35+ /* ------------------------------------------------------- Landing layout */
36+ /* The modern template lets the landing article fill the whole 1320px
37+ container, which looks stretched on wide monitors. Center it in a
38+ comfortable reading column instead, and let the hero bleed to that
39+ column's edges. */
40+ . landing main . container-xxl { max-width : 100% ; }
41+ . landing article [data-uid = "" ] {
42+ max-width : var ( --su-page ) ;
43+ margin-inline : auto;
44+ padding-inline : clamp ( 1rem , 4vw , 2rem ) ;
45+ }
3546
3647/* ----------------------------------------------------------------- Hero */
3748. hero {
38- margin : -1.5rem -1rem 2.5rem ;
39- padding : 5rem 1.5rem 5.5rem ;
49+ /* Pull out to the padding edges of the centered column for a full-bleed feel. */
50+ margin : -1.5rem clamp ( -2rem , -4vw , -1rem ) 3rem ;
51+ padding : clamp ( 3rem , 8vw , 5.5rem ) 1.5rem ;
4052 text-align : center;
4153 color : # fff;
4254 background :
@@ -57,9 +69,9 @@ article[data-uid=""] .container,
5769 mask-image : radial-gradient ( 70% 70% at 50% 30% , # 000 30% , transparent 75% ) ;
5870 pointer-events : none;
5971}
60- . hero-inner { position : relative; z-index : 1 ; max-width : 880 px ; margin : 0 auto; }
72+ . hero-inner { position : relative; z-index : 1 ; max-width : 760 px ; margin : 0 auto; }
6173. hero-title {
62- font-size : clamp ( 3 rem , 9vw , 5. 5rem ) ;
74+ font-size : clamp ( 2.6 rem , 9vw , 5rem ) ;
6375 font-weight : 800 ;
6476 letter-spacing : -.03em ;
6577 margin : 0 ;
@@ -70,9 +82,9 @@ article[data-uid=""] .container,
7082 -webkit-text-fill-color : transparent;
7183}
7284. hero-tagline {
73- font-size : clamp ( 1.05rem , 2.2vw , 1.4 rem ) ;
85+ font-size : clamp ( 1.05rem , 2.2vw , 1.35 rem ) ;
7486 color : # cdd0e6;
75- max-width : 720 px ;
87+ max-width : 660 px ;
7688 margin : 1.4rem auto 2.2rem ;
7789 line-height : 1.5 ;
7890}
@@ -108,7 +120,6 @@ article[data-uid=""] .container,
108120 gap : 1rem ;
109121 margin : 0 0 3rem ;
110122}
111- @media ( max-width : 760px ) { . stat-row { grid-template-columns : repeat ( 2 , 1fr ) ; } }
112123. stat-card {
113124 text-align : center;
114125 padding : 1.5rem 1rem ;
@@ -117,7 +128,7 @@ article[data-uid=""] .container,
117128 background : var ( --bs-tertiary-bg ) ;
118129}
119130. stat-num {
120- font-size : 2.4rem ;
131+ font-size : clamp ( 1.9 rem , 6 vw , 2.4rem ) ;
121132 font-weight : 800 ;
122133 letter-spacing : -.02em ;
123134 background : linear-gradient ( 135deg , var ( --su-purple ) 0% , var ( --su-cyan ) 100% ) ;
@@ -134,7 +145,6 @@ article[data-uid=""] .container,
134145 gap : 1.1rem ;
135146 margin : 1.5rem 0 1rem ;
136147}
137- @media ( max-width : 760px ) { . feature-grid { grid-template-columns : 1fr ; } }
138148. feature {
139149 padding : 1.5rem ;
140150 border-radius : 16px ;
@@ -151,12 +161,13 @@ article[data-uid=""] .container,
151161. bench { margin : 1.5rem 0 ; display : flex; flex-direction : column; gap : .6rem ; }
152162. bench-row { display : grid; grid-template-columns : 130px 1fr 52px ; align-items : center; gap : .8rem ; }
153163. bench-name { font-size : .85rem ; color : var ( --bs-secondary-color ) ; text-align : right; }
154- . bench-bars { display : flex; flex-direction : column; gap : 3px ; }
164+ . bench-bars { display : flex; flex-direction : column; gap : 3px ; min-width : 0 ; }
155165. bar {
156166 height : 18px ;
157167 border-radius : 5px ;
158168 width : var ( --v ) ;
159169 min-width : 2.4rem ;
170+ max-width : 100% ;
160171 display : flex;
161172 align-items : center;
162173 justify-content : flex-end;
@@ -174,5 +185,31 @@ article[data-uid=""] .container,
174185. bench-note { color : var ( --bs-secondary-color ) ; font-size : .92rem ; margin-top : .4rem ; }
175186
176187/* ----------------------------------------------------- Misc polish */
177- h2 { margin-top : 2.4rem ; }
178- . landing h2 { scroll-margin-top : 5rem ; }
188+ . landing h2 { margin-top : 2.6rem ; scroll-margin-top : 5rem ; }
189+ /* Keep long-form prose on the landing page comfortable to read. */
190+ . landing article > p ,
191+ . landing article > ul ,
192+ . landing article > ol ,
193+ . landing article > blockquote { max-width : 70ch ; }
194+
195+ /* ------------------------------------------------------------- Responsive */
196+ @media ( max-width : 760px ) {
197+ . stat-row { grid-template-columns : repeat ( 2 , 1fr ) ; }
198+ . feature-grid { grid-template-columns : 1fr ; }
199+ . hero-cta . btn { width : 100% ; max-width : 320px ; }
200+ }
201+ @media ( max-width : 520px ) {
202+ . stat-row { grid-template-columns : 1fr 1fr ; gap : .7rem ; }
203+ . stat-card { padding : 1.1rem .75rem ; }
204+ /* Stack each benchmark's label above its bars so nothing is cramped. */
205+ . bench-row {
206+ grid-template-columns : 1fr auto;
207+ grid-template-areas :
208+ "name x"
209+ "bars bars" ;
210+ row-gap : .25rem ;
211+ }
212+ . bench-name { grid-area : name; text-align : left; }
213+ . bench-x { grid-area : x; text-align : right; }
214+ . bench-bars { grid-area : bars; }
215+ }
0 commit comments