|
142 | 142 | @media (max-width: 29.999rem) { .swarm__caption { display: none; } } |
143 | 143 | [aria-pressed="true"] > .icon-pause, [aria-pressed="false"] > .icon-play { display: none; } |
144 | 144 |
|
145 | | - /* ---------- Theme bento ---------- */ |
146 | | - .home-themes__grid { display: grid; gap: var(--space-s); } |
147 | | - @media (min-width: 36rem) { |
148 | | - .home-themes__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-m); } |
149 | | - .theme-card--lead { grid-column: span 2; } |
150 | | - } |
151 | | - @media (min-width: 62rem) { |
152 | | - .home-themes__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } |
| 145 | + /* ---------- Themes: illustration-led tiles (5 across on desktop, rows below) ---------- */ |
| 146 | + .home-themes__grid { |
| 147 | + display: grid; |
| 148 | + margin: 0; |
| 149 | + padding: 0; |
| 150 | + list-style: none; |
153 | 151 | } |
154 | | - |
155 | 152 | .theme-card { |
156 | 153 | position: relative; |
157 | | - display: flex; |
158 | | - flex-direction: column; |
159 | | - min-height: 13rem; |
160 | | - padding: var(--space-m); |
161 | | - border: var(--border-w) solid var(--border); |
162 | | - border-radius: var(--radius-l); |
163 | | - background: var(--surface); |
164 | | - transition: border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), |
165 | | - transform var(--dur-fast) var(--ease-out); |
| 154 | + display: grid; |
| 155 | + grid-template-columns: 6.5rem minmax(0, 1fr); |
| 156 | + column-gap: var(--space-m); |
| 157 | + align-content: center; |
| 158 | + padding-block: var(--space-s); |
| 159 | + } |
| 160 | + .theme-card + .theme-card { border-top: var(--border-w) solid var(--border); } |
| 161 | + .theme-card__frame { |
| 162 | + grid-row: span 2; |
| 163 | + align-self: center; |
| 164 | + padding: var(--space-2xs); |
| 165 | + border: var(--border-w) solid transparent; |
| 166 | + border-radius: var(--radius-m); |
| 167 | + background: var(--surface-2); |
| 168 | + color: var(--text-faint); |
| 169 | + transition: background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out); |
166 | 170 | } |
167 | | - .theme-card:hover { border-color: var(--border-strong); box-shadow: var(--shadow-2); transform: translateY(-2px); } |
168 | | - .theme-card:focus-within { border-color: var(--accent); } |
169 | | - .theme-card .eyebrow { color: var(--text-muted); } |
| 171 | + .theme-card__art { display: block; width: 100%; height: auto; } |
170 | 172 | .theme-card__title { |
171 | | - margin: 0 0 var(--space-2xs); |
172 | | - max-width: 18em; |
| 173 | + align-self: end; |
| 174 | + margin: 0; |
173 | 175 | font-family: var(--font-serif); |
174 | 176 | font-weight: var(--weight-regular); |
175 | | - font-size: var(--step-2); |
176 | | - line-height: 1.12; |
| 177 | + font-size: var(--step-1); |
| 178 | + line-height: 1.15; |
177 | 179 | letter-spacing: -0.01em; |
| 180 | + text-wrap: balance; |
178 | 181 | } |
179 | 182 | .theme-card__title a { color: var(--text); text-decoration: none; } |
180 | | - .theme-card__title a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; } |
| 183 | + .theme-card__title a::after { content: ""; position: absolute; inset: 0; } |
181 | 184 | .theme-card__title a:focus-visible { outline: none; } |
182 | | - .theme-card__text { max-width: 28em; margin: 0 0 var(--space-m); color: var(--text-2); font-size: var(--step-0); } |
183 | | - .theme-card__go { |
184 | | - display: inline-flex; |
185 | | - align-items: center; |
186 | | - gap: 0.4em; |
187 | | - margin-top: auto; |
188 | | - font-size: var(--step--1); |
189 | | - font-weight: var(--weight-medium); |
190 | | - color: var(--accent-text); |
191 | | - } |
192 | | - .theme-card__go .icon { transition: transform var(--dur-fast) var(--ease-out); } |
193 | | - .theme-card:hover .theme-card__go .icon { transform: translateX(3px); } |
| 185 | + .theme-card__text { align-self: start; margin: var(--space-3xs) 0 0; color: var(--text-muted); font-size: var(--step--1); } |
| 186 | + |
| 187 | + .theme-card:hover .theme-card__frame { background: var(--accent-tint); } |
| 188 | + .theme-card:hover .theme-card__title a { color: var(--accent-text); } |
| 189 | + .theme-card:focus-within .theme-card__frame { background: var(--accent-tint); outline: 2px solid var(--accent); outline-offset: 2px; } |
| 190 | + .theme-card:focus-within .theme-card__title a { text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: 0.15em; } |
194 | 191 |
|
195 | | - .theme-card--lead { |
196 | | - background: linear-gradient(120deg, var(--surface) 45%, var(--accent-tint) 140%); |
197 | | - border-color: var(--accent-tint-2); |
| 192 | + @media (min-width: 36rem) { |
| 193 | + .theme-card { grid-template-columns: 9rem minmax(0, 1fr); column-gap: var(--space-l); } |
198 | 194 | } |
199 | | - .theme-card--lead .theme-card__title { font-size: var(--step-3); } |
200 | | - .theme-card--lead .eyebrow { color: var(--accent-text); } |
201 | | - .theme-card__art { |
202 | | - position: absolute; |
203 | | - right: var(--space-m); |
204 | | - bottom: var(--space-m); |
205 | | - width: min(42%, 16rem); |
206 | | - color: var(--text-faint); |
207 | | - pointer-events: none; |
| 195 | + @media (min-width: 75rem) { |
| 196 | + .home-themes__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--space-l); } |
| 197 | + .theme-card { grid-template-columns: none; align-content: start; padding: 0; } |
| 198 | + .theme-card + .theme-card { border-top: 0; } |
| 199 | + .theme-card__frame { grid-row: auto; margin-bottom: var(--space-s); padding: var(--space-s); border-radius: var(--radius-l); } |
| 200 | + .theme-card__title { min-height: 2.3em; } /* two lines at line-height 1.15, so headlines align */ |
| 201 | + } |
| 202 | + @media (max-width: 35.999rem) { |
| 203 | + .theme-card__text { display: none; } |
| 204 | + .theme-card__frame { grid-row: auto; } |
| 205 | + .theme-card__title { align-self: center; } |
208 | 206 | } |
209 | | - @media (max-width: 35.999rem) { .theme-card__art { display: none; } } |
210 | 207 |
|
211 | 208 | /* ---------- News list (shared with /news/) ---------- */ |
212 | 209 | .news-list { margin: 0; padding: 0; list-style: none; } |
|
247 | 244 | .news-item { grid-template-columns: 1fr; gap: 0; } |
248 | 245 | } |
249 | 246 |
|
250 | | - /* ---------- News + selected publications ---------- */ |
251 | | - .home-split__grid { display: grid; gap: var(--space-2xl); } |
252 | | - @media (min-width: 64rem) { |
253 | | - .home-split__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-2xl); } |
254 | | - } |
255 | | - .pubs-selected h3, .pubs-selected > h2 { display: none; } |
256 | | - .pubs-selected ul, .pubs-selected ol { list-style: none; margin: 0; padding: 0; } |
257 | | - /* jekyll-scholar emits a duplicate class attribute here, so .pub-list never applies: space the entries explicitly. */ |
258 | | - .pubs-selected ul > li { padding: var(--space-s) 0; border-bottom: var(--border-w) solid var(--border); } |
259 | | - .pubs-selected ul > li:first-child { padding-top: 0; } |
260 | | - .pubs-selected ul > li:last-child { border-bottom: 0; } |
261 | | - |
262 | 247 | /* ---------- Lab life ticker ---------- */ |
263 | 248 | .section--band { background: var(--surface-2); border-block: var(--border-w) solid var(--border); } |
264 | 249 | .home-life__actions { display: flex; align-items: center; gap: var(--space-m); } |
|
0 commit comments