@scalemule/news-publication 0.0.52 → 0.0.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/pets.css CHANGED
@@ -1,33 +1,47 @@
1
+ @font-face {
2
+ font-family: "Paw DM Sans";
3
+ src: url("./fonts/paw-dmsans.woff2") format("woff2");
4
+ font-style: normal;
5
+ font-weight: 100 1000;
6
+ font-display: swap;
7
+ }
8
+ /* Pet journal. Scoped tokens preserve the host publication’s identity. */
1
9
  .paw {
2
- --paw-bg: #f8f3e9;
3
- --paw-ink: #12314e;
4
- --paw-muted: #52675e;
5
- --paw-blue: #12314e;
6
- --paw-green: #e2e9dd;
7
- --paw-leaf: #356b4d;
8
- --paw-line: #cbd3c5;
9
- --paw-sun: #efc563;
10
- --paw-terracotta: #cd8065;
11
- --paw-art-sky: #c5ddd6;
12
- --paw-art-hill: #a9c4ac;
13
- --paw-art-ground: #dce4c7;
14
- --paw-art-cat: #f3e4bd;
15
- --paw-art-line: #254b3b;
10
+ --paw-bg: #ffffff;
11
+ --paw-paper: #fff;
12
+ --paw-ink: #18382e;
13
+ --paw-muted: #52635a;
14
+ --paw-blue: #18382e;
15
+ --paw-green: #eff3ee;
16
+ --paw-leaf: #426858;
17
+ --paw-line: #d7e0d7;
18
+ --paw-sky: #eff3ee;
19
+ --paw-art-sky: #c5e4ed;
20
+ --paw-art-hill: #8fb8a3;
21
+ --paw-art-ground: #c2d9a0;
22
+ --paw-logo-ink: var(--paw-ink);
23
+ --paw-logo-heart: #e67b60;
24
+ --paw-heading: "Paw DM Sans", "Avenir Next", sans-serif;
25
+ --paw-body: "Paw DM Sans", "Avenir Next", "Segoe UI", sans-serif;
16
26
  color: var(--paw-ink);
17
27
  background: var(--paw-bg);
18
- font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif;
19
- font-size: 17px;
20
- line-height: 1.65;
21
- max-width: 1240px;
28
+ font: 400 17px/1.65 var(--paw-body);
29
+ display: flow-root;
30
+ max-width: 1600px;
22
31
  margin: auto;
23
- padding: 0 clamp(20px, 5vw, 64px);
32
+ padding: 0 clamp(20px, 4.5vw, 64px);
33
+ -webkit-font-smoothing: antialiased;
34
+ overflow-wrap: break-word;
24
35
  }
25
- .paw * {
36
+ .paw *,
37
+ .paw *::before,
38
+ .paw *::after {
26
39
  box-sizing: border-box;
27
40
  }
28
41
  .paw a {
29
42
  color: inherit;
30
- text-underline-offset: 4px;
43
+ text-underline-offset: 5px;
44
+ text-decoration-thickness: 1px;
31
45
  }
32
46
  .paw a:hover {
33
47
  text-decoration-thickness: 2px;
@@ -39,22 +53,22 @@
39
53
  .paw h1,
40
54
  .paw h2,
41
55
  .paw h3 {
42
- font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
43
- font-weight: 500;
56
+ font-family: var(--paw-heading);
57
+ font-weight: 600;
44
58
  line-height: 1.08;
45
- letter-spacing: -0.035em;
59
+ letter-spacing: -0.045em;
46
60
  text-wrap: balance;
47
61
  }
48
62
  .paw h1 {
49
- font-size: clamp(42px, 6.2vw, 76px);
63
+ font-size: clamp(40px, 5.8vw, 76px);
50
64
  margin: 0 0 24px;
51
65
  }
52
66
  .paw h2 {
53
- font-size: clamp(30px, 3.5vw, 46px);
67
+ font-size: clamp(30px, 3.5vw, 48px);
54
68
  margin: 0;
55
69
  }
56
70
  .paw h3 {
57
- font-size: 28px;
71
+ font-size: 27px;
58
72
  margin: 10px 0;
59
73
  }
60
74
  .paw p {
@@ -63,214 +77,297 @@
63
77
  .paw small {
64
78
  display: block;
65
79
  font-size: 13px;
80
+ line-height: 1.65;
66
81
  }
67
- .paw-masthead {
68
- display: flex;
69
- align-items: center;
70
- gap: 24px;
71
- padding: 28px 0;
82
+ .paw a,
83
+ .paw button {
84
+ -webkit-tap-highlight-color: transparent;
85
+ }
86
+ .paw-mark {
87
+ display: block;
88
+ flex: 0 0 auto;
72
89
  }
73
90
  .paw-brand {
74
- display: flex;
91
+ display: inline-flex;
75
92
  align-items: center;
76
- gap: 12px;
77
- font-size: 26px;
78
- font-weight: 750;
79
- letter-spacing: -1px;
93
+ gap: 11px;
94
+ font: 750 clamp(22px, 2.3vw, 30px) / 1 var(--paw-heading);
95
+ letter-spacing: -1.1px;
80
96
  text-decoration: none;
81
97
  white-space: nowrap;
82
98
  }
99
+ .paw-masthead {
100
+ display: flex;
101
+ align-items: center;
102
+ gap: 26px;
103
+ padding: 29px 0 24px;
104
+ }
83
105
  .paw-masthead > p {
84
106
  font-size: 13px;
85
107
  color: var(--paw-muted);
86
108
  flex: 1;
109
+ margin: 0;
110
+ }
111
+ .paw-masthead > a:not(.paw-brand) {
112
+ white-space: nowrap;
113
+ font-size: 14px;
114
+ min-height: 44px;
115
+ display: inline-flex;
116
+ align-items: center;
87
117
  }
88
118
  .paw .paw-button,
89
119
  .paw button {
90
120
  display: inline-flex;
91
121
  align-items: center;
92
122
  justify-content: center;
93
- min-height: 46px;
123
+ min-height: 48px;
94
124
  background: var(--paw-blue);
95
125
  color: var(--paw-bg);
96
126
  border: 1px solid transparent;
97
- padding: 10px 22px;
127
+ padding: 13px 25px;
98
128
  border-radius: 100px;
99
- font:
100
- 600 14px/1.3 "Avenir Next",
101
- Avenir,
102
- "Segoe UI",
103
- sans-serif;
129
+ font: 600 15px/1.3 var(--paw-body);
104
130
  text-decoration: none;
105
131
  cursor: pointer;
132
+ transition:
133
+ transform 0.16s,
134
+ box-shadow 0.16s;
135
+ }
136
+ .paw .paw-button:hover,
137
+ .paw button:hover {
138
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--paw-blue) 14%, transparent);
139
+ }
140
+ .paw .paw-button:active,
141
+ .paw button:active {
142
+ transform: translateY(1px);
106
143
  }
107
144
  .paw button:disabled {
108
- opacity: 0.55;
145
+ opacity: 0.6;
109
146
  cursor: wait;
110
147
  }
148
+ .paw .paw-text-link {
149
+ display: inline-flex;
150
+ align-items: center;
151
+ min-height: 44px;
152
+ font-size: 15px;
153
+ font-weight: 600;
154
+ }
111
155
  .paw-nav {
112
156
  display: flex;
113
- gap: clamp(16px, 3vw, 38px);
157
+ justify-content: space-between;
158
+ gap: 20px;
114
159
  border-block: 1px solid var(--paw-line);
115
- padding: 14px 0;
116
- overflow: auto;
117
- white-space: nowrap;
118
160
  font-size: 14px;
119
161
  }
120
162
  .paw-nav a {
163
+ display: inline-flex;
164
+ align-items: center;
165
+ min-height: 48px;
121
166
  text-decoration: none;
122
167
  }
168
+ .paw-nav a:hover {
169
+ text-decoration: underline;
170
+ }
171
+ .paw-mobile-nav {
172
+ display: none;
173
+ }
123
174
  .paw-community {
124
175
  display: flex;
125
176
  align-items: center;
126
177
  justify-content: space-between;
127
178
  gap: 16px;
128
- margin: 22px 0 30px;
129
- font-size: 14px;
179
+ padding: 18px 0;
180
+ font-size: 13px;
130
181
  }
131
182
  .paw-community > p {
132
183
  color: var(--paw-muted);
184
+ margin: 0;
185
+ display: flex;
186
+ align-items: center;
187
+ gap: 9px;
188
+ }
189
+ .paw-location-dot {
190
+ width: 8px;
191
+ height: 8px;
192
+ border: 2px solid var(--paw-leaf);
193
+ border-radius: 100%;
194
+ box-shadow: 0 0 0 4px color-mix(in srgb, var(--paw-leaf) 9%, transparent);
195
+ flex: none;
133
196
  }
134
197
  .paw-community form {
135
198
  display: flex;
136
199
  align-items: center;
137
200
  gap: 10px;
138
201
  }
202
+ .paw-community label {
203
+ font-size: 12px;
204
+ }
205
+ .paw-community select {
206
+ max-width: 195px;
207
+ }
208
+ .paw-community button {
209
+ padding: 8px 16px;
210
+ min-height: 44px;
211
+ font-size: 13px;
212
+ }
213
+ .paw form {
214
+ min-width: 0;
215
+ }
139
216
  .paw select,
140
217
  .paw input,
141
218
  .paw textarea {
142
219
  font: inherit;
143
220
  color: var(--paw-ink);
144
- background: var(--paw-bg);
221
+ background: var(--paw-paper);
145
222
  border: 1px solid var(--paw-line);
146
- border-radius: 8px;
147
- padding: 10px;
148
- min-height: 44px;
223
+ border-radius: 10px;
224
+ padding: 11px 13px;
225
+ min-height: 48px;
149
226
  max-width: 100%;
150
227
  }
151
- .paw-community label {
152
- font-size: 12px;
153
- }
154
228
  .paw-community select {
155
- max-width: 190px;
156
- }
157
- .paw-community button {
158
- padding: 8px 15px;
229
+ font-size: 14px;
159
230
  min-height: 44px;
160
231
  }
161
- .paw-welcome {
232
+ .paw-shortcuts {
162
233
  display: grid;
163
- grid-template-columns: 1.4fr 1fr;
164
- gap: 30px;
234
+ grid-template-columns: repeat(3, minmax(0, 1fr));
235
+ gap: 34px;
236
+ padding: 30px 0 36px;
237
+ border-bottom: 1px solid var(--paw-line);
238
+ }
239
+ .paw-shortcuts > a {
240
+ display: grid;
241
+ grid-template-columns: 1fr auto;
165
242
  align-items: center;
166
- padding: 38px 0 64px;
243
+ column-gap: 10px;
244
+ text-decoration: none;
245
+ padding: 0 10px;
246
+ min-height: 58px;
167
247
  }
168
- .paw-welcome p {
169
- font-size: 20px;
170
- color: var(--paw-muted);
171
- max-width: 40ch;
172
- margin: 0 0 28px;
248
+ .paw-shortcuts > a + a {
249
+ border-left: 1px solid var(--paw-line);
250
+ padding-left: 28px;
173
251
  }
174
- .paw-welcome small {
175
- margin-top: 15px;
252
+ .paw-shortcuts span:first-child {
253
+ font-size: 12px;
176
254
  color: var(--paw-muted);
177
255
  }
178
- .paw-emblem {
179
- background: var(--paw-green);
180
- border-radius: 48% 48% 32% 38%;
181
- aspect-ratio: 1;
182
- display: flex;
183
- flex-direction: column;
184
- align-items: center;
185
- justify-content: center;
186
- gap: 20px;
187
- max-width: 390px;
188
- color: var(--paw-leaf);
189
- transform: rotate(3deg);
256
+ .paw-shortcuts strong {
257
+ font: 550 clamp(17px, 1.7vw, 22px) / 1.3 var(--paw-heading);
258
+ letter-spacing: -0.02em;
190
259
  }
191
- .paw-emblem span {
192
- text-align: center;
193
- font-size: 19px;
194
- line-height: 1.4;
260
+ .paw-shortcuts span:last-child {
261
+ grid-column: 2;
262
+ grid-row: 1/3;
263
+ font-size: 23px;
264
+ transition: transform 0.16s;
195
265
  }
196
- .paw-spotlight {
266
+ .paw-shortcuts a:hover span:last-child {
267
+ transform: translate(2px, -2px);
268
+ }
269
+ .paw-week-invitation {
197
270
  display: grid;
198
- grid-template-columns: 1.3fr 1fr;
199
- gap: 42px;
271
+ grid-template-columns: 0.82fr 1fr;
272
+ gap: 7%;
200
273
  align-items: center;
201
- margin-bottom: 40px;
202
- }
203
- .paw-spotlight-copy h2 {
204
- font-size: clamp(40px, 5vw, 66px);
205
- margin: 14px 0 22px;
206
- }
207
- .paw-spotlight-copy > p:not(.paw-context):not(.paw-credit) {
208
- font-size: 19px;
274
+ padding: 64px 5% 70px;
209
275
  }
210
- .paw-photo {
211
- margin: 0;
276
+ .paw-invitation-art {
277
+ max-width: 370px;
278
+ width: 100%;
279
+ justify-self: center;
212
280
  }
213
- .paw-photo img {
281
+ .paw-invitation-art svg {
214
282
  display: block;
215
283
  width: 100%;
216
284
  height: auto;
217
- aspect-ratio: 4/3;
218
- object-fit: cover;
219
- border-radius: 16px;
220
285
  }
221
- .paw-photo figcaption {
222
- font-size: 11px;
286
+ .paw-week-invitation h2 {
287
+ font-size: clamp(32px, 3.7vw, 51px);
288
+ }
289
+ .paw-week-invitation p:not(.paw-context) {
290
+ font-size: 16px;
223
291
  color: var(--paw-muted);
224
- margin: 6px 0;
292
+ max-width: 40ch;
293
+ margin: 20px 0 24px;
225
294
  }
226
- .paw-photo-empty {
227
- aspect-ratio: 4/3;
228
- background: var(--paw-green);
229
- color: var(--paw-leaf);
230
- display: flex;
231
- align-items: center;
232
- justify-content: center;
233
- gap: 14px;
234
- flex-direction: column;
235
- border-radius: 16px;
236
- font-size: 13px;
295
+ .paw-week-invitation small {
296
+ color: var(--paw-muted);
297
+ margin: 14px 0 0;
237
298
  }
238
299
  .paw-context,
239
- .paw-credit,
240
- .paw-safety {
300
+ .paw-credit {
241
301
  font-size: 13px;
242
302
  color: var(--paw-muted);
303
+ margin: 0 0 12px;
243
304
  }
244
305
  .paw-context {
245
- margin: 16px 0 8px;
306
+ font-weight: 600;
307
+ letter-spacing: 0;
308
+ text-transform: none;
246
309
  }
247
310
  .paw-credit {
248
- margin-top: 18px;
311
+ font-weight: 400;
312
+ margin: 12px 0;
313
+ }
314
+ .paw-eyebrow {
315
+ font-size: 14px;
316
+ color: var(--paw-muted);
317
+ margin: 0 0 22px;
249
318
  }
250
319
  .paw-section {
251
320
  padding: 48px 0;
252
321
  border-top: 1px solid var(--paw-line);
253
- scroll-margin-top: 20px;
322
+ scroll-margin-top: 24px;
254
323
  }
255
324
  .paw-section-heading {
256
325
  display: flex;
257
- align-items: baseline;
326
+ align-items: end;
258
327
  justify-content: space-between;
259
- gap: 24px;
260
- margin-bottom: 26px;
328
+ gap: 28px;
329
+ margin-bottom: 28px;
261
330
  }
262
331
  .paw-section-heading h2 {
263
- max-width: 20ch;
332
+ max-width: 19ch;
264
333
  }
265
334
  .paw-section-heading p {
266
335
  font-size: 14px;
267
336
  color: var(--paw-muted);
268
337
  max-width: 30ch;
338
+ margin: 0;
339
+ }
340
+ .paw-board-invitation {
341
+ display: flex;
342
+ align-items: center;
343
+ gap: 24px;
344
+ background: var(--paw-paper);
345
+ border-radius: 16px;
346
+ padding: 30px;
347
+ margin: 18px 0;
348
+ }
349
+ .paw-board-invitation h3 {
350
+ font-size: 24px;
351
+ margin: 0 0 7px;
352
+ }
353
+ .paw-board-invitation p {
354
+ font-size: 14px;
355
+ margin: 0;
356
+ color: var(--paw-muted);
357
+ max-width: 48ch;
358
+ }
359
+ .paw-board-invitation > .paw-text-link {
360
+ margin-left: auto;
361
+ flex-shrink: 0;
269
362
  }
270
363
  .paw-gallery {
271
364
  display: grid;
272
365
  grid-template-columns: repeat(3, minmax(0, 1fr));
273
- gap: 32px;
366
+ gap: 30px;
367
+ margin-bottom: 26px;
368
+ }
369
+ .paw-resource {
370
+ min-width: 0;
274
371
  }
275
372
  .paw-resource-copy > p:not(.paw-context):not(.paw-credit) {
276
373
  font-size: 15px;
@@ -282,18 +379,96 @@
282
379
  .paw-resource h3 a {
283
380
  text-decoration: none;
284
381
  }
382
+ .paw-resource h3 a:hover {
383
+ text-decoration: underline;
384
+ }
385
+ .paw-photo {
386
+ margin: 0;
387
+ }
388
+ .paw-photo img {
389
+ display: block;
390
+ width: 100%;
391
+ height: auto;
392
+ aspect-ratio: 4/3;
393
+ object-fit: cover;
394
+ border-radius: 14px;
395
+ }
396
+ .paw-photo figcaption {
397
+ font-size: 12px;
398
+ color: var(--paw-muted);
399
+ margin-top: 8px;
400
+ }
401
+ .paw-photo-empty {
402
+ display: flex;
403
+ align-items: center;
404
+ justify-content: center;
405
+ aspect-ratio: 4/3;
406
+ background: var(--paw-green);
407
+ border-radius: 14px;
408
+ }
409
+ .paw picture {
410
+ display: block;
411
+ }
412
+ .paw-spotlight {
413
+ display: grid;
414
+ grid-template-columns: 1.3fr 1fr;
415
+ gap: 42px;
416
+ align-items: center;
417
+ padding: 28px 0 42px;
418
+ }
419
+ .paw-spotlight-copy h1,
420
+ .paw-spotlight-copy h2 {
421
+ font-size: clamp(38px, 5vw, 64px);
422
+ margin: 14px 0 22px;
423
+ }
424
+ .paw-spotlight-copy > p:not(.paw-context):not(.paw-credit) {
425
+ font-size: 19px;
426
+ }
427
+ .paw-notice {
428
+ border-top: 3px solid var(--paw-leaf);
429
+ padding-top: 16px;
430
+ }
285
431
  .paw-recovery {
286
432
  background: var(--paw-green);
287
- padding: 34px;
288
- border-radius: 18px;
433
+ padding: 38px;
434
+ border-radius: 24px;
289
435
  border: 0;
290
- margin: 16px 0 48px;
436
+ margin: 20px 0 52px;
437
+ }
438
+ .paw-recovery > .paw-safety {
439
+ max-width: 79ch;
440
+ }
441
+ .paw-safety {
442
+ font-size: 13px;
443
+ color: var(--paw-muted);
444
+ line-height: 1.75;
291
445
  }
292
446
  .paw-empty {
293
- padding: 20px 0;
447
+ padding: 14px 0;
294
448
  color: var(--paw-muted);
295
449
  }
450
+ .paw-discover-pair {
451
+ display: grid;
452
+ grid-template-columns: 1fr 1fr;
453
+ gap: 7%;
454
+ }
455
+ .paw-discover-pair .paw-section-heading {
456
+ display: block;
457
+ }
458
+ .paw-discover-pair .paw-section-heading p {
459
+ max-width: 40ch;
460
+ margin-top: 18px;
461
+ }
462
+ .paw-discover-pair .paw-gallery {
463
+ grid-template-columns: 1fr;
464
+ }
465
+ .paw-discover-pair .paw-empty {
466
+ font-size: 15px;
467
+ padding: 0;
468
+ margin-bottom: 22px;
469
+ }
296
470
  .paw-memorial {
471
+ --paw-heading: "Iowan Old Style", Palatino, Georgia, serif;
297
472
  --paw-green: #e5e7e8;
298
473
  --paw-leaf: #48545b;
299
474
  }
@@ -305,6 +480,7 @@
305
480
  }
306
481
  .paw-source a {
307
482
  display: block;
483
+ min-height: 44px;
308
484
  }
309
485
  .paw-sponsor {
310
486
  padding: 20px 0;
@@ -312,54 +488,166 @@
312
488
  font-size: 14px;
313
489
  }
314
490
  .paw-sponsor > p {
315
- font-size: 11px;
491
+ font-size: 12px;
316
492
  color: var(--paw-muted);
317
493
  }
494
+ .paw-sponsor .sm-sponsorship {
495
+ display: flex;
496
+ justify-content: space-between;
497
+ gap: 20px;
498
+ align-items: center;
499
+ }
500
+ .paw-sponsor .sm-sponsorship-logo {
501
+ max-width: 100px;
502
+ max-height: 64px;
503
+ object-fit: contain;
504
+ }
505
+ .paw-sponsor .sm-sponsorship-label {
506
+ font-size: 12px;
507
+ }
508
+ .paw-sponsor .sm-sponsorship-name {
509
+ font-weight: 700;
510
+ }
511
+ .paw-sponsor .sm-sponsorship-sr {
512
+ position: absolute;
513
+ width: 1px;
514
+ height: 1px;
515
+ overflow: hidden;
516
+ clip-path: inset(50%);
517
+ }
318
518
  .paw-footer {
319
519
  display: flex;
320
520
  align-items: center;
321
- gap: 15px;
521
+ justify-content: space-between;
522
+ gap: 28px;
322
523
  border-top: 1px solid var(--paw-line);
323
- margin-top: 45px;
324
- padding: 26px 0;
325
- font-size: 12px;
524
+ margin-top: 40px;
525
+ padding: 38px 0 48px;
526
+ font-size: 13px;
326
527
  color: var(--paw-muted);
327
528
  }
328
- .paw-form {
329
- max-width: 700px;
330
- margin: 30px auto 60px;
529
+ .paw-footer .paw-brand {
530
+ font-size: 24px;
531
+ color: var(--paw-ink);
331
532
  }
332
- .paw-form label {
333
- display: grid;
334
- gap: 6px;
335
- margin: 18px 0;
533
+ .paw-footer p {
534
+ margin: 12px 0 0;
535
+ max-width: 42ch;
336
536
  }
337
- .paw-form textarea {
338
- min-height: 150px;
339
- resize: vertical;
537
+ .paw-footer > .paw-text-link {
538
+ white-space: nowrap;
539
+ font-size: 13px;
340
540
  }
341
- .paw-form fieldset {
342
- border: 0;
343
- padding: 0;
344
- margin: 24px 0;
541
+ .paw-page-heading {
542
+ display: flex;
543
+ justify-content: space-between;
544
+ align-items: center;
545
+ gap: 20px;
546
+ padding: 24px 0;
547
+ border-bottom: 1px solid var(--paw-line);
548
+ }
549
+ .paw-page-heading .paw-form-actions {
550
+ margin: 0;
551
+ align-items: center;
552
+ }
553
+ .paw-page-heading a:not(.paw-brand) {
554
+ display: inline-flex;
555
+ align-items: center;
556
+ min-height: 44px;
557
+ }
558
+ .paw-story {
559
+ max-width: 800px;
560
+ margin: 0 auto;
561
+ padding: clamp(36px, 6vw, 72px) 0;
562
+ }
563
+ .paw-story > h1 {
564
+ margin-bottom: 28px;
565
+ }
566
+ .paw-story > p {
567
+ font-size: 18px;
568
+ line-height: 1.8;
569
+ }
570
+ .paw-story figure {
571
+ margin: 30px 0;
572
+ }
573
+ .paw-story img {
574
+ display: block;
575
+ width: 100%;
576
+ height: auto;
577
+ border-radius: 16px;
578
+ }
579
+ .paw-story figcaption {
580
+ font-size: 12px;
581
+ color: var(--paw-muted);
582
+ margin-top: 8px;
583
+ }
584
+ .paw-account-row {
585
+ padding: 25px 0;
586
+ border-bottom: 1px solid var(--paw-line);
587
+ }
588
+ .paw-account-row h2 {
589
+ font-size: 32px;
590
+ }
591
+ .paw-account-row > p {
592
+ margin: 12px 0 0;
593
+ }
594
+ .paw-form {
595
+ max-width: 700px;
596
+ margin: 36px auto 64px;
597
+ }
598
+ .paw-form label {
599
+ display: grid;
600
+ gap: 7px;
601
+ margin: 20px 0;
602
+ font-size: 15px;
603
+ font-weight: 500;
604
+ }
605
+ .paw-form input,
606
+ .paw-form select,
607
+ .paw-form textarea {
608
+ width: 100%;
609
+ font-size: 16px;
610
+ font-weight: 400;
611
+ }
612
+ .paw-form textarea {
613
+ min-height: 150px;
614
+ resize: vertical;
615
+ }
616
+ .paw-form fieldset {
617
+ border: 0;
618
+ padding: 0;
619
+ margin: 28px 0;
345
620
  }
346
621
  .paw-form legend {
347
- font-family: Georgia, serif;
348
- font-size: 28px;
622
+ font: 550 26px/1.3 var(--paw-heading);
623
+ letter-spacing: -0.03em;
349
624
  }
350
625
  .paw-form .paw-consent {
351
626
  display: flex;
352
627
  align-items: flex-start;
353
628
  font-size: 14px;
629
+ font-weight: 400;
354
630
  }
355
631
  .paw-consent input {
356
632
  min-height: 24px;
633
+ width: 24px;
634
+ flex: none;
635
+ accent-color: var(--paw-leaf);
357
636
  }
358
- .paw-error {
359
- padding: 14px 18px;
360
- background: #ffe6df;
361
- color: #713223;
362
- border-radius: 10px;
637
+ .paw-form input[type="file"] {
638
+ padding: 20px;
639
+ border: 1px dashed var(--paw-leaf);
640
+ background: var(--paw-sky);
641
+ }
642
+ .paw-form input::file-selector-button {
643
+ font: 600 14px var(--paw-body);
644
+ background: var(--paw-paper);
645
+ color: var(--paw-ink);
646
+ border: 1px solid var(--paw-line);
647
+ padding: 10px 14px;
648
+ border-radius: 8px;
649
+ margin-right: 12px;
650
+ cursor: pointer;
363
651
  }
364
652
  .paw-form-actions {
365
653
  display: flex;
@@ -371,83 +659,317 @@
371
659
  width: 100%;
372
660
  accent-color: var(--paw-leaf);
373
661
  }
374
- @media (prefers-color-scheme: dark) {
375
- .paw {
376
- --paw-bg: #132d34;
377
- --paw-ink: #edf5f3;
378
- --paw-muted: #b4cbc7;
379
- --paw-blue: #d7e9e2;
380
- --paw-green: #23483e;
381
- --paw-leaf: #b5dabd;
382
- --paw-line: #3d5a60;
662
+ .paw-form-steps {
663
+ display: flex;
664
+ gap: 24px;
665
+ padding: 0;
666
+ list-style: none;
667
+ font-size: 13px;
668
+ color: var(--paw-muted);
669
+ margin: 0 0 25px;
670
+ }
671
+ .paw-form-steps [aria-current] {
672
+ color: var(--paw-ink);
673
+ font-weight: 700;
674
+ border-bottom: 2px solid var(--paw-leaf);
675
+ padding-bottom: 7px;
676
+ }
677
+ .paw-error {
678
+ padding: 18px 22px;
679
+ background: #ffe6df;
680
+ color: #713223;
681
+ border-radius: 12px;
682
+ }
683
+ .paw-load-error {
684
+ padding: 24px;
685
+ background: var(--paw-paper);
686
+ border-radius: 16px;
687
+ margin: 24px 0;
688
+ }
689
+ .paw-load-error h2 {
690
+ font-size: 26px;
691
+ }
692
+ .paw-load-error p {
693
+ font-size: 15px;
694
+ }
695
+ .paw-load-error .paw-form-actions {
696
+ margin-top: 16px;
697
+ }
698
+ .paw-filters {
699
+ display: flex;
700
+ flex-wrap: wrap;
701
+ gap: 16px;
702
+ align-items: end;
703
+ margin: 28px 0 40px;
704
+ }
705
+ .paw-filters label {
706
+ display: grid;
707
+ gap: 6px;
708
+ flex: 1;
709
+ min-width: 150px;
710
+ font-size: 14px;
711
+ }
712
+ .paw-filters select,
713
+ .paw-filters input {
714
+ width: 100%;
715
+ font-size: 16px;
716
+ }
717
+ .publication .paw {
718
+ --paw-logo-ink: var(--pub-ink, #18382e);
719
+ --paw-logo-heart: var(--pub-accent, #e67b60);
720
+ }
721
+ @media (max-width: 1000px) {
722
+ .paw-masthead {
723
+ gap: 18px;
724
+ }
725
+ .paw-masthead > p {
726
+ display: none;
383
727
  }
384
- .paw-memorial {
385
- --paw-green: #344348;
386
- --paw-leaf: #d6e0e2;
728
+ .paw-masthead > .paw-brand {
729
+ margin-right: auto;
730
+ }
731
+ .paw-welcome h1 {
732
+ font-size: clamp(46px, 6.3vw, 70px);
733
+ }
734
+ .paw-hero-actions {
735
+ gap: 5px 16px;
736
+ }
737
+ .paw-footer {
738
+ flex-wrap: wrap;
739
+ }
740
+ .paw-board-invitation {
741
+ flex-wrap: wrap;
742
+ }
743
+ .paw-board-invitation > .paw-text-link {
744
+ margin-left: 80px;
387
745
  }
388
746
  }
389
747
  @media (max-width: 780px) {
748
+ .paw {
749
+ padding-inline: 22px;
750
+ font-size: 16px;
751
+ }
390
752
  .paw-masthead {
391
- flex-wrap: wrap;
392
- gap: 12px;
393
- padding: 22px 0;
753
+ padding: 22px 0 18px;
394
754
  }
395
- .paw-masthead > p {
396
- display: none;
755
+ .paw-brand {
756
+ font-size: 25px;
757
+ }
758
+ .paw-brand svg {
759
+ width: 36px;
760
+ height: 36px;
397
761
  }
398
762
  .paw-masthead > .paw-button {
399
- margin-left: auto;
400
- padding: 10px 14px;
763
+ display: none !important;
401
764
  }
402
- .paw-brand {
403
- font-size: 23px;
765
+ .paw-nav {
766
+ display: none;
767
+ }
768
+ .paw-mobile-nav {
769
+ display: block;
770
+ border-block: 1px solid var(--paw-line);
771
+ }
772
+ .paw-mobile-nav summary {
773
+ display: flex;
774
+ align-items: center;
775
+ justify-content: space-between;
776
+ min-height: 48px;
777
+ font-size: 14px;
778
+ cursor: pointer;
779
+ list-style: none;
780
+ }
781
+ .paw-mobile-nav summary::-webkit-details-marker {
782
+ display: none;
783
+ }
784
+ .paw-mobile-nav summary span {
785
+ font-size: 22px;
786
+ transition: transform 0.15s;
787
+ }
788
+ .paw-mobile-nav[open] summary span {
789
+ transform: rotate(45deg);
790
+ }
791
+ .paw-mobile-nav nav {
792
+ display: grid;
793
+ grid-template-columns: 1fr 1fr;
794
+ gap: 0 18px;
795
+ padding: 0 0 12px;
796
+ }
797
+ .paw-mobile-nav a {
798
+ display: flex;
799
+ align-items: center;
800
+ min-height: 46px;
801
+ font-size: 15px;
802
+ text-decoration: none;
404
803
  }
405
804
  .paw-community {
406
- align-items: flex-start;
407
- flex-direction: column;
408
- margin-bottom: 20px;
805
+ display: block;
806
+ padding: 17px 0;
409
807
  }
410
808
  .paw-community > p {
411
- margin: 0;
809
+ font-size: 12px;
810
+ margin-bottom: 13px;
412
811
  }
413
812
  .paw-community form {
414
813
  width: 100%;
814
+ gap: 9px;
415
815
  }
416
816
  .paw-community label {
417
817
  flex: 1;
818
+ min-width: 0;
819
+ font-size: 12px;
820
+ }
821
+ .paw-community select {
822
+ max-width: 190px;
823
+ flex: 1;
824
+ font-size: 16px;
825
+ padding-inline: 8px;
826
+ }
827
+ .paw-community button {
828
+ padding-inline: 15px;
418
829
  }
419
830
  .paw-welcome {
420
831
  grid-template-columns: 1fr;
421
- padding: 20px 0 40px;
832
+ border-radius: 20px 20px 55px 20px;
833
+ padding: 30px 24px 0;
834
+ overflow: hidden;
422
835
  }
423
- .paw-emblem {
424
- display: none;
836
+ .paw-welcome-copy {
837
+ padding: 6px 0 0;
425
838
  }
426
- .paw-spotlight {
839
+ .paw-welcome h1 {
840
+ font-size: clamp(43px, 8.9vw, 66px);
841
+ margin-bottom: 21px;
842
+ }
843
+ .paw-welcome p {
844
+ font-size: 19px;
845
+ max-width: 30ch;
846
+ margin-bottom: 15px;
847
+ }
848
+ .paw-welcome .paw-welcome-detail {
849
+ font-size: 14px;
850
+ margin-bottom: 21px;
851
+ }
852
+ .paw-hero-actions {
853
+ gap: 2px 16px;
854
+ }
855
+ .paw-hero-actions > .paw-text-link {
856
+ font-size: 13px;
857
+ }
858
+ .paw-illustration {
859
+ width: min(120%, 520px);
860
+ margin: -7px -10% -5px;
861
+ justify-self: center;
862
+ }
863
+ .paw-shortcuts {
427
864
  grid-template-columns: 1fr;
428
- gap: 15px;
865
+ padding: 14px 0 21px;
866
+ gap: 0;
429
867
  }
430
- .paw-spotlight-copy h2 {
431
- margin: 12px 0;
868
+ .paw-shortcuts > a {
869
+ padding: 13px 4px;
870
+ min-height: 79px;
432
871
  }
433
- .paw-gallery {
434
- grid-template-columns: repeat(2, minmax(0, 1fr));
435
- gap: 22px;
872
+ .paw-shortcuts > a + a {
873
+ border-left: 0;
874
+ border-top: 1px solid var(--paw-line);
875
+ padding-left: 4px;
876
+ }
877
+ .paw-shortcuts strong {
878
+ font-size: 20px;
879
+ }
880
+ .paw-shortcuts span:first-child {
881
+ font-size: 12px;
882
+ }
883
+ .paw-week-invitation {
884
+ grid-template-columns: 1fr;
885
+ gap: 16px;
886
+ padding: 24px 0 38px;
887
+ }
888
+ .paw-invitation-art {
889
+ max-width: 245px;
890
+ }
891
+ .paw-week-invitation > div:last-child {
892
+ text-align: center;
893
+ }
894
+ .paw-week-invitation p:not(.paw-context) {
895
+ margin: 18px auto 22px;
896
+ }
897
+ .paw-week-invitation h2 {
898
+ font-size: 36px;
899
+ }
900
+ .paw-section {
901
+ padding: 32px 0;
436
902
  }
437
903
  .paw-section-heading {
438
904
  display: block;
905
+ margin-bottom: 22px;
439
906
  }
440
907
  .paw-section-heading p {
441
- max-width: none;
908
+ max-width: 40ch;
909
+ margin-top: 14px;
442
910
  }
443
- .paw-section {
444
- padding: 30px 0;
911
+ .paw-board-invitation {
912
+ display: block;
913
+ padding: 26px 22px;
914
+ margin-bottom: 14px;
915
+ }
916
+ .paw-board-invitation > .paw-mark {
917
+ width: 43px;
918
+ height: 43px;
919
+ margin-bottom: 17px;
920
+ }
921
+ .paw-board-invitation > .paw-text-link {
922
+ margin: 12px 0 0;
923
+ }
924
+ .paw-board-invitation h3 {
925
+ font-size: 26px;
926
+ }
927
+ .paw-gallery {
928
+ grid-template-columns: repeat(2, minmax(0, 1fr));
929
+ gap: 22px;
930
+ }
931
+ .paw-spotlight {
932
+ grid-template-columns: 1fr;
933
+ gap: 20px;
934
+ }
935
+ .paw-discover-pair {
936
+ grid-template-columns: 1fr;
937
+ gap: 0;
445
938
  }
446
939
  .paw-recovery {
447
- padding: 24px;
940
+ padding: 26px;
941
+ margin: 14px 0 30px;
448
942
  }
449
- .paw h3 {
450
- font-size: 25px;
943
+ .paw-section-heading h2 {
944
+ max-width: 22ch;
945
+ }
946
+ .paw-footer {
947
+ display: block;
948
+ padding: 28px 0 38px;
949
+ }
950
+ .paw-footer > p {
951
+ margin: 23px 0 12px;
952
+ }
953
+ .paw-page-heading {
954
+ flex-wrap: wrap;
955
+ gap: 10px;
956
+ }
957
+ .paw-page-heading .paw-form-actions {
958
+ gap: 16px;
959
+ }
960
+ .paw-page-heading button {
961
+ min-height: 44px;
962
+ padding: 10px 16px;
963
+ font-size: 13px;
964
+ }
965
+ .paw-form {
966
+ margin-top: 28px;
967
+ }
968
+ .paw-story > p {
969
+ font-size: 16px;
970
+ }
971
+ .paw-form-steps {
972
+ gap: 16px;
451
973
  }
452
974
  }
453
975
  @media (max-width: 480px) {
@@ -455,298 +977,756 @@
455
977
  grid-template-columns: 1fr;
456
978
  }
457
979
  .paw-community select {
458
- max-width: 160px;
980
+ max-width: 153px;
459
981
  }
460
- .paw-brand svg {
461
- width: 36px;
982
+ .paw-brand {
983
+ font-size: 23px;
462
984
  }
463
- .paw-masthead > .paw-button {
464
- font-size: 12px;
985
+ .paw-masthead {
986
+ gap: 8px;
465
987
  }
466
- .paw-recovery {
467
- padding: 20px;
988
+ .paw-masthead > a:not(.paw-brand) {
989
+ font-size: 13px;
990
+ }
991
+ .paw-welcome {
992
+ padding-inline: 21px;
993
+ }
994
+ .paw-hero-actions {
995
+ display: flex;
996
+ flex-direction: column;
997
+ align-items: flex-start;
998
+ gap: 4px;
999
+ }
1000
+ .paw-hero-actions .paw-text-link {
1001
+ margin-top: 7px;
1002
+ }
1003
+ .paw-illustration {
1004
+ margin-top: -18px;
468
1005
  }
469
1006
  .paw-section-heading h2 {
470
1007
  max-width: none;
471
1008
  }
472
1009
  }
473
- @media (prefers-reduced-motion: reduce) {
474
- .paw * {
475
- scroll-behavior: auto !important;
476
- animation: none !important;
477
- transition: none !important;
1010
+ @media (max-width: 360px) {
1011
+ .paw {
1012
+ padding-inline: 16px;
1013
+ }
1014
+ .paw-community label {
1015
+ position: absolute;
1016
+ width: 1px;
1017
+ height: 1px;
1018
+ overflow: hidden;
1019
+ clip-path: inset(50%);
1020
+ white-space: nowrap;
1021
+ }
1022
+ .paw-community select {
1023
+ max-width: none;
1024
+ }
1025
+ .paw-welcome h1 {
1026
+ font-size: 40px;
478
1027
  }
479
1028
  }
480
-
481
- .paw-filters {
482
- display: flex;
483
- flex-wrap: wrap;
484
- gap: 16px;
485
- align-items: end;
486
- margin: 28px 0 40px;
487
- }
488
- .paw-filters label {
489
- display: grid;
490
- gap: 6px;
491
- flex: 1;
492
- min-width: 150px;
493
- font-size: 14px;
494
- }
495
- .paw-filters select,
496
- .paw-filters input {
497
- width: 100%;
498
- }
499
- .paw button:disabled {
500
- opacity: 0.6;
501
- cursor: wait;
1029
+ @media (prefers-color-scheme: dark) {
1030
+ .paw {
1031
+ --paw-bg: #15231d;
1032
+ --paw-paper: #20352b;
1033
+ --paw-ink: #f3f6f0;
1034
+ --paw-muted: #b8cbbd;
1035
+ --paw-blue: #f4d878;
1036
+ --paw-green: #263d30;
1037
+ --paw-leaf: #b6dca7;
1038
+ --paw-line: #4c6555;
1039
+ --paw-sky: #263d30;
1040
+ --paw-art-sky: #528794;
1041
+ --paw-art-hill: #709888;
1042
+ --paw-art-ground: #9ab781;
1043
+ }
502
1044
  }
503
- .paw picture {
504
- display: block;
1045
+ [data-theme="light"] .paw {
1046
+ --paw-bg: #ffffff;
1047
+ --paw-paper: #fff;
1048
+ --paw-ink: #18382e;
1049
+ --paw-muted: #52635a;
1050
+ --paw-blue: #18382e;
1051
+ --paw-green: #eff3ee;
1052
+ --paw-leaf: #426858;
1053
+ --paw-line: #d7e0d7;
1054
+ --paw-sky: #eff3ee;
1055
+ --paw-art-sky: #c5e4ed;
1056
+ --paw-art-hill: #8fb8a3;
1057
+ --paw-art-ground: #c2d9a0;
505
1058
  }
506
- .paw-nav {
507
- overflow-x: auto;
508
- scrollbar-width: thin;
1059
+ [data-theme="dark"] .paw {
1060
+ --paw-bg: #15231d;
1061
+ --paw-paper: #20352b;
1062
+ --paw-ink: #f3f6f0;
1063
+ --paw-muted: #b8cbbd;
1064
+ --paw-blue: #f4d878;
1065
+ --paw-green: #263d30;
1066
+ --paw-leaf: #b6dca7;
1067
+ --paw-line: #4c6555;
1068
+ --paw-sky: #263d30;
1069
+ --paw-art-sky: #528794;
1070
+ --paw-art-hill: #709888;
1071
+ --paw-art-ground: #9ab781;
509
1072
  }
510
- .paw form {
511
- min-width: 0;
1073
+ @media (prefers-reduced-motion: reduce) {
1074
+ .paw *,
1075
+ .paw *::before,
1076
+ .paw *::after {
1077
+ scroll-behavior: auto !important;
1078
+ animation: none !important;
1079
+ transition: none !important;
1080
+ }
512
1081
  }
513
- .paw input,
514
- .paw textarea,
515
- .paw select {
516
- max-width: 100%;
517
- box-sizing: border-box;
1082
+
1083
+ .paw-preference-details {
1084
+ border-block: 1px solid var(--paw-line);
1085
+ margin: 25px 0;
518
1086
  }
519
- .paw-sponsor .sm-sponsorship {
520
- display: flex;
521
- justify-content: space-between;
522
- gap: 20px;
523
- align-items: center;
1087
+ .paw-preference-details summary {
1088
+ padding: 17px 0;
1089
+ cursor: pointer;
1090
+ font-weight: 600;
1091
+ font-size: 15px;
524
1092
  }
525
- .paw-sponsor .sm-sponsorship-logo {
526
- max-width: 100px;
527
- max-height: 64px;
528
- object-fit: contain;
1093
+ .paw-preference-details summary span {
1094
+ font-size: 13px;
1095
+ font-weight: 400;
1096
+ color: var(--paw-muted);
1097
+ margin-left: 12px;
529
1098
  }
530
- .paw-sponsor .sm-sponsorship-label {
531
- font-size: 11px;
532
- text-transform: uppercase;
533
- letter-spacing: 0.1em;
1099
+ .paw-form .paw-community-choices {
1100
+ display: grid;
1101
+ grid-template-columns: repeat(2, minmax(0, 1fr));
1102
+ gap: 4px 20px;
1103
+ margin: 0 0 18px;
534
1104
  }
535
- .paw-sponsor .sm-sponsorship-name {
536
- font-weight: 700;
1105
+ .paw-community-choices .paw-consent {
1106
+ margin: 0;
1107
+ min-height: 44px;
1108
+ align-items: center;
537
1109
  }
538
- .paw-sponsor .sm-sponsorship-sr {
1110
+ .paw-sr-only {
539
1111
  position: absolute;
540
1112
  width: 1px;
541
1113
  height: 1px;
542
1114
  overflow: hidden;
543
1115
  clip-path: inset(50%);
1116
+ white-space: nowrap;
1117
+ }
1118
+ @media (max-width: 480px) {
1119
+ .paw-form .paw-community-choices {
1120
+ grid-template-columns: 1fr;
1121
+ }
1122
+ .paw-preference-details summary span {
1123
+ display: block;
1124
+ margin-left: 18px;
1125
+ }
544
1126
  }
545
1127
 
546
- /* A quiet editorial identity, designed at phone size first. */
547
- .paw-eyebrow,
548
- .paw-welcome .paw-eyebrow {
549
- font:
550
- 650 11px/1.5 "Avenir Next",
551
- Avenir,
552
- sans-serif;
553
- letter-spacing: 0.13em;
554
- text-transform: uppercase;
555
- margin: 0 0 22px;
556
- color: var(--paw-muted);
1128
+ /* The photographic cover is the one expressive moment. */
1129
+ .paw-welcome {
1130
+ position: relative;
1131
+ isolation: isolate;
1132
+ display: flex;
1133
+ align-items: center;
1134
+ min-height: 680px;
1135
+ margin: 8px 0 0;
1136
+ overflow: hidden;
1137
+ background: #15382b;
1138
+ color: #fff;
1139
+ border-radius: 4px;
1140
+ }
1141
+ .paw-cover-photo {
1142
+ position: absolute;
1143
+ inset: 0 0 0 43%;
1144
+ margin: 0;
1145
+ z-index: -1;
1146
+ }
1147
+ .paw-cover-photo > div {
1148
+ height: 100%;
1149
+ background: url("./images/paw-neighborhood-mobile.webp") center 57% / cover
1150
+ no-repeat;
1151
+ }
1152
+ .paw-cover-photo::after {
1153
+ content: "";
1154
+ position: absolute;
1155
+ inset: 0;
1156
+ background: linear-gradient(
1157
+ 90deg,
1158
+ #15382b 0%,
1159
+ rgba(21, 56, 43, 0.35) 24%,
1160
+ transparent 65%
1161
+ );
1162
+ pointer-events: none;
1163
+ }
1164
+ .paw-cover-photo figcaption {
1165
+ position: absolute;
1166
+ right: 22px;
1167
+ bottom: 16px;
1168
+ z-index: 1;
1169
+ font-size: 11px;
1170
+ color: #fff;
1171
+ background: rgba(10, 25, 18, 0.78);
1172
+ padding: 4px 9px;
1173
+ border-radius: 3px;
1174
+ }
1175
+ .paw-welcome-copy {
1176
+ width: 64%;
1177
+ padding: 56px clamp(28px, 4.5vw, 64px);
557
1178
  }
558
1179
  .paw-welcome h1 {
559
- font-size: clamp(46px, 6.6vw, 88px);
560
- letter-spacing: -0.055em;
561
- line-height: 0.99;
1180
+ font-size: clamp(62px, 7.7vw, 112px);
1181
+ font-weight: 600;
1182
+ line-height: 0.98;
1183
+ letter-spacing: -0.065em;
1184
+ margin: 0 0 28px;
1185
+ max-width: 8ch;
1186
+ text-wrap: initial;
562
1187
  }
563
- .paw-welcome h1 em {
564
- font-weight: 400;
1188
+ .paw-welcome-copy > p {
1189
+ font-size: 22px;
1190
+ line-height: 1.45;
1191
+ margin: 0 0 20px;
1192
+ max-width: 26ch;
565
1193
  }
566
- .paw-illustration {
567
- position: relative;
568
- align-self: end;
1194
+ .paw-welcome-copy .paw-welcome-detail {
1195
+ font-size: 15px;
1196
+ line-height: 1.7;
1197
+ max-width: 33ch;
1198
+ color: #e0e9e1;
1199
+ margin-bottom: 28px;
569
1200
  }
570
- .paw-neighborhood-art {
571
- display: block;
572
- width: 100%;
573
- height: auto;
1201
+ .paw-hero-actions {
1202
+ display: flex;
1203
+ align-items: flex-start;
1204
+ flex-direction: column;
1205
+ gap: 8px;
574
1206
  }
575
- .paw-illustration > p {
576
- text-align: center;
577
- font:
578
- 500 12px/1.5 "Avenir Next",
579
- Avenir,
580
- sans-serif;
581
- letter-spacing: 0.05em;
582
- max-width: none;
583
- margin: -18px 0 15px;
1207
+ .paw-welcome .paw-button {
1208
+ background: #f4d878;
1209
+ color: #18382e;
1210
+ padding-inline: 28px;
584
1211
  }
585
- .paw-nav a {
586
- display: inline-flex;
587
- align-items: center;
588
- min-height: 44px;
1212
+ .paw-welcome :focus-visible {
1213
+ outline-color: #f4d878;
589
1214
  }
590
- .paw-nav {
591
- padding: 3px 0;
1215
+ .paw-welcome .paw-text-link {
1216
+ color: #fff;
1217
+ font-size: 13px;
592
1218
  }
593
- .paw-page-heading {
1219
+ .paw-shortcuts {
1220
+ margin: 0 0 80px;
1221
+ border: 0;
1222
+ border-radius: 0 0 4px 4px;
1223
+ background: var(--paw-sky);
1224
+ gap: 0;
1225
+ padding: 22px 0;
1226
+ }
1227
+ .paw-shortcuts a {
1228
+ border-right: 1px solid var(--paw-line);
1229
+ padding: 8px 28px;
1230
+ background: none;
1231
+ border-radius: 0;
1232
+ }
1233
+ .paw-shortcuts a:last-child {
1234
+ border-right: 0;
1235
+ }
1236
+ .paw-shortcuts a > span:first-child {
1237
+ font-size: 12px;
1238
+ }
1239
+ .paw-shortcuts strong {
1240
+ font: 550 20px/1.3 var(--paw-body);
1241
+ letter-spacing: -0.03em;
1242
+ }
1243
+ .paw-week-invitation {
1244
+ grid-template-columns: 0.85fr 1fr;
1245
+ gap: 9%;
1246
+ padding: 0 5% 80px;
1247
+ margin: 0;
1248
+ background: none;
1249
+ border-radius: 0;
1250
+ align-items: center;
1251
+ }
1252
+ .paw-week-cover {
1253
+ background: #f4d878;
1254
+ color: #18382e;
1255
+ min-height: 400px;
1256
+ padding: 36px;
594
1257
  display: flex;
1258
+ flex-direction: column;
1259
+ align-items: flex-start;
595
1260
  justify-content: space-between;
1261
+ border-radius: 2px 70px 2px 2px;
1262
+ transform: rotate(-3deg);
1263
+ }
1264
+ .paw-week-cover .paw-mark {
1265
+ --paw-logo-ink: #18382e;
1266
+ width: 54px;
1267
+ height: 50px;
1268
+ }
1269
+ .paw-week-cover > span {
1270
+ font-size: clamp(48px, 5vw, 68px);
1271
+ font-weight: 600;
1272
+ line-height: 0.98;
1273
+ letter-spacing: -0.055em;
1274
+ }
1275
+ .paw-week-cover small {
1276
+ line-height: 1.5;
1277
+ color: inherit;
1278
+ }
1279
+ .paw-week-invitation h2 {
1280
+ font-size: clamp(36px, 4vw, 54px);
1281
+ }
1282
+ .paw-week-invitation .paw-context {
1283
+ font-size: 14px;
1284
+ color: var(--paw-muted);
1285
+ margin-bottom: 20px;
1286
+ }
1287
+ .paw-week-invitation > div > p:not(.paw-context) {
1288
+ max-width: 35ch;
1289
+ font-size: 17px;
1290
+ }
1291
+ .paw-board-invitation {
1292
+ border-radius: 3px;
1293
+ background: var(--paw-sky);
1294
+ padding: 36px;
1295
+ }
1296
+ .paw-recovery {
1297
+ border-radius: 3px;
1298
+ padding: 40px;
1299
+ }
1300
+ .paw-footer {
1301
+ margin-top: 64px;
1302
+ padding-block: 40px 52px;
1303
+ }
1304
+ .paw h2 {
1305
+ font-weight: 550;
1306
+ }
1307
+ /* A complete page boundary prevents the last form margin collapsing outside it. */
1308
+ .paw-submission {
1309
+ max-width: 1160px;
1310
+ margin: 64px auto 88px;
1311
+ display: grid;
1312
+ grid-template-columns: minmax(220px, 0.75fr) minmax(0, 1.25fr);
1313
+ align-items: start;
1314
+ gap: clamp(36px, 7vw, 100px);
1315
+ }
1316
+ .paw-form-intro {
1317
+ position: sticky;
1318
+ top: 32px;
1319
+ }
1320
+ .paw-form-intro h1 {
1321
+ font-size: clamp(40px, 4.4vw, 62px);
1322
+ line-height: 1.03;
1323
+ margin: 34px 0 22px;
1324
+ letter-spacing: -0.055em;
1325
+ }
1326
+ .paw-form-description {
1327
+ font-size: 18px;
1328
+ line-height: 1.6;
1329
+ color: var(--paw-muted);
1330
+ }
1331
+ .paw-form-intro .paw-safety {
1332
+ margin-top: 28px;
1333
+ }
1334
+ .paw-form-assurance {
1335
+ display: flex;
596
1336
  align-items: center;
597
- gap: 20px;
598
- padding: 24px 0;
599
- border-bottom: 1px solid var(--paw-line);
1337
+ gap: 12px;
1338
+ margin-top: 38px;
1339
+ padding-top: 24px;
1340
+ border-top: 1px solid var(--paw-line);
600
1341
  }
601
- .paw-page-heading .paw-form-actions {
1342
+ .paw-form-assurance p {
602
1343
  margin: 0;
603
- align-items: center;
1344
+ font-size: 12px;
1345
+ line-height: 1.6;
1346
+ color: var(--paw-muted);
604
1347
  }
605
- .paw-page-heading a:not(.paw-brand) {
606
- display: inline-flex;
607
- align-items: center;
608
- min-height: 44px;
1348
+ .paw-form-body {
1349
+ background: var(--paw-paper);
1350
+ min-width: 0;
609
1351
  }
610
- .paw-story {
611
- max-width: 800px;
612
- margin: 0 auto;
613
- padding: clamp(36px, 7vw, 80px) 0;
1352
+ .paw-form-body > .paw-field:first-child {
1353
+ margin-top: 0;
614
1354
  }
615
- .paw-story > h1 {
616
- margin-bottom: 36px;
1355
+ .paw-form .paw-field {
1356
+ margin: 0 0 27px;
1357
+ gap: 10px;
1358
+ font-size: 14px;
617
1359
  }
618
- .paw-story > p {
619
- font-size: 19px;
620
- line-height: 1.8;
1360
+ .paw-form input:not([type="checkbox"]),
1361
+ .paw-form select,
1362
+ .paw-form textarea {
1363
+ min-height: 54px;
1364
+ border-radius: 8px;
1365
+ padding: 14px 16px;
1366
+ background: var(--paw-bg);
1367
+ border: 1px solid var(--paw-line);
1368
+ color: var(--paw-ink);
621
1369
  }
622
- .paw-story figure {
623
- margin: 30px 0;
1370
+ .paw-form textarea {
1371
+ min-height: 180px;
624
1372
  }
625
- .paw-story img {
1373
+ .paw-form input:focus,
1374
+ .paw-form select:focus,
1375
+ .paw-form textarea:focus {
1376
+ border-color: var(--paw-leaf);
1377
+ }
1378
+ .paw-form .paw-field:has([aria-invalid="true"]) {
1379
+ color: #953e2d;
1380
+ }
1381
+ .paw-form [aria-invalid="true"] {
1382
+ border-color: #ba5b45;
1383
+ background: #fff9f6;
1384
+ }
1385
+ .paw-field-error {
626
1386
  display: block;
627
- width: 100%;
628
- height: auto;
629
- border-radius: 12px;
1387
+ font-size: 13px;
1388
+ line-height: 1.5;
1389
+ font-weight: 400;
1390
+ color: #953e2d;
630
1391
  }
631
- .paw-story figcaption {
632
- font-size: 12px;
1392
+ .paw-consent {
1393
+ flex-wrap: wrap;
1394
+ }
1395
+ .paw-consent > span:not(.paw-field-error) {
1396
+ flex: 1;
1397
+ }
1398
+ .paw-consent .paw-field-error {
1399
+ flex-basis: 100%;
1400
+ padding-left: 34px;
1401
+ }
1402
+ .paw-form input[type="file"] {
1403
+ padding: 26px 18px;
1404
+ border-style: dashed;
1405
+ background: var(--paw-sky);
1406
+ font-size: 13px;
1407
+ }
1408
+ .paw-form input::file-selector-button {
1409
+ border: 0;
1410
+ background: var(--paw-ink);
1411
+ color: var(--paw-bg);
1412
+ padding: 13px 16px;
1413
+ border-radius: 6px;
1414
+ margin-right: 10px;
1415
+ }
1416
+ .paw-form #paw-photo-guidance {
1417
+ margin-top: -14px;
633
1418
  color: var(--paw-muted);
634
- margin-top: 8px;
1419
+ font-size: 12px;
635
1420
  }
636
- .paw-account-row {
637
- padding: 25px 0;
638
- border-bottom: 1px solid var(--paw-line);
1421
+ .paw-upload-previews {
1422
+ display: flex;
1423
+ gap: 12px;
1424
+ overflow-x: auto;
1425
+ margin-top: 24px;
1426
+ padding-bottom: 12px;
639
1427
  }
640
- .paw-account-row h2 {
641
- font-size: 32px;
1428
+ .paw-upload-previews figure {
1429
+ margin: 0;
1430
+ width: 110px;
1431
+ flex: 0 0 110px;
642
1432
  }
643
- .paw-account-row > p {
644
- margin: 12px 0 0;
1433
+ .paw-upload-previews img {
1434
+ width: 110px;
1435
+ height: 110px;
1436
+ object-fit: cover;
1437
+ border-radius: 8px;
645
1438
  }
646
- .paw a,
647
- .paw button {
648
- -webkit-tap-highlight-color: transparent;
1439
+ .paw-upload-previews figcaption {
1440
+ font-size: 11px;
1441
+ overflow: hidden;
1442
+ text-overflow: ellipsis;
1443
+ white-space: nowrap;
649
1444
  }
650
- .paw button,
651
- .paw .paw-button {
652
- transition:
653
- background-color 0.15s,
654
- transform 0.15s;
1445
+ .paw-form-body > .paw-form-actions {
1446
+ margin-top: 32px;
1447
+ padding-top: 24px;
1448
+ border-top: 1px solid var(--paw-line);
655
1449
  }
656
- .paw button:active,
657
- .paw .paw-button:active {
658
- transform: translateY(1px);
1450
+ .paw-form-endnote {
1451
+ font-size: 12px;
1452
+ color: var(--paw-muted);
1453
+ margin: 14px 0 0;
659
1454
  }
660
- @media (max-width: 780px) {
1455
+ .paw-validation-summary {
1456
+ font-size: 13px;
1457
+ color: #953e2d;
1458
+ }
1459
+ .paw-form-steps {
1460
+ gap: 18px;
1461
+ font-size: 12px;
1462
+ flex-wrap: wrap;
1463
+ }
1464
+ .paw-page-footer {
1465
+ margin-top: 0;
1466
+ }
1467
+ @media (max-width: 800px) {
661
1468
  .paw-welcome {
662
- gap: 8px;
663
- padding: 28px 0 28px;
1469
+ min-height: 620px;
664
1470
  }
665
- .paw-welcome > div:first-child {
666
- position: relative;
667
- z-index: 1;
1471
+ .paw-welcome-copy {
1472
+ padding: 36px;
1473
+ width: 68%;
668
1474
  }
669
- .paw-illustration {
670
- width: min(100%, 420px);
671
- margin: 0 auto;
1475
+ .paw-welcome h1 {
1476
+ font-size: 72px;
672
1477
  }
673
- .paw-welcome p:not(.paw-eyebrow) {
674
- font-size: 17px;
1478
+ .paw-cover-photo {
1479
+ left: 30%;
675
1480
  }
676
- .paw-welcome .paw-eyebrow {
677
- margin-bottom: 17px;
1481
+ .paw-week-invitation {
1482
+ gap: 8%;
1483
+ padding-inline: 0;
678
1484
  }
679
- .paw-illustration > p {
680
- font-size: 11px !important;
681
- margin-top: -20px;
1485
+ .paw-week-cover {
1486
+ min-height: 360px;
1487
+ padding: 28px;
682
1488
  }
683
- .paw-page-heading {
684
- flex-wrap: wrap;
685
- gap: 10px;
1489
+ .paw-shortcuts a {
1490
+ padding-inline: 18px;
686
1491
  }
687
- .paw-page-heading .paw-form-actions {
688
- gap: 16px;
1492
+ .paw-shortcuts strong {
1493
+ font-size: 18px;
1494
+ }
1495
+ .paw-submission {
1496
+ gap: 36px;
1497
+ grid-template-columns: 1fr 1.4fr;
689
1498
  }
690
1499
  }
691
- @media (max-width: 380px) {
1500
+ @media (max-width: 600px) {
692
1501
  .paw {
693
- padding-inline: 18px;
1502
+ padding-inline: 20px;
694
1503
  }
695
- .paw-community form {
696
- flex-wrap: wrap;
1504
+ .paw-masthead {
1505
+ padding-block: 22px 18px;
697
1506
  }
698
- .paw-community label {
699
- flex-basis: 100%;
1507
+ .paw-brand {
1508
+ font-size: 23px;
1509
+ letter-spacing: -0.9px;
1510
+ gap: 9px;
700
1511
  }
701
- .paw-community select {
702
- flex: 1;
703
- max-width: none;
1512
+ .paw-brand .paw-mark {
1513
+ width: 34px;
1514
+ height: 34px;
1515
+ }
1516
+ .paw-community {
1517
+ padding-block: 14px;
1518
+ }
1519
+ .paw-welcome {
1520
+ margin-inline: -20px;
1521
+ margin-top: 4px;
1522
+ min-height: 760px;
1523
+ align-items: flex-start;
1524
+ border-radius: 0;
1525
+ }
1526
+ .paw-cover-photo {
1527
+ inset: 0;
1528
+ }
1529
+ .paw-cover-photo > div {
1530
+ background-position: center 60%;
1531
+ }
1532
+ .paw-cover-photo::after {
1533
+ background: linear-gradient(
1534
+ 180deg,
1535
+ rgba(9, 33, 22, 0.8),
1536
+ rgba(9, 33, 22, 0.6) 31%,
1537
+ transparent 60%
1538
+ );
1539
+ }
1540
+ .paw-welcome-copy {
1541
+ padding: 32px 26px;
1542
+ width: 100%;
704
1543
  }
705
1544
  .paw-welcome h1 {
706
- font-size: 44px;
1545
+ font-size: clamp(55px, 15vw, 84px);
1546
+ line-height: 0.98;
1547
+ max-width: none;
1548
+ margin-bottom: 18px;
707
1549
  }
708
- }
709
- @media (prefers-color-scheme: dark) {
710
- .paw {
711
- --paw-bg: #142d27;
712
- --paw-ink: #f3efdf;
713
- --paw-muted: #b9cbbb;
714
- --paw-blue: #d9e8ce;
715
- --paw-green: #29483c;
716
- --paw-line: #496253;
717
- --paw-art-sky: #42665c;
718
- --paw-art-hill: #617c62;
719
- --paw-art-ground: #819171;
1550
+ .paw-welcome-copy > p {
1551
+ font-size: 18px;
1552
+ line-height: 1.4;
1553
+ margin-bottom: 20px;
720
1554
  }
721
- }
722
-
723
- @media (max-width: 780px) {
724
- .paw-masthead > .paw-button {
1555
+ .paw-welcome-copy .paw-welcome-detail {
725
1556
  display: none;
726
1557
  }
727
- .paw-masthead {
728
- justify-content: space-between;
1558
+ .paw-hero-actions {
1559
+ gap: 0;
729
1560
  }
730
- .paw-masthead > a:not(.paw-brand) {
731
- display: inline-flex;
732
- min-height: 44px;
733
- align-items: center;
1561
+ .paw-welcome .paw-text-link {
1562
+ margin-top: 4px;
1563
+ }
1564
+ .paw-cover-photo figcaption {
1565
+ right: 16px;
1566
+ bottom: 15px;
1567
+ font-size: 10px;
1568
+ }
1569
+ .paw-shortcuts {
1570
+ margin: 0 -20px 60px;
1571
+ padding: 10px 20px;
1572
+ display: block;
1573
+ border-radius: 0;
1574
+ }
1575
+ .paw-shortcuts a {
1576
+ padding: 18px 0;
1577
+ border-right: 0;
1578
+ border-bottom: 1px solid var(--paw-line);
1579
+ }
1580
+ .paw-shortcuts a:last-child {
1581
+ border-bottom: 0;
1582
+ }
1583
+ .paw-shortcuts strong {
1584
+ font-size: 20px;
1585
+ }
1586
+ .paw-week-invitation {
1587
+ display: flex;
1588
+ flex-direction: column;
1589
+ padding: 0 0 50px;
1590
+ gap: 38px;
1591
+ align-items: stretch;
1592
+ }
1593
+ .paw-week-cover {
1594
+ min-height: 330px;
1595
+ margin: 0 16px;
1596
+ padding: 28px;
1597
+ }
1598
+ .paw-week-cover > span {
1599
+ font-size: 58px;
1600
+ }
1601
+ .paw-week-cover .paw-mark {
1602
+ width: 44px;
1603
+ height: 42px;
1604
+ }
1605
+ .paw-week-invitation h2 {
1606
+ font-size: 42px;
1607
+ }
1608
+ .paw-board-invitation {
1609
+ padding: 26px;
1610
+ }
1611
+ .paw-recovery {
1612
+ padding: 26px;
1613
+ }
1614
+ .paw-footer {
1615
+ margin-top: 36px;
1616
+ padding-bottom: 40px;
1617
+ }
1618
+ .paw-submission {
1619
+ display: block;
1620
+ margin: 32px auto 56px;
1621
+ }
1622
+ .paw-form-intro {
1623
+ position: static;
1624
+ }
1625
+ .paw-form-intro h1 {
1626
+ font-size: 48px;
1627
+ margin: 24px 0 16px;
1628
+ }
1629
+ .paw-form-description {
1630
+ font-size: 16px;
1631
+ }
1632
+ .paw-form-intro .paw-safety {
1633
+ margin: 18px 0 28px;
1634
+ }
1635
+ .paw-form-assurance {
1636
+ display: none;
1637
+ }
1638
+ .paw-form-body {
1639
+ border-top: 1px solid var(--paw-line);
1640
+ padding-top: 28px;
1641
+ }
1642
+ .paw-form-body > .paw-form-actions {
1643
+ flex-direction: column-reverse;
1644
+ }
1645
+ .paw-form-body > .paw-form-actions button {
1646
+ width: 100%;
1647
+ }
1648
+ .paw-form-endnote {
1649
+ text-align: center;
1650
+ }
1651
+ .paw-page-footer {
1652
+ margin-top: 0;
1653
+ align-items: flex-start;
734
1654
  }
735
1655
  }
736
- /* Honor the publication's explicit appearance preference ahead of the device. */
737
- [data-theme="light"] .paw {
738
- --paw-bg: #f8f3e9; --paw-ink: #12314e; --paw-muted: #52675e;
739
- --paw-blue: #12314e; --paw-green: #e2e9dd; --paw-leaf: #356b4d; --paw-line: #cbd3c5;
740
- --paw-art-sky: #c5ddd6; --paw-art-hill: #a9c4ac; --paw-art-ground: #dce4c7;
1656
+ @media (prefers-color-scheme: dark) {
1657
+ .paw-form [aria-invalid="true"] {
1658
+ background: #402b24;
1659
+ color: #f3f6f0;
1660
+ border-color: #e8a18b;
1661
+ }
1662
+ .paw-form .paw-field:has([aria-invalid="true"]),
1663
+ .paw-field-error,
1664
+ .paw-validation-summary {
1665
+ color: #efaa93;
1666
+ }
741
1667
  }
742
- [data-theme="dark"] .paw {
743
- --paw-bg: #142d27; --paw-ink: #f3efdf; --paw-muted: #b9cbbb;
744
- --paw-blue: #d9e8ce; --paw-green: #29483c; --paw-leaf: #b5dabd; --paw-line: #496253;
745
- --paw-art-sky: #42665c; --paw-art-hill: #617c62; --paw-art-ground: #819171;
1668
+ [data-theme="dark"] .paw-form [aria-invalid="true"] {
1669
+ background: #402b24;
1670
+ color: #f3f6f0;
1671
+ border-color: #e8a18b;
1672
+ }
1673
+ [data-theme="dark"] .paw-field-error,
1674
+ [data-theme="dark"] .paw-validation-summary {
1675
+ color: #efaa93;
1676
+ }
1677
+ [data-theme="light"] .paw-form [aria-invalid="true"] {
1678
+ background: #fff9f6;
1679
+ color: #18382e;
1680
+ border-color: #ba5b45;
1681
+ }
1682
+ [data-theme="light"] .paw-field-error,
1683
+ [data-theme="light"] .paw-validation-summary {
1684
+ color: #953e2d;
746
1685
  }
747
1686
 
748
- /* The supplied logo keeps its geometry; host publications can tune these tokens. */
749
- .paw { --paw-logo-ink: var(--paw-ink); --paw-logo-heart: #ef7152; }
750
- .paw-mark { display: block; flex: 0 0 auto; }
751
-
752
- .publication .paw { --paw-logo-ink: var(--pub-ink, #12314e); --paw-logo-heart: var(--pub-accent, #ef7152); }
1687
+ .paw-photo-picker {
1688
+ position: relative;
1689
+ }
1690
+ .paw-form .paw-upload-input {
1691
+ position: absolute;
1692
+ width: 1px;
1693
+ height: 1px;
1694
+ min-height: 0;
1695
+ padding: 0;
1696
+ opacity: 0;
1697
+ clip-path: inset(50%);
1698
+ }
1699
+ .paw-upload-prompt {
1700
+ display: flex;
1701
+ flex-direction: column;
1702
+ align-items: center;
1703
+ text-align: center;
1704
+ gap: 12px;
1705
+ border: 1px dashed var(--paw-leaf);
1706
+ padding: 32px 22px;
1707
+ background: var(--paw-sky);
1708
+ border-radius: 10px;
1709
+ cursor: pointer;
1710
+ color: var(--paw-ink);
1711
+ }
1712
+ .paw-upload-prompt strong {
1713
+ font-size: 15px;
1714
+ font-weight: 500;
1715
+ }
1716
+ .paw-upload-prompt > span {
1717
+ font-size: 13px;
1718
+ text-decoration: underline;
1719
+ text-underline-offset: 4px;
1720
+ }
1721
+ .paw-upload-input:focus-visible + .paw-upload-prompt {
1722
+ outline: 3px solid var(--paw-leaf);
1723
+ outline-offset: 4px;
1724
+ }
1725
+ .paw-upload-input[aria-invalid="true"] + .paw-upload-prompt {
1726
+ border-color: #ba5b45;
1727
+ }
1728
+ @media (max-width: 600px) {
1729
+ .paw-week-invitation > div {
1730
+ text-align: left;
1731
+ }
1732
+ }