@openwarelabs/blocks 0.7.0 → 0.8.0

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.
Files changed (94) hide show
  1. package/dist/features/Features01/Features01.d.cts +3 -0
  2. package/dist/features/Features01/Features01.d.ts +3 -0
  3. package/dist/features/Features01/Features01.types.d.cts +21 -0
  4. package/dist/features/Features01/Features01.types.d.ts +21 -0
  5. package/dist/features/Features02/Features02.d.cts +3 -0
  6. package/dist/features/Features02/Features02.d.ts +3 -0
  7. package/dist/features/Features02/Features02.types.d.cts +30 -0
  8. package/dist/features/Features02/Features02.types.d.ts +30 -0
  9. package/dist/features/Features03/Features03.d.cts +3 -0
  10. package/dist/features/Features03/Features03.d.ts +3 -0
  11. package/dist/features/Features03/Features03.types.d.cts +24 -0
  12. package/dist/features/Features03/Features03.types.d.ts +24 -0
  13. package/dist/features/Features04/Features04.d.cts +3 -0
  14. package/dist/features/Features04/Features04.d.ts +3 -0
  15. package/dist/features/Features04/Features04.types.d.cts +29 -0
  16. package/dist/features/Features04/Features04.types.d.ts +29 -0
  17. package/dist/features/Features05/Features05.d.cts +3 -0
  18. package/dist/features/Features05/Features05.d.ts +3 -0
  19. package/dist/features/Features05/Features05.types.d.cts +18 -0
  20. package/dist/features/Features05/Features05.types.d.ts +18 -0
  21. package/dist/footers/Footer01/Footer01.d.cts +3 -0
  22. package/dist/footers/Footer01/Footer01.d.ts +3 -0
  23. package/dist/footers/Footer01/Footer01.types.d.cts +32 -0
  24. package/dist/footers/Footer01/Footer01.types.d.ts +32 -0
  25. package/dist/footers/Footer02/Footer02.d.cts +3 -0
  26. package/dist/footers/Footer02/Footer02.d.ts +3 -0
  27. package/dist/footers/Footer02/Footer02.types.d.cts +18 -0
  28. package/dist/footers/Footer02/Footer02.types.d.ts +18 -0
  29. package/dist/footers/Footer03/Footer03.d.cts +3 -0
  30. package/dist/footers/Footer03/Footer03.d.ts +3 -0
  31. package/dist/footers/Footer03/Footer03.types.d.cts +53 -0
  32. package/dist/footers/Footer03/Footer03.types.d.ts +53 -0
  33. package/dist/footers/Footer04/Footer04.d.cts +3 -0
  34. package/dist/footers/Footer04/Footer04.d.ts +3 -0
  35. package/dist/footers/Footer04/Footer04.types.d.cts +18 -0
  36. package/dist/footers/Footer04/Footer04.types.d.ts +18 -0
  37. package/dist/headers/Header01/Header01.d.cts +6 -0
  38. package/dist/headers/Header01/Header01.d.ts +6 -0
  39. package/dist/headers/Header01/Header01.types.d.cts +18 -0
  40. package/dist/headers/Header01/Header01.types.d.ts +18 -0
  41. package/dist/headers/Header02/Header02.d.cts +6 -0
  42. package/dist/headers/Header02/Header02.d.ts +6 -0
  43. package/dist/headers/Header02/Header02.types.d.cts +69 -0
  44. package/dist/headers/Header02/Header02.types.d.ts +69 -0
  45. package/dist/headers/Header03/Header03.d.cts +6 -0
  46. package/dist/headers/Header03/Header03.d.ts +6 -0
  47. package/dist/headers/Header03/Header03.types.d.cts +24 -0
  48. package/dist/headers/Header03/Header03.types.d.ts +24 -0
  49. package/dist/headers/Header04/Header04.d.cts +3 -0
  50. package/dist/headers/Header04/Header04.d.ts +3 -0
  51. package/dist/headers/Header04/Header04.types.d.cts +47 -0
  52. package/dist/headers/Header04/Header04.types.d.ts +47 -0
  53. package/dist/headers/Header05/Header05.d.cts +3 -0
  54. package/dist/headers/Header05/Header05.d.ts +3 -0
  55. package/dist/headers/Header05/Header05.types.d.cts +27 -0
  56. package/dist/headers/Header05/Header05.types.d.ts +27 -0
  57. package/dist/index.cjs +1259 -7
  58. package/dist/index.cjs.map +4 -4
  59. package/dist/index.d.cts +39 -1
  60. package/dist/index.d.ts +39 -1
  61. package/dist/index.js +1272 -20
  62. package/dist/index.js.map +4 -4
  63. package/dist/pricing/Pricing01/Pricing01.d.cts +3 -0
  64. package/dist/pricing/Pricing01/Pricing01.d.ts +3 -0
  65. package/dist/pricing/Pricing01/Pricing01.types.d.cts +43 -0
  66. package/dist/pricing/Pricing01/Pricing01.types.d.ts +43 -0
  67. package/dist/pricing/Pricing02/Pricing02.d.cts +3 -0
  68. package/dist/pricing/Pricing02/Pricing02.d.ts +3 -0
  69. package/dist/pricing/Pricing02/Pricing02.types.d.cts +64 -0
  70. package/dist/pricing/Pricing02/Pricing02.types.d.ts +64 -0
  71. package/dist/pricing/Pricing03/Pricing03.d.cts +3 -0
  72. package/dist/pricing/Pricing03/Pricing03.d.ts +3 -0
  73. package/dist/pricing/Pricing03/Pricing03.types.d.cts +65 -0
  74. package/dist/pricing/Pricing03/Pricing03.types.d.ts +65 -0
  75. package/dist/pricing/Pricing04/Pricing04.d.cts +3 -0
  76. package/dist/pricing/Pricing04/Pricing04.d.ts +3 -0
  77. package/dist/pricing/Pricing04/Pricing04.types.d.cts +38 -0
  78. package/dist/pricing/Pricing04/Pricing04.types.d.ts +38 -0
  79. package/dist/pricing/Pricing05/Pricing05.d.cts +3 -0
  80. package/dist/pricing/Pricing05/Pricing05.d.ts +3 -0
  81. package/dist/pricing/Pricing05/Pricing05.types.d.cts +64 -0
  82. package/dist/pricing/Pricing05/Pricing05.types.d.ts +64 -0
  83. package/dist/shared/BlockActions.d.cts +1 -1
  84. package/dist/shared/BlockActions.d.ts +1 -1
  85. package/dist/shared/BlockBrandLink.d.cts +3 -0
  86. package/dist/shared/BlockBrandLink.d.ts +3 -0
  87. package/dist/shared/FooterColumns.d.cts +3 -0
  88. package/dist/shared/FooterColumns.d.ts +3 -0
  89. package/dist/shared/icons.d.cts +13 -3
  90. package/dist/shared/icons.d.ts +13 -3
  91. package/dist/shared/shared.types.d.cts +49 -1
  92. package/dist/shared/shared.types.d.ts +49 -1
  93. package/dist/styles.css +3428 -333
  94. package/package.json +2 -2
package/dist/styles.css CHANGED
@@ -1,569 +1,3664 @@
1
1
  /* @openwarelabs/blocks: import after @openwarelabs/ui/styles.css. */
2
- /* heroes/Hero01/Hero01.css */
3
- .ow-hero01,
4
- .ow-hero01 *,
5
- .ow-hero01 *::before,
6
- .ow-hero01 *::after {
2
+ /* features/Features01/Features01.css */
3
+ .ow-features01,
4
+ .ow-features01 *,
5
+ .ow-features01 *::before,
6
+ .ow-features01 *::after {
7
7
  box-sizing: border-box;
8
8
  }
9
9
 
10
- .ow-hero01 {
11
- overflow: hidden;
10
+ .ow-features01 {
12
11
  background: var(--ow-paper);
13
- padding: 112px var(--ow-page-gutter) 0;
12
+ padding: var(--ow-section-y) 32px;
13
+ color: var(--ow-text);
14
14
  }
15
15
 
16
- .ow-hero01__inner {
17
- display: flex;
18
- max-width: 880px;
19
- flex-direction: column;
20
- align-items: center;
16
+ .ow-features01__inner {
17
+ max-width: var(--ow-page-max);
21
18
  margin: 0 auto;
22
- text-align: center;
23
19
  }
24
20
 
25
- .ow-hero01__title {
26
- margin-top: 24px;
27
- }
21
+ /* Six cells in one card, split by hairlines: the 1px gaps show the border colour behind them. */
28
22
 
29
- .ow-hero01__lead {
30
- margin-top: 22px;
23
+ .ow-features01__grid {
24
+ display: grid;
25
+ grid-template-columns: repeat(3, minmax(0, 1fr));
26
+ gap: 1px;
27
+ overflow: hidden;
28
+ margin: 64px 0 0;
29
+ border: 1px solid var(--ow-border);
30
+ border-radius: var(--ow-radius-card);
31
+ background: var(--ow-border);
32
+ padding: 0;
33
+ list-style: none;
31
34
  }
32
35
 
33
- .ow-hero01__actions {
36
+ .ow-features01__item {
34
37
  display: flex;
35
- flex-wrap: wrap;
38
+ flex-direction: column;
39
+ background: var(--ow-surface);
40
+ padding: 32px 32px 36px;
41
+ }
42
+
43
+ .ow-features01__icon {
44
+ display: inline-flex;
45
+ width: 36px;
46
+ height: 36px;
47
+ align-items: center;
36
48
  justify-content: center;
37
- gap: var(--ow-space-lg);
38
- margin-top: 34px;
49
+ border: 1px solid var(--ow-primary-border);
50
+ border-radius: var(--ow-radius-tile);
51
+ background: var(--ow-primary-subtle);
52
+ color: var(--ow-primary-text);
39
53
  }
40
54
 
41
- .ow-hero01__note {
42
- margin-top: 16px;
55
+ .ow-features01__title {
56
+ margin-top: 24px;
43
57
  }
44
58
 
45
- /* The product, cropped at the bottom so it runs on into the page. */
59
+ .ow-features01__text {
60
+ max-width: 340px;
61
+ margin-top: 8px;
62
+ }
46
63
 
47
- .ow-hero01__visual {
48
- max-width: 1080px;
49
- margin: 72px auto 0;
50
- -webkit-mask-image: linear-gradient(to bottom, #000 70%, transparent);
51
- mask-image: linear-gradient(to bottom, #000 70%, transparent);
64
+ .ow-features01__more {
65
+ margin-top: 32px;
66
+ }
67
+
68
+ @media (max-width: 1024px) {
69
+ .ow-features01__grid {
70
+ grid-template-columns: repeat(2, minmax(0, 1fr));
71
+
72
+ }
52
73
  }
53
74
 
54
75
  @media (max-width: 760px) {
55
- .ow-hero01 {
56
- padding-top: 72px;
76
+ .ow-features01 {
77
+ padding: 72px var(--ow-page-gutter);
78
+
57
79
  }
58
- .ow-hero01__actions {
59
- width: 100%;
60
- flex-direction: column;
61
- align-items: stretch;
80
+ .ow-features01__grid {
81
+ grid-template-columns: minmax(0, 1fr);
82
+ margin-top: 40px;
83
+
62
84
  }
63
- .ow-hero01__visual {
64
- margin-top: 48px;
85
+ .ow-features01__item {
86
+ display: grid;
87
+ grid-template-columns: auto minmax(0, 1fr);
88
+ column-gap: 16px;
89
+ padding: 24px 20px;
90
+
91
+ }
92
+ .ow-features01__icon {
93
+ grid-row: span 2;
94
+
95
+ }
96
+ .ow-features01__title {
97
+ margin-top: 6px;
98
+
99
+ }
100
+ .ow-features01__text {
101
+ margin-top: 4px;
102
+
65
103
  }
66
104
  }
67
105
 
68
- /* heroes/Hero02/Hero02.css */
69
- .ow-hero02,
70
- .ow-hero02 *,
71
- .ow-hero02 *::before,
72
- .ow-hero02 *::after {
106
+ /* features/Features02/Features02.css */
107
+ .ow-features02,
108
+ .ow-features02 *,
109
+ .ow-features02 *::before,
110
+ .ow-features02 *::after {
73
111
  box-sizing: border-box;
74
112
  }
75
113
 
76
- .ow-hero02 {
77
- overflow: hidden;
114
+ .ow-features02 {
78
115
  background: var(--ow-paper);
79
- padding: 112px 32px 120px;
116
+ padding: var(--ow-section-y) 32px;
80
117
  color: var(--ow-text);
81
118
  }
82
119
 
83
- .ow-hero02__inner {
84
- display: grid;
120
+ .ow-features02__inner {
85
121
  max-width: var(--ow-page-max);
86
- grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
122
+ margin: 0 auto;
123
+ }
124
+
125
+ .ow-features02__rows {
126
+ display: grid;
127
+ gap: 112px;
128
+ margin-top: 80px;
129
+ }
130
+
131
+ .ow-features02__row {
132
+ display: grid;
133
+ grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
87
134
  align-items: center;
88
135
  gap: 72px;
89
- margin: 0 auto;
90
136
  }
91
137
 
92
- .ow-hero02__text {
138
+ /* Every other row puts the picture first. */
139
+
140
+ .ow-features02__row:nth-child(even) {
141
+ grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
142
+ }
143
+
144
+ .ow-features02__row:nth-child(even) .ow-features02__copy {
145
+ order: 2;
146
+ }
147
+
148
+ .ow-features02__copy {
93
149
  display: flex;
150
+ max-width: 460px;
94
151
  flex-direction: column;
95
152
  align-items: flex-start;
96
153
  }
97
154
 
98
- .ow-hero02__title {
99
- margin-top: 24px;
155
+ .ow-features02__kicker {
156
+ display: inline-flex;
157
+ align-items: center;
158
+ gap: 8px;
100
159
  }
101
160
 
102
- .ow-hero02__lead {
103
- max-width: 500px;
104
- margin-top: 22px;
161
+ .ow-features02__title {
162
+ margin-top: 16px;
105
163
  }
106
164
 
107
- .ow-hero02__actions {
108
- display: flex;
109
- flex-wrap: wrap;
110
- gap: var(--ow-space-lg);
111
- margin-top: 34px;
165
+ .ow-features02__text {
166
+ margin-top: 16px;
112
167
  }
113
168
 
114
- .ow-hero02__points {
169
+ .ow-features02__points {
115
170
  display: grid;
116
- gap: 8px;
117
- margin: 32px 0 0;
171
+ gap: 10px;
172
+ margin: 24px 0 0;
118
173
  padding: 0;
119
174
  list-style: none;
120
175
  }
121
176
 
122
- .ow-hero02__point {
123
- display: inline-flex;
124
- align-items: center;
125
- gap: 7px;
177
+ .ow-features02__point {
178
+ display: flex;
179
+ align-items: flex-start;
180
+ gap: 10px;
126
181
  }
127
182
 
128
- .ow-hero02__points svg {
183
+ .ow-features02__points svg {
184
+ flex-shrink: 0;
185
+ margin-top: 1px;
129
186
  color: var(--ow-primary-text);
130
187
  }
131
188
 
132
- @media (max-width: 960px) {
133
- .ow-hero02 {
134
- padding-top: 88px;
189
+ .ow-features02__link {
190
+ margin-top: 28px;
191
+ }
192
+
193
+ /* The picture: a window on the dot grid, framed like a screenshot. */
194
+
195
+ .ow-features02__stage.ow-dot-grid {
196
+ display: flex;
197
+ min-height: 400px;
198
+ align-items: center;
199
+ justify-content: center;
200
+ overflow: hidden;
201
+ border: 1px solid var(--ow-border);
202
+ border-radius: var(--ow-radius-card);
203
+ background: color-mix(in srgb, var(--ow-primary) 3%, var(--ow-paper));
204
+ padding: 48px 40px;
205
+ pointer-events: none;
206
+ user-select: none;
207
+ }
208
+
209
+ .ow-features02__stage > .ow-dot-grid__content {
210
+ width: 100%;
211
+ max-width: 480px;
212
+ }
213
+
214
+ @media (max-width: 1024px) {
215
+ .ow-features02__row,
216
+ .ow-features02__row:nth-child(even) {
217
+ gap: 48px;
218
+
135
219
  }
136
- .ow-hero02__inner {
220
+ }
221
+
222
+ @media (max-width: 900px) {
223
+ .ow-features02__rows {
224
+ gap: 80px;
225
+
226
+ }
227
+ .ow-features02__row,
228
+ .ow-features02__row:nth-child(even) {
137
229
  grid-template-columns: minmax(0, 1fr);
138
- gap: 56px;
230
+ gap: 36px;
231
+
139
232
  }
140
- .ow-hero02__lead {
141
- max-width: 580px;
233
+ .ow-features02__row:nth-child(even) .ow-features02__copy {
234
+ order: 0;
235
+
142
236
  }
143
- .ow-hero02__points {
144
- display: flex;
145
- flex-wrap: wrap;
146
- gap: 8px 22px;
237
+ .ow-features02__copy {
238
+ max-width: 560px;
239
+
147
240
  }
148
241
  }
149
242
 
150
243
  @media (max-width: 760px) {
151
- .ow-hero02 {
152
- padding: 72px var(--ow-page-gutter) 80px;
153
- }
154
- .ow-hero02__inner {
155
- gap: 48px;
244
+ .ow-features02 {
245
+ padding: 72px var(--ow-page-gutter);
246
+
156
247
  }
157
- .ow-hero02__actions {
158
- width: 100%;
159
- flex-direction: column;
160
- align-items: stretch;
248
+ .ow-features02__rows {
249
+ gap: 64px;
250
+ margin-top: 48px;
251
+
161
252
  }
162
- .ow-hero02__points {
163
- display: grid;
253
+ .ow-features02__stage.ow-dot-grid {
254
+ min-height: 0;
255
+ padding: 28px 14px;
256
+
164
257
  }
165
258
  }
166
259
 
167
- /* heroes/Hero03/Hero03.css */
168
- .ow-hero03,
169
- .ow-hero03 *,
170
- .ow-hero03 *::before,
171
- .ow-hero03 *::after {
260
+ /* features/Features03/Features03.css */
261
+ .ow-features03,
262
+ .ow-features03 *,
263
+ .ow-features03 *::before,
264
+ .ow-features03 *::after {
172
265
  box-sizing: border-box;
173
266
  }
174
267
 
175
- .ow-hero03 {
176
- overflow: hidden;
268
+ .ow-features03 {
177
269
  background: var(--ow-paper);
178
- padding: 120px var(--ow-page-gutter) 112px;
270
+ padding: var(--ow-section-y) 32px;
179
271
  color: var(--ow-text);
180
272
  }
181
273
 
182
- .ow-hero03__inner {
183
- display: flex;
184
- max-width: 760px;
185
- flex-direction: column;
186
- align-items: center;
274
+ .ow-features03__inner {
275
+ max-width: var(--ow-page-max);
187
276
  margin: 0 auto;
188
- text-align: center;
189
277
  }
190
278
 
191
- .ow-hero03__title {
192
- margin-top: 24px;
279
+ /* The title on the left, the intro on the right, sharing a baseline at the bottom. */
280
+
281
+ .ow-features03__header {
282
+ display: grid;
283
+ grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
284
+ align-items: end;
285
+ gap: 48px;
193
286
  }
194
287
 
195
- .ow-hero03__lead {
196
- margin-top: 22px;
288
+ .ow-features03__intro {
289
+ max-width: 440px;
197
290
  }
198
291
 
199
- /* The form: a pill-shaped field and its button on one line. */
292
+ /* Six columns: the agents card takes four columns and two rows, the rest two columns each. */
200
293
 
201
- .ow-hero03__form {
202
- width: 100%;
203
- max-width: 480px;
204
- margin-top: 36px;
294
+ .ow-features03__grid {
295
+ display: grid;
296
+ grid-template-columns: repeat(6, minmax(0, 1fr));
297
+ gap: 16px;
298
+ margin-top: 56px;
205
299
  }
206
300
 
207
- .ow-hero03__row {
301
+ .ow-features03__card {
208
302
  display: flex;
209
- gap: var(--ow-space-sm);
303
+ min-width: 0;
304
+ flex-direction: column;
305
+ overflow: hidden;
306
+ grid-column: span 2;
307
+ border: 1px solid var(--ow-border);
308
+ border-radius: var(--ow-radius-card);
309
+ background: var(--ow-surface);
210
310
  }
211
311
 
212
- .ow-hero03 .ow-hero03__input {
213
- height: 46px;
214
- flex: 1;
215
- border-radius: var(--ow-radius-pill);
216
- padding-left: 18px;
217
- box-shadow: var(--ow-shadow-control);
218
- font-size: 15px;
312
+ .ow-features03__card--featured {
313
+ grid-column: span 4;
314
+ grid-row: span 2;
219
315
  }
220
316
 
221
- .ow-hero03__error {
222
- margin: 10px 0 0 18px;
223
- text-align: left;
317
+ .ow-features03__copy {
318
+ padding: 24px 24px 20px;
224
319
  }
225
320
 
226
- .ow-hero03__note {
227
- margin-top: 14px;
321
+ .ow-features03__card--featured .ow-features03__copy {
322
+ max-width: 540px;
323
+ padding: 32px 32px 24px;
228
324
  }
229
325
 
230
- /* What's left in place of the form once someone has joined. */
231
-
232
- .ow-hero03__done {
233
- display: flex;
234
- width: 100%;
235
- max-width: 480px;
236
- align-items: center;
237
- gap: 12px;
238
- margin-top: 36px;
239
- border: 1px solid var(--ow-border);
240
- border-radius: var(--ow-radius-card);
241
- background: var(--ow-surface);
242
- padding: 14px 14px 14px 16px;
243
- text-align: left;
244
- animation: ow-hero03-in var(--ow-duration-slow) var(--ow-ease-emphasized);
326
+ .ow-features03__text {
327
+ margin-top: 6px;
245
328
  }
246
329
 
247
- .ow-hero03__done-icon {
248
- display: inline-flex;
249
- width: 32px;
250
- height: 32px;
251
- flex-shrink: 0;
252
- align-items: center;
253
- justify-content: center;
254
- border-radius: 50%;
255
- background: var(--ow-success-surface);
256
- color: var(--ow-success-text);
330
+ .ow-features03__card--featured .ow-features03__text {
331
+ margin-top: 10px;
257
332
  }
258
333
 
259
- .ow-hero03__done-text {
260
- display: grid;
261
- min-width: 0;
334
+ /* The picture sits in a tray inset from the card, and runs off its bottom edge like a cropped screenshot. */
335
+
336
+ .ow-features03__visual {
337
+ position: relative;
338
+ display: flex;
339
+ min-height: 168px;
262
340
  flex: 1;
263
- gap: 2px;
341
+ flex-direction: column;
342
+ overflow: hidden;
343
+ margin: 0 8px 8px;
344
+ border-radius: var(--ow-radius-tile);
345
+ background: var(--ow-canvas);
346
+ padding: 20px;
347
+ font-size: 13px;
348
+ pointer-events: none;
349
+ user-select: none;
264
350
  }
265
351
 
266
- .ow-hero03__done-detail {
267
- overflow-wrap: anywhere;
352
+ .ow-features03__card--featured .ow-features03__visual {
353
+ min-height: 380px;
354
+ padding: 32px 32px 0;
268
355
  }
269
356
 
270
- @keyframes ow-hero03-in {
271
- from {
272
- opacity: 0;
273
- transform: translateY(4px);
357
+ @media (max-width: 1024px) {
358
+ .ow-features03__header {
359
+ grid-template-columns: minmax(0, 1fr);
360
+ gap: 16px;
361
+
274
362
  }
275
- }
276
-
277
- @media (max-width: 760px) {
278
- .ow-hero03 {
279
- padding: 72px var(--ow-page-gutter) 80px;
363
+ .ow-features03__grid {
364
+ grid-template-columns: repeat(2, minmax(0, 1fr));
365
+
280
366
  }
281
- .ow-hero03__row {
282
- flex-direction: column;
367
+ .ow-features03__card,
368
+ .ow-features03__card--featured {
369
+ grid-column: span 1;
370
+ grid-row: auto;
371
+
283
372
  }
284
- .ow-hero03 .ow-hero03__input {
285
- flex: none;
373
+ .ow-features03__card--featured,
374
+ .ow-features03__card--last {
375
+ grid-column: 1 / -1;
376
+
377
+ }
378
+ .ow-features03__card--featured .ow-features03__visual {
379
+ min-height: 0;
380
+
286
381
  }
287
382
  }
288
383
 
289
- @media (prefers-reduced-motion: reduce) {
290
- .ow-hero03__done {
291
- animation: none;
384
+ @media (max-width: 760px) {
385
+ .ow-features03 {
386
+ padding: 72px var(--ow-page-gutter);
387
+
388
+ }
389
+ .ow-features03__grid {
390
+ grid-template-columns: minmax(0, 1fr);
391
+ margin-top: 40px;
392
+
393
+ }
394
+ .ow-features03__card--featured .ow-features03__copy {
395
+ padding: 24px 24px 20px;
396
+
397
+ }
398
+ .ow-features03__card--featured .ow-features03__visual {
399
+ padding: 20px 16px 0;
400
+
292
401
  }
293
402
  }
294
403
 
295
- /* heroes/Hero04/Hero04.css */
296
- .ow-hero04,
297
- .ow-hero04 *,
298
- .ow-hero04 *::before,
299
- .ow-hero04 *::after {
404
+ /* features/Features04/Features04.css */
405
+ .ow-features04,
406
+ .ow-features04 *,
407
+ .ow-features04 *::before,
408
+ .ow-features04 *::after {
300
409
  box-sizing: border-box;
301
410
  }
302
411
 
303
- .ow-hero04 {
412
+ .ow-features04 {
304
413
  overflow: hidden;
305
414
  background: var(--ow-paper);
415
+ padding: var(--ow-section-y) 32px;
306
416
  color: var(--ow-text);
307
417
  }
308
418
 
309
- .ow-hero04__grid {
310
- padding: 128px 32px 136px;
419
+ .ow-features04__inner {
420
+ max-width: var(--ow-page-max);
421
+ margin: 0 auto;
311
422
  }
312
423
 
313
- /* The headline in the middle column; the sample work sits either side of it on wide screens. */
424
+ .ow-features04__tabs {
425
+ gap: 0;
426
+ margin-top: 48px;
427
+ }
314
428
 
315
- .ow-hero04__layout {
316
- display: grid;
317
- max-width: var(--ow-page-max);
318
- grid-template-columns: minmax(0, 1fr) minmax(0, 640px) minmax(0, 1fr);
319
- align-items: center;
320
- gap: 40px;
321
- margin: 0 auto;
429
+ .ow-features04__tabs .ow-tabs__list {
430
+ justify-self: center;
322
431
  }
323
432
 
324
- .ow-hero04__text {
433
+ .ow-features04__panel {
325
434
  display: flex;
326
435
  flex-direction: column;
327
436
  align-items: center;
328
437
  }
329
438
 
330
- .ow-hero04__title {
331
- margin-top: 24px;
439
+ .ow-features04__caption {
440
+ max-width: 640px;
441
+ margin-top: 28px;
332
442
  }
333
443
 
334
- .ow-hero04__lead {
335
- margin-top: 22px;
444
+ @media (max-width: 760px) {
445
+ .ow-features04 {
446
+ padding: 72px var(--ow-page-gutter);
447
+
448
+ }
449
+ .ow-features04__tabs {
450
+ margin-top: 36px;
451
+
452
+ }
453
+ .ow-features04__tabs .ow-tab__icon {
454
+ display: none;
455
+
456
+ }
457
+ .ow-features04__caption {
458
+ margin-top: 22px;
459
+
460
+ }
336
461
  }
337
462
 
338
- .ow-hero04__actions {
463
+ /* features/Features05/Features05.css */
464
+ .ow-features05,
465
+ .ow-features05 *,
466
+ .ow-features05 *::before,
467
+ .ow-features05 *::after {
468
+ box-sizing: border-box;
469
+ }
470
+
471
+ .ow-features05 {
472
+ background: var(--ow-paper);
473
+ padding: var(--ow-section-y) 32px;
474
+ color: var(--ow-text);
475
+ }
476
+
477
+ .ow-features05__inner {
478
+ display: grid;
479
+ grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
480
+ align-items: center;
481
+ gap: 72px;
482
+ max-width: var(--ow-page-max);
483
+ margin: 0 auto;
484
+ }
485
+
486
+ .ow-features05__list {
487
+ display: grid;
488
+ grid-template-columns: repeat(2, minmax(0, 1fr));
489
+ gap: 14px 24px;
490
+ margin: 36px 0 0;
491
+ border-top: 1px solid var(--ow-border);
492
+ padding: 28px 0 0;
493
+ list-style: none;
494
+ }
495
+
496
+ .ow-features05__item {
339
497
  display: flex;
340
- flex-wrap: wrap;
498
+ align-items: flex-start;
499
+ gap: 10px;
500
+ }
501
+
502
+ .ow-features05__tick {
503
+ display: inline-flex;
504
+ width: 18px;
505
+ height: 18px;
506
+ flex-shrink: 0;
507
+ align-items: center;
341
508
  justify-content: center;
342
- gap: var(--ow-space-lg);
343
- margin-top: 34px;
509
+ margin-top: 1px;
510
+ border-radius: 50%;
511
+ background: var(--ow-primary-subtle);
512
+ color: var(--ow-primary-text);
513
+ box-shadow: inset 0 0 0 1px var(--ow-primary-border);
344
514
  }
345
515
 
346
- @media (max-width: 1180px) {
347
- .ow-hero04__layout {
516
+ .ow-features05__actions {
517
+ display: flex;
518
+ flex-wrap: wrap;
519
+ align-items: center;
520
+ gap: 24px;
521
+ margin-top: 40px;
522
+ }
523
+
524
+ @media (max-width: 1024px) {
525
+ .ow-features05__inner {
348
526
  grid-template-columns: minmax(0, 1fr);
527
+ gap: 56px;
528
+
529
+ }
530
+ .ow-features05__copy {
531
+ max-width: 620px;
532
+
349
533
  }
350
534
  }
351
535
 
352
536
  @media (max-width: 760px) {
353
- .ow-hero04__grid {
354
- padding: 80px var(--ow-page-gutter) 88px;
537
+ .ow-features05 {
538
+ padding: 72px var(--ow-page-gutter);
539
+
355
540
  }
356
- .ow-hero04__actions {
357
- width: 100%;
541
+ .ow-features05__list {
542
+ grid-template-columns: minmax(0, 1fr);
543
+ gap: 12px;
544
+ margin-top: 28px;
545
+ padding-top: 24px;
546
+
547
+ }
548
+ .ow-features05__actions {
358
549
  flex-direction: column;
359
550
  align-items: stretch;
551
+ gap: 18px;
552
+ margin-top: 32px;
553
+ text-align: center;
554
+
555
+ }
556
+ .ow-features05__inner {
557
+ gap: 44px;
558
+
360
559
  }
361
560
  }
362
561
 
363
- /* heroes/Hero05/Hero05.css */
364
- .ow-hero05,
365
- .ow-hero05 *,
366
- .ow-hero05 *::before,
367
- .ow-hero05 *::after {
562
+ /* footers/Footer01/Footer01.css */
563
+ .ow-footer01,
564
+ .ow-footer01 *,
565
+ .ow-footer01 *::before,
566
+ .ow-footer01 *::after {
368
567
  box-sizing: border-box;
369
568
  }
370
569
 
371
- .ow-hero05 {
570
+ .ow-footer01 {
571
+ border-top: 1px solid var(--ow-border);
372
572
  background: var(--ow-paper);
373
- padding: 128px 32px 88px;
573
+ padding: 72px 32px 32px;
374
574
  color: var(--ow-text);
375
575
  }
376
576
 
377
- .ow-hero05__inner {
577
+ .ow-footer01__inner {
378
578
  max-width: var(--ow-page-max);
379
579
  margin: 0 auto;
380
580
  }
381
581
 
382
- /* The headline on the left, the lead and the buttons on the right, sharing a baseline at the bottom. */
383
-
384
- .ow-hero05__top {
582
+ .ow-footer01__top {
385
583
  display: grid;
386
- grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
387
- align-items: end;
388
- gap: 64px;
584
+ grid-template-columns: minmax(0, 1.5fr) repeat(4, minmax(0, 1fr));
585
+ gap: 40px 32px;
586
+ padding-bottom: 56px;
389
587
  }
390
588
 
391
- .ow-hero05__heading {
589
+ .ow-footer01__brand {
392
590
  display: flex;
591
+ max-width: 300px;
393
592
  flex-direction: column;
394
593
  align-items: flex-start;
594
+ gap: 16px;
395
595
  }
396
596
 
397
- .ow-hero05__title {
398
- margin-top: 24px;
597
+ /* The logo is a link home that stays the logo: ink, with no underline on hover. */
598
+
599
+ .ow-footer01__logo.ow-link,
600
+ .ow-footer01__logo.ow-link:hover {
601
+ display: inline-flex;
602
+ align-items: center;
603
+ gap: 10px;
604
+ border-radius: var(--ow-radius-md);
605
+ color: var(--ow-text);
606
+ text-decoration: none;
399
607
  }
400
608
 
401
- .ow-hero05__actions {
402
- display: flex;
403
- flex-wrap: wrap;
404
- gap: var(--ow-space-lg);
405
- margin-top: 28px;
609
+ .ow-footer01__logo.ow-link:focus-visible {
610
+ outline-offset: 4px;
406
611
  }
407
612
 
408
- /* The first proof: who already uses it. */
613
+ .ow-footer01__status {
614
+ display: inline-flex;
615
+ align-items: center;
616
+ gap: 8px;
617
+ }
409
618
 
410
- .ow-hero05__proof {
411
- margin-top: 104px;
412
- border-top: 1px solid var(--ow-border);
413
- padding-top: 36px;
619
+ .ow-footer01__status-dot {
620
+ width: 7px;
621
+ height: 7px;
622
+ flex-shrink: 0;
623
+ border-radius: 50%;
624
+ background: var(--ow-success-solid);
625
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--ow-success-solid) 20%, transparent);
414
626
  }
415
627
 
416
- .ow-hero05__list {
628
+ .ow-footer01__heading {
629
+ margin-bottom: 16px;
630
+ }
631
+
632
+ .ow-footer01__links {
633
+ display: grid;
634
+ gap: 11px;
635
+ margin: 0;
636
+ padding: 0;
637
+ list-style: none;
638
+ }
639
+
640
+ /* Footer links sit back: muted and in the regular weight, ink on hover. */
641
+
642
+ .ow-footer01__links .ow-link {
643
+ color: var(--ow-text-muted);
644
+ font-weight: var(--ow-weight-regular);
645
+ }
646
+
647
+ .ow-footer01__links .ow-link:hover {
648
+ color: var(--ow-text);
649
+ }
650
+
651
+ /* A small brass pill rather than a Badge, which is too tall to sit in a line of links. */
652
+
653
+ .ow-footer01__new {
654
+ margin-left: 8px;
655
+ border-radius: var(--ow-radius-pill);
656
+ background: var(--ow-brass-soft);
657
+ padding: 2px 7px;
658
+ color: var(--ow-brass-deep);
659
+ vertical-align: 1px;
660
+ }
661
+
662
+ .ow-footer01__bottom {
417
663
  display: flex;
418
664
  flex-wrap: wrap;
419
665
  align-items: center;
420
666
  justify-content: space-between;
421
- gap: 28px 40px;
422
- margin: 28px 0 0;
423
- padding: 0;
424
- list-style: none;
667
+ gap: 16px 24px;
668
+ padding-top: 24px;
425
669
  }
426
670
 
427
- /* Each logo sits on its own, as tall as it is, so a row of them lines up on its centres. */
428
- .ow-hero05__logo {
671
+ .ow-footer01__legal {
672
+ display: flex;
673
+ flex-wrap: wrap;
674
+ align-items: center;
675
+ gap: 6px 20px;
676
+ }
677
+
678
+ .ow-footer01__theme {
429
679
  display: flex;
430
680
  align-items: center;
681
+ gap: 10px;
431
682
  }
432
683
 
433
684
  @media (max-width: 1024px) {
434
- .ow-hero05 {
435
- padding-top: 104px;
436
- }
437
- .ow-hero05__top {
438
- grid-template-columns: minmax(0, 1fr);
439
- gap: 28px;
440
- }
441
- .ow-hero05__list {
442
- display: grid;
685
+ .ow-footer01__top {
443
686
  grid-template-columns: repeat(4, minmax(0, 1fr));
444
- justify-items: start;
687
+
688
+ }
689
+ .ow-footer01__brand {
690
+ max-width: 420px;
691
+ grid-column: 1 / -1;
692
+
445
693
  }
446
694
  }
447
695
 
448
696
  @media (max-width: 760px) {
449
- .ow-hero05 {
450
- padding: 72px var(--ow-page-gutter) 64px;
451
- }
452
- .ow-hero05__actions {
453
- flex-direction: column;
454
- align-items: stretch;
455
- }
456
- .ow-hero05__proof {
457
- margin-top: 64px;
458
- padding-top: 28px;
697
+ .ow-footer01 {
698
+ padding: 56px var(--ow-page-gutter) 28px;
699
+
459
700
  }
460
- .ow-hero05__list {
701
+ .ow-footer01__top {
461
702
  grid-template-columns: repeat(2, minmax(0, 1fr));
462
- gap: 28px 16px;
703
+ gap: 36px 24px;
704
+ padding-bottom: 40px;
705
+
706
+ }
707
+ .ow-footer01__bottom {
708
+ flex-direction: column-reverse;
709
+ align-items: flex-start;
710
+
463
711
  }
464
712
  }
465
713
 
466
- /* heroes/Hero06/Hero06.css */
467
- .ow-hero06,
468
- .ow-hero06 *,
469
- .ow-hero06 *::before,
470
- .ow-hero06 *::after {
714
+ /* footers/Footer02/Footer02.css */
715
+ .ow-footer02,
716
+ .ow-footer02 *,
717
+ .ow-footer02 *::before,
718
+ .ow-footer02 *::after {
471
719
  box-sizing: border-box;
472
720
  }
473
721
 
474
- .ow-hero06 {
475
- overflow: hidden;
722
+ .ow-footer02 {
723
+ border-top: 1px solid var(--ow-border);
476
724
  background: var(--ow-paper);
477
- padding: 112px 32px 120px;
725
+ padding: 48px 32px;
478
726
  color: var(--ow-text);
479
727
  }
480
728
 
481
- .ow-hero06__inner {
482
- display: grid;
729
+ .ow-footer02__inner {
730
+ display: flex;
483
731
  max-width: var(--ow-page-max);
484
- grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
732
+ flex-direction: column;
485
733
  align-items: center;
486
- gap: 72px;
734
+ gap: 24px;
487
735
  margin: 0 auto;
736
+ text-align: center;
488
737
  }
489
738
 
490
- .ow-hero06__text {
491
- display: flex;
492
- flex-direction: column;
493
- align-items: flex-start;
494
- }
495
-
496
- .ow-hero06__title {
497
- margin-top: 24px;
498
- }
499
-
500
- .ow-hero06__lead {
501
- max-width: 480px;
502
- margin-top: 22px;
739
+ .ow-footer02__logo.ow-link {
740
+ display: inline-flex;
741
+ border-radius: 8px;
503
742
  }
504
743
 
505
- .ow-hero06__buttons {
506
- display: flex;
507
- flex-wrap: wrap;
508
- gap: var(--ow-space-sm);
509
- margin-top: 34px;
744
+ .ow-footer02__logo.ow-link:focus-visible {
745
+ outline-offset: 3px;
510
746
  }
511
747
 
512
- .ow-hero06__meta {
748
+ .ow-footer02__links {
513
749
  display: flex;
514
750
  flex-wrap: wrap;
515
- align-items: center;
516
- gap: 4px 14px;
517
- margin-top: 18px;
751
+ justify-content: center;
752
+ gap: 10px 28px;
753
+ margin: 0;
754
+ padding: 0;
755
+ list-style: none;
518
756
  }
519
757
 
520
- .ow-hero06__meta > span + span::before {
521
- content: "";
522
- display: inline-block;
523
- width: 3px;
524
- height: 3px;
525
- margin-right: 14px;
526
- border-radius: 50%;
527
- background: var(--ow-border-strong);
528
- vertical-align: middle;
758
+ .ow-footer02__links .ow-link {
759
+ color: var(--ow-text-soft);
529
760
  }
530
761
 
531
- @media (max-width: 960px) {
532
- .ow-hero06 {
533
- padding-top: 88px;
534
- }
535
- .ow-hero06__inner {
536
- grid-template-columns: minmax(0, 1fr);
537
- gap: 48px;
762
+ @media (max-width: 760px) {
763
+ .ow-footer02 {
764
+ padding: 40px var(--ow-page-gutter);
765
+
538
766
  }
539
- .ow-hero06__lead {
540
- max-width: 560px;
767
+ .ow-footer02__links {
768
+ max-width: 320px;
769
+ gap: 10px 22px;
770
+
541
771
  }
542
772
  }
543
773
 
544
- @media (max-width: 760px) {
545
- .ow-hero06 {
546
- padding: 72px var(--ow-page-gutter) 80px;
547
- }
548
- .ow-hero06__buttons {
549
- width: 100%;
550
- }
551
- .ow-hero06__buttons > :first-child {
552
- width: 100%;
774
+ /* footers/Footer03/Footer03.css */
775
+ .ow-footer03,
776
+ .ow-footer03 *,
777
+ .ow-footer03 *::before,
778
+ .ow-footer03 *::after {
779
+ box-sizing: border-box;
780
+ }
781
+
782
+ .ow-footer03 {
783
+ border-top: 1px solid var(--ow-border);
784
+ background: var(--ow-paper);
785
+ padding: 56px 32px 32px;
786
+ color: var(--ow-text);
787
+ }
788
+
789
+ .ow-footer03__inner {
790
+ max-width: var(--ow-page-max);
791
+ margin: 0 auto;
792
+ }
793
+
794
+ /* The sign-up, on a card of its own above the links. */
795
+
796
+ .ow-footer03__signup {
797
+ display: grid;
798
+ grid-template-columns: minmax(0, 1fr) minmax(0, 440px);
799
+ align-items: center;
800
+ gap: 24px 64px;
801
+ border: 1px solid var(--ow-border);
802
+ border-radius: var(--ow-radius-card);
803
+ background: var(--ow-surface);
804
+ padding: 36px 40px;
805
+ }
806
+
807
+ .ow-footer03__intro {
808
+ max-width: 480px;
809
+ margin-top: 8px;
810
+ }
811
+
812
+ .ow-footer03__row {
813
+ display: flex;
814
+ gap: 8px;
815
+ }
816
+
817
+ .ow-footer03__email.ow-input-group {
818
+ min-width: 0;
819
+ flex: 1;
820
+ border-radius: var(--ow-radius-pill);
821
+ padding-left: 14px;
822
+ }
823
+
824
+ .ow-footer03__note {
825
+ margin: 10px 0 0 16px;
826
+ }
827
+
828
+ .ow-footer03__done {
829
+ display: flex;
830
+ align-items: flex-start;
831
+ gap: 12px;
832
+ border: 1px solid var(--ow-success-border);
833
+ border-radius: var(--ow-radius-container);
834
+ background: var(--ow-success-surface);
835
+ padding: 14px 16px;
836
+ }
837
+
838
+ .ow-footer03__done > svg {
839
+ flex-shrink: 0;
840
+ margin-top: 2px;
841
+ color: var(--ow-success-text);
842
+ }
843
+
844
+ .ow-footer03__done-text {
845
+ display: grid;
846
+ min-width: 0;
847
+ flex: 1;
848
+ gap: 2px;
849
+ }
850
+
851
+ .ow-footer03__done-detail {
852
+ overflow-wrap: anywhere;
853
+ }
854
+
855
+ .ow-footer03__done .ow-button {
856
+ flex-shrink: 0;
857
+ margin: -4px -6px -4px 0;
858
+ }
859
+
860
+ .ow-footer03__links {
861
+ display: grid;
862
+ grid-template-columns: minmax(0, 1.4fr) repeat(4, minmax(0, 1fr));
863
+ gap: 36px 32px;
864
+ padding: 56px 0;
865
+ }
866
+
867
+ .ow-footer03__brand {
868
+ display: grid;
869
+ align-content: start;
870
+ justify-items: start;
871
+ gap: 14px;
872
+ }
873
+
874
+ .ow-footer03__line {
875
+ max-width: 240px;
876
+ }
877
+
878
+ /* The logo is a link home that stays the logo: ink, with no underline on hover. */
879
+
880
+ .ow-footer03__logo.ow-link,
881
+ .ow-footer03__logo.ow-link:hover {
882
+ display: inline-flex;
883
+ align-items: center;
884
+ gap: 10px;
885
+ border-radius: var(--ow-radius-md);
886
+ color: var(--ow-text);
887
+ text-decoration: none;
888
+ }
889
+
890
+ .ow-footer03__logo.ow-link:focus-visible {
891
+ outline-offset: 4px;
892
+ }
893
+
894
+ .ow-footer03__heading {
895
+ margin-bottom: 16px;
896
+ }
897
+
898
+ .ow-footer03__list {
899
+ display: grid;
900
+ gap: 11px;
901
+ margin: 0;
902
+ padding: 0;
903
+ list-style: none;
904
+ }
905
+
906
+ /* Footer links sit back: muted and in the regular weight, ink on hover. */
907
+
908
+ .ow-footer03__list .ow-link {
909
+ color: var(--ow-text-muted);
910
+ font-weight: var(--ow-weight-regular);
911
+ }
912
+
913
+ .ow-footer03__list .ow-link:hover {
914
+ color: var(--ow-text);
915
+ }
916
+
917
+ .ow-footer03__bottom {
918
+ display: flex;
919
+ flex-wrap: wrap;
920
+ align-items: center;
921
+ justify-content: space-between;
922
+ gap: 12px 24px;
923
+ padding-top: 24px;
924
+ }
925
+
926
+ .ow-footer03__legal {
927
+ display: flex;
928
+ flex-wrap: wrap;
929
+ gap: 6px 20px;
930
+ margin: 0;
931
+ padding: 0;
932
+ list-style: none;
933
+ }
934
+
935
+ @media (max-width: 1024px) {
936
+ .ow-footer03__signup {
937
+ grid-template-columns: minmax(0, 1fr);
938
+ padding: 32px;
939
+
940
+ }
941
+ .ow-footer03__links {
942
+ grid-template-columns: repeat(4, minmax(0, 1fr));
943
+
944
+ }
945
+ .ow-footer03__brand {
946
+ grid-column: 1 / -1;
947
+
948
+ }
949
+ .ow-footer03__line {
950
+ max-width: 420px;
951
+
952
+ }
953
+ }
954
+
955
+ @media (max-width: 760px) {
956
+ .ow-footer03 {
957
+ padding: 40px var(--ow-page-gutter) 28px;
958
+
959
+ }
960
+ .ow-footer03__signup {
961
+ padding: 24px 20px;
962
+
963
+ }
964
+ .ow-footer03__row {
965
+ flex-direction: column;
966
+
967
+ }
968
+ .ow-footer03__email.ow-input-group {
969
+ flex: none;
970
+
971
+ }
972
+ .ow-footer03__note {
973
+ margin-left: 4px;
974
+
975
+ }
976
+ .ow-footer03__links {
977
+ grid-template-columns: repeat(2, minmax(0, 1fr));
978
+ padding: 44px 0 40px;
979
+
980
+ }
981
+ }
982
+
983
+ /* footers/Footer04/Footer04.css */
984
+ .ow-footer04,
985
+ .ow-footer04 *,
986
+ .ow-footer04 *::before,
987
+ .ow-footer04 *::after {
988
+ box-sizing: border-box;
989
+ }
990
+
991
+ .ow-footer04 {
992
+ overflow: hidden;
993
+ border-top: 1px solid var(--ow-border);
994
+ background: var(--ow-paper);
995
+ padding: 72px 32px 0;
996
+ color: var(--ow-text);
997
+ }
998
+
999
+ .ow-footer04__inner {
1000
+ max-width: var(--ow-page-max);
1001
+ margin: 0 auto;
1002
+ }
1003
+
1004
+ .ow-footer04__top {
1005
+ display: grid;
1006
+ grid-template-columns: minmax(0, 1fr) auto;
1007
+ align-items: start;
1008
+ gap: 48px 64px;
1009
+ }
1010
+
1011
+ .ow-footer04__pitch {
1012
+ max-width: 440px;
1013
+ }
1014
+
1015
+ .ow-footer04__pitch .ow-button {
1016
+ margin-top: 28px;
1017
+ }
1018
+
1019
+ .ow-footer04__columns {
1020
+ display: grid;
1021
+ grid-template-columns: repeat(3, minmax(140px, auto));
1022
+ gap: 32px 56px;
1023
+ }
1024
+
1025
+ .ow-footer04__heading {
1026
+ margin-bottom: 16px;
1027
+ }
1028
+
1029
+ .ow-footer04__list {
1030
+ display: grid;
1031
+ gap: 11px;
1032
+ margin: 0;
1033
+ padding: 0;
1034
+ list-style: none;
1035
+ }
1036
+
1037
+ /* Footer links sit back: muted and in the regular weight, ink on hover. */
1038
+
1039
+ .ow-footer04__list .ow-link {
1040
+ color: var(--ow-text-muted);
1041
+ font-weight: var(--ow-weight-regular);
1042
+ }
1043
+
1044
+ .ow-footer04__list .ow-link:hover {
1045
+ color: var(--ow-text);
1046
+ }
1047
+
1048
+ .ow-footer04__legal {
1049
+ display: flex;
1050
+ flex-wrap: wrap;
1051
+ align-items: center;
1052
+ justify-content: space-between;
1053
+ gap: 8px 24px;
1054
+ margin-top: 72px;
1055
+ }
1056
+
1057
+ .ow-footer04__legal-links {
1058
+ display: flex;
1059
+ flex-wrap: wrap;
1060
+ gap: 6px 20px;
1061
+ margin: 0;
1062
+ padding: 0;
1063
+ list-style: none;
1064
+ }
1065
+
1066
+ /* The name across the bottom: sized to the width of the page (cqw), so it fits at every width, and cut off just
1067
+ above the baseline so it sits on the edge of the window. */
1068
+
1069
+ .ow-footer04__name {
1070
+ margin-top: 32px;
1071
+ container-type: inline-size;
1072
+ user-select: none;
1073
+ }
1074
+
1075
+ .ow-footer04__crop {
1076
+ height: 25.6cqw;
1077
+ margin: 0 -3cqw;
1078
+ overflow: hidden;
1079
+ padding: 0 3cqw;
1080
+ }
1081
+
1082
+ .ow-footer04__crop span {
1083
+ display: block;
1084
+ margin-left: -2.8cqw;
1085
+ background: linear-gradient(180deg, var(--ow-primary-text) 15%, color-mix(in srgb, var(--ow-primary-text) 20%, transparent) 100%);
1086
+ background-clip: text;
1087
+ -webkit-background-clip: text;
1088
+ color: transparent;
1089
+ font-size: 40.3cqw;
1090
+ font-weight: 600;
1091
+ line-height: 0.8;
1092
+ letter-spacing: -0.065em;
1093
+ white-space: nowrap;
1094
+ }
1095
+
1096
+ @media (max-width: 1024px) {
1097
+ .ow-footer04__top {
1098
+ grid-template-columns: minmax(0, 1fr);
1099
+
1100
+ }
1101
+ .ow-footer04__columns {
1102
+ grid-template-columns: repeat(3, minmax(0, 1fr));
1103
+
1104
+ }
1105
+ }
1106
+
1107
+ @media (max-width: 760px) {
1108
+ .ow-footer04 {
1109
+ padding: 56px var(--ow-page-gutter) 0;
1110
+
1111
+ }
1112
+ .ow-footer04__columns {
1113
+ grid-template-columns: repeat(2, minmax(0, 1fr));
1114
+ gap: 32px 24px;
1115
+
1116
+ }
1117
+ .ow-footer04__legal {
1118
+ margin-top: 48px;
1119
+
1120
+ }
1121
+ }
1122
+
1123
+ /* headers/Header01/Header01.css */
1124
+ .ow-header01,
1125
+ .ow-header01 *,
1126
+ .ow-header01 *::before,
1127
+ .ow-header01 *::after {
1128
+ box-sizing: border-box;
1129
+ }
1130
+
1131
+ /* The pill stays 14px from the top as the page scrolls beneath it. Only the pill itself takes the pointer. */
1132
+
1133
+ .ow-header01 {
1134
+ position: sticky;
1135
+ top: 0;
1136
+ z-index: 20;
1137
+ padding: 14px 24px 0;
1138
+ pointer-events: none;
1139
+ }
1140
+
1141
+ .ow-header01 .ow-site-header {
1142
+ display: grid;
1143
+ max-width: 1040px;
1144
+ grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
1145
+ margin: 0 auto;
1146
+ pointer-events: auto;
1147
+ }
1148
+
1149
+ .ow-header01 .ow-site-header__actions {
1150
+ justify-self: end;
1151
+ }
1152
+
1153
+ .ow-header01 .ow-site-header__nav a[aria-current="page"] {
1154
+ color: var(--ow-text);
1155
+ }
1156
+
1157
+ /* The wordmark takes SiteHeader's brand lettering, not the link's weight or its hover colour. */
1158
+
1159
+ .ow-header01__brand,
1160
+ .ow-header01__brand:hover {
1161
+ color: inherit;
1162
+ }
1163
+
1164
+ .ow-header01__brand {
1165
+ display: inline-flex;
1166
+ align-items: center;
1167
+ gap: 9px;
1168
+ border-radius: var(--ow-radius-md);
1169
+ font-weight: inherit;
1170
+ }
1171
+
1172
+ /* Sign in looks like the nav links beside it: soft text that darkens on hover, never underlined. */
1173
+
1174
+ .ow-header01__sign-in {
1175
+ margin-right: 6px;
1176
+ color: var(--ow-text-soft);
1177
+ text-decoration: none;
1178
+ white-space: nowrap;
1179
+ }
1180
+
1181
+ .ow-header01__sign-in:hover {
1182
+ color: var(--ow-text);
1183
+ }
1184
+
1185
+ .ow-header01__phone-menu {
1186
+ display: none;
1187
+ }
1188
+
1189
+ .ow-header01__menu {
1190
+ display: grid;
1191
+ gap: 2px;
1192
+ margin: -6px;
1193
+ }
1194
+
1195
+ /* Menu rows: a soft ground on hover instead of the link's underline. */
1196
+
1197
+ .ow-header01__menu-link {
1198
+ border-radius: var(--ow-radius-lg);
1199
+ padding: 9px 10px;
1200
+ text-decoration: none;
1201
+ transition: background-color var(--ow-duration-base) var(--ow-ease-standard);
1202
+ }
1203
+
1204
+ .ow-header01__menu-link:hover {
1205
+ background: var(--ow-surface-muted);
1206
+ color: var(--ow-text);
1207
+ }
1208
+
1209
+ .ow-header01__menu-link[aria-current="page"] {
1210
+ background: var(--ow-surface-muted);
1211
+ }
1212
+
1213
+ .ow-header01__menu-link--sign-in {
1214
+ margin-top: 6px;
1215
+ border-top: 1px solid var(--ow-border);
1216
+ border-radius: 0 0 var(--ow-radius-lg) var(--ow-radius-lg);
1217
+ padding-top: 13px;
1218
+ }
1219
+
1220
+ @media (max-width: 1024px) {
1221
+ .ow-header01 .ow-site-header {
1222
+ grid-template-columns: auto minmax(0, 1fr) auto;
1223
+
1224
+ }
1225
+ .ow-header01 .ow-site-header__nav {
1226
+ justify-self: center;
1227
+
1228
+ }
1229
+ }
1230
+
1231
+ @media (max-width: 760px) {
1232
+ .ow-header01 {
1233
+ padding: 10px var(--ow-page-gutter) 0;
1234
+
1235
+ }
1236
+ .ow-header01 .ow-site-header {
1237
+ grid-template-columns: minmax(0, 1fr) auto;
1238
+ padding-left: 16px;
1239
+
1240
+ }
1241
+ .ow-header01__sign-in {
1242
+ display: none;
1243
+
1244
+ }
1245
+ .ow-header01__phone-menu {
1246
+ display: inline-flex;
1247
+
1248
+ }
1249
+ }
1250
+
1251
+ /* headers/Header02/Header02.css */
1252
+ .ow-header02,
1253
+ .ow-header02 *,
1254
+ .ow-header02 *::before,
1255
+ .ow-header02 *::after {
1256
+ box-sizing: border-box;
1257
+ }
1258
+
1259
+ .ow-header02 {
1260
+ position: sticky;
1261
+ top: 0;
1262
+ z-index: 20;
1263
+ border-bottom: 1px solid var(--ow-border);
1264
+ background: var(--ow-surface);
1265
+ }
1266
+
1267
+ .ow-header02__inner {
1268
+ display: flex;
1269
+ max-width: var(--ow-page-max);
1270
+ height: 64px;
1271
+ align-items: center;
1272
+ gap: 28px;
1273
+ margin: 0 auto;
1274
+ padding: 0 32px;
1275
+ }
1276
+
1277
+ /* The wordmark keeps the logo's own lettering, as SiteHeader's brand does, and no link colour on hover. */
1278
+
1279
+ .ow-header02__brand,
1280
+ .ow-header02__brand:hover {
1281
+ color: var(--ow-text);
1282
+ }
1283
+
1284
+ .ow-header02__brand {
1285
+ display: inline-flex;
1286
+ flex-shrink: 0;
1287
+ align-items: center;
1288
+ gap: 9px;
1289
+ border-radius: var(--ow-radius-md);
1290
+ font-size: 16px;
1291
+ font-weight: var(--ow-weight-emphasis);
1292
+ letter-spacing: -0.02em;
1293
+ text-decoration: none;
1294
+ }
1295
+
1296
+ .ow-header02__nav {
1297
+ display: flex;
1298
+ min-width: 0;
1299
+ flex: 1;
1300
+ align-items: center;
1301
+ gap: 2px;
1302
+ }
1303
+
1304
+ /* Links and menu triggers are ghost pill buttons with one look: quieter than an action, in soft text at the nav's
1305
+ weight rather than a button's, with a plain ground on hover and while open. */
1306
+
1307
+ .ow-header02__item {
1308
+ gap: 4px;
1309
+ padding: 0 12px;
1310
+ color: var(--ow-text-soft);
1311
+ font-weight: var(--ow-weight-control);
1312
+ }
1313
+
1314
+ .ow-header02__item:hover:not(:disabled),
1315
+ .ow-header02__item[aria-expanded="true"] {
1316
+ border-color: transparent;
1317
+ background: var(--ow-hover);
1318
+ color: var(--ow-text);
1319
+ }
1320
+
1321
+ .ow-header02__item svg {
1322
+ color: var(--ow-icon);
1323
+ transition: transform var(--ow-duration-base) var(--ow-ease-standard);
1324
+ }
1325
+
1326
+ .ow-header02__item[aria-expanded="true"] svg {
1327
+ transform: rotate(180deg);
1328
+ }
1329
+
1330
+ .ow-header02__actions {
1331
+ display: flex;
1332
+ flex-shrink: 0;
1333
+ align-items: center;
1334
+ gap: 6px;
1335
+ }
1336
+
1337
+ .ow-header02__toggle {
1338
+ display: none;
1339
+ }
1340
+
1341
+ /* The product menu: four areas of the product and the latest news. */
1342
+
1343
+ .ow-header02 .ow-header02__popover {
1344
+ padding: 8px;
1345
+ }
1346
+
1347
+ .ow-header02__product {
1348
+ display: grid;
1349
+ grid-template-columns: minmax(0, 1fr) 216px;
1350
+ gap: 8px;
1351
+ }
1352
+
1353
+ .ow-header02__features {
1354
+ display: grid;
1355
+ grid-template-columns: repeat(2, minmax(0, 1fr));
1356
+ gap: 2px;
1357
+ margin: 0;
1358
+ padding: 0;
1359
+ list-style: none;
1360
+ }
1361
+
1362
+ /* The product's areas are tiles: a soft ground on hover instead of the link's underline. */
1363
+
1364
+ .ow-header02__feature,
1365
+ .ow-header02__feature:hover {
1366
+ color: var(--ow-text);
1367
+ }
1368
+
1369
+ .ow-header02__feature {
1370
+ display: flex;
1371
+ height: 100%;
1372
+ align-items: flex-start;
1373
+ gap: 12px;
1374
+ border-radius: var(--ow-radius-lg);
1375
+ padding: 12px;
1376
+ text-decoration: none;
1377
+ transition: background-color var(--ow-duration-base) var(--ow-ease-standard);
1378
+ }
1379
+
1380
+ .ow-header02__feature:hover {
1381
+ background: var(--ow-surface-muted);
1382
+ }
1383
+
1384
+ .ow-header02__feature-icon {
1385
+ display: inline-flex;
1386
+ width: 32px;
1387
+ height: 32px;
1388
+ flex-shrink: 0;
1389
+ align-items: center;
1390
+ justify-content: center;
1391
+ border: 1px solid var(--ow-border);
1392
+ border-radius: var(--ow-radius-tile);
1393
+ background: var(--ow-surface);
1394
+ color: var(--ow-primary-text);
1395
+ box-shadow: var(--ow-shadow-control);
1396
+ }
1397
+
1398
+ .ow-header02__feature-text {
1399
+ display: grid;
1400
+ gap: 4px;
1401
+ }
1402
+
1403
+ .ow-header02__news,
1404
+ .ow-header02__news:hover {
1405
+ color: var(--ow-text);
1406
+ }
1407
+
1408
+ .ow-header02__news {
1409
+ display: flex;
1410
+ flex-direction: column;
1411
+ align-items: flex-start;
1412
+ gap: 10px;
1413
+ border: 1px solid var(--ow-border);
1414
+ border-radius: var(--ow-radius-lg);
1415
+ background: var(--ow-surface-muted);
1416
+ padding: 14px;
1417
+ text-decoration: none;
1418
+ transition: border-color var(--ow-duration-base) var(--ow-ease-standard);
1419
+ }
1420
+
1421
+ .ow-header02__news:hover {
1422
+ border-color: var(--ow-border-strong);
1423
+ }
1424
+
1425
+ .ow-header02__news-link {
1426
+ display: inline-flex;
1427
+ align-items: center;
1428
+ gap: 4px;
1429
+ margin-top: auto;
1430
+ }
1431
+
1432
+ /* Phones: the panel under the bar. */
1433
+
1434
+ .ow-header02__panel {
1435
+ display: grid;
1436
+ max-height: calc(100dvh - 57px);
1437
+ overflow-y: auto;
1438
+ border-top: 1px solid var(--ow-border);
1439
+ padding: 6px var(--ow-page-gutter) 20px;
1440
+ animation: ow-header02-panel-in var(--ow-duration-base) var(--ow-ease-emphasized);
1441
+ }
1442
+
1443
+ .ow-header02__panel[hidden] {
1444
+ display: none;
1445
+ }
1446
+
1447
+ .ow-header02__panel-label {
1448
+ margin: 16px 0 4px;
1449
+ }
1450
+
1451
+ .ow-header02__panel-list {
1452
+ display: grid;
1453
+ margin: 0;
1454
+ padding: 0;
1455
+ list-style: none;
1456
+ }
1457
+
1458
+ .ow-header02__panel-list--columns {
1459
+ grid-template-columns: repeat(2, minmax(0, 1fr));
1460
+ column-gap: 16px;
1461
+ }
1462
+
1463
+ .ow-header02__panel-list--ruled {
1464
+ margin: 14px 0 18px;
1465
+ border-top: 1px solid var(--ow-border);
1466
+ padding-top: 6px;
1467
+ }
1468
+
1469
+ .ow-header02__panel-link {
1470
+ display: flex;
1471
+ min-height: 42px;
1472
+ align-items: center;
1473
+ gap: 12px;
1474
+ border-radius: var(--ow-radius-md);
1475
+ }
1476
+
1477
+ .ow-header02__panel-link svg {
1478
+ color: var(--ow-primary-text);
1479
+ }
1480
+
1481
+ @keyframes ow-header02-panel-in {
1482
+ from {
1483
+ opacity: 0;
1484
+ transform: translateY(-4px);
1485
+ }
1486
+ }
1487
+
1488
+ @media (max-width: 1024px) {
1489
+ .ow-header02__inner {
1490
+ gap: 16px;
1491
+ padding: 0 24px;
1492
+
1493
+ }
1494
+ }
1495
+
1496
+ @media (max-width: 760px) {
1497
+ .ow-header02__inner {
1498
+ height: 56px;
1499
+ padding: 0 12px 0 var(--ow-page-gutter);
1500
+
1501
+ }
1502
+ .ow-header02__nav,
1503
+ .ow-header02__sign-in {
1504
+ display: none;
1505
+
1506
+ }
1507
+ .ow-header02__actions {
1508
+ margin-left: auto;
1509
+
1510
+ }
1511
+ .ow-header02__toggle {
1512
+ display: inline-flex;
1513
+
1514
+ }
1515
+ }
1516
+
1517
+ @media (prefers-reduced-motion: reduce) {
1518
+ .ow-header02__panel {
1519
+ animation: none;
1520
+
1521
+ }
1522
+ .ow-header02__item svg {
1523
+ transition: none;
1524
+
1525
+ }
1526
+ }
1527
+
1528
+ /* headers/Header03/Header03.css */
1529
+ .ow-header03,
1530
+ .ow-header03 *,
1531
+ .ow-header03 *::before,
1532
+ .ow-header03 *::after {
1533
+ box-sizing: border-box;
1534
+ }
1535
+
1536
+ .ow-header03 {
1537
+ border-bottom: 1px solid var(--ow-border);
1538
+ }
1539
+
1540
+ /* Three columns, the outer two equal, so the logo sits in the true centre whatever is either side. */
1541
+
1542
+ .ow-header03__inner {
1543
+ display: grid;
1544
+ max-width: var(--ow-page-max);
1545
+ height: 76px;
1546
+ grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
1547
+ align-items: center;
1548
+ gap: 24px;
1549
+ margin: 0 auto;
1550
+ padding: 0 32px;
1551
+ }
1552
+
1553
+ .ow-header03__nav {
1554
+ display: flex;
1555
+ align-items: center;
1556
+ gap: 26px;
1557
+ }
1558
+
1559
+ /* The wordmark keeps the logo's own lettering, larger here as the bar's centrepiece, and no link colour on hover. */
1560
+
1561
+ .ow-header03__brand,
1562
+ .ow-header03__brand:hover {
1563
+ color: var(--ow-text);
1564
+ }
1565
+
1566
+ .ow-header03__brand {
1567
+ display: inline-flex;
1568
+ align-items: center;
1569
+ gap: 10px;
1570
+ border-radius: var(--ow-radius-md);
1571
+ font-size: 19px;
1572
+ font-weight: var(--ow-weight-emphasis);
1573
+ letter-spacing: -0.025em;
1574
+ text-decoration: none;
1575
+ }
1576
+
1577
+ .ow-header03__end {
1578
+ display: flex;
1579
+ align-items: center;
1580
+ justify-content: flex-end;
1581
+ gap: 26px;
1582
+ }
1583
+
1584
+ /* Nav links as in SiteHeader: soft text that darkens on hover and on the current page, never underlined. */
1585
+
1586
+ .ow-header03__link {
1587
+ color: var(--ow-text-soft);
1588
+ text-decoration: none;
1589
+ white-space: nowrap;
1590
+ }
1591
+
1592
+ .ow-header03__link:hover,
1593
+ .ow-header03__link[aria-current="page"] {
1594
+ color: var(--ow-text);
1595
+ }
1596
+
1597
+ /* A hairline between the links and the account actions. */
1598
+
1599
+ .ow-header03__actions {
1600
+ display: flex;
1601
+ align-items: center;
1602
+ gap: 18px;
1603
+ border-left: 1px solid var(--ow-border);
1604
+ padding-left: 26px;
1605
+ }
1606
+
1607
+ .ow-header03__phone-only {
1608
+ display: none;
1609
+ }
1610
+
1611
+ @media (max-width: 1024px) {
1612
+ .ow-header03__inner {
1613
+ padding: 0 24px;
1614
+
1615
+ }
1616
+ .ow-header03__nav,
1617
+ .ow-header03__end {
1618
+ gap: 20px;
1619
+
1620
+ }
1621
+ .ow-header03__actions {
1622
+ gap: 16px;
1623
+ border-left: 0;
1624
+ padding-left: 0;
1625
+
1626
+ }
1627
+ }
1628
+
1629
+ /* Tablets and phones: sign in, the logo and the button on one line; the links on a second line, which scrolls
1630
+ sideways when it runs out of room. */
1631
+
1632
+ @media (max-width: 900px) {
1633
+ .ow-header03 {
1634
+ padding-bottom: 6px;
1635
+
1636
+ }
1637
+ .ow-header03__inner {
1638
+ height: 60px;
1639
+ gap: 12px;
1640
+
1641
+ }
1642
+ .ow-header03__nav,
1643
+ .ow-header03__actions .ow-header03__link {
1644
+ display: none;
1645
+
1646
+ }
1647
+ .ow-header03__brand {
1648
+ font-size: 17px;
1649
+
1650
+ }
1651
+ .ow-header03__phone-only {
1652
+ display: block;
1653
+
1654
+ }
1655
+ .ow-header03__inner > .ow-header03__phone-only {
1656
+ justify-self: start;
1657
+
1658
+ }
1659
+ .ow-header03__phone-nav {
1660
+ scrollbar-width: none;
1661
+
1662
+ }
1663
+ .ow-header03__phone-links {
1664
+ display: flex;
1665
+ width: max-content;
1666
+ gap: 22px;
1667
+ margin: 0 auto;
1668
+ padding: 8px 24px 10px;
1669
+ list-style: none;
1670
+
1671
+ }
1672
+ }
1673
+
1674
+ @media (max-width: 760px) {
1675
+ .ow-header03__inner {
1676
+ padding: 0 var(--ow-page-gutter);
1677
+
1678
+ }
1679
+ .ow-header03__phone-links {
1680
+ padding-right: var(--ow-page-gutter);
1681
+ padding-left: var(--ow-page-gutter);
1682
+
1683
+ }
1684
+ }
1685
+
1686
+ /* headers/Header04/Header04.css */
1687
+ .ow-header04,
1688
+ .ow-header04 *,
1689
+ .ow-header04 *::before,
1690
+ .ow-header04 *::after {
1691
+ box-sizing: border-box;
1692
+ }
1693
+
1694
+ /* The slim line: midnight in both themes. Closing it folds it away, then hides it from keyboards and readers. */
1695
+
1696
+ .ow-header04__notice {
1697
+ display: grid;
1698
+ grid-template-rows: 1fr;
1699
+ background: var(--ow-brand-700);
1700
+ color: var(--ow-on-primary);
1701
+ transition:
1702
+ grid-template-rows var(--ow-duration-slow) var(--ow-ease-standard),
1703
+ visibility 0s;
1704
+ }
1705
+
1706
+ .ow-header04__notice[data-closed] {
1707
+ grid-template-rows: 0fr;
1708
+ visibility: hidden;
1709
+ transition:
1710
+ grid-template-rows var(--ow-duration-slow) var(--ow-ease-standard),
1711
+ visibility 0s linear var(--ow-duration-slow);
1712
+ }
1713
+
1714
+ .ow-header04__clip {
1715
+ min-height: 0;
1716
+ overflow: hidden;
1717
+ }
1718
+
1719
+ .ow-header04__notice-inner {
1720
+ display: grid;
1721
+ max-width: var(--ow-page-max);
1722
+ min-height: 40px;
1723
+ grid-template-columns: 24px minmax(0, 1fr) 24px;
1724
+ align-items: center;
1725
+ gap: 12px;
1726
+ margin: 0 auto;
1727
+ padding: 6px 24px;
1728
+ }
1729
+
1730
+ .ow-header04__message {
1731
+ grid-column: 2;
1732
+ text-align: center;
1733
+ }
1734
+
1735
+ .ow-header04__dot {
1736
+ display: inline-block;
1737
+ width: 6px;
1738
+ height: 6px;
1739
+ margin-right: 10px;
1740
+ border-radius: 50%;
1741
+ background: var(--ow-brass);
1742
+ vertical-align: 2px;
1743
+ }
1744
+
1745
+ .ow-header04__message strong {
1746
+ font-weight: var(--ow-weight-emphasis);
1747
+ }
1748
+
1749
+ .ow-header04__detail {
1750
+ color: color-mix(in srgb, var(--ow-on-primary) 78%, transparent);
1751
+ }
1752
+
1753
+ /* A link on the midnight line: white, with a faint underline that firms up on hover. */
1754
+
1755
+ .ow-header04__link {
1756
+ margin-left: 10px;
1757
+ color: var(--ow-on-primary);
1758
+ font-weight: var(--ow-weight-control);
1759
+ text-decoration-color: color-mix(in srgb, var(--ow-on-primary) 40%, transparent);
1760
+ white-space: nowrap;
1761
+ }
1762
+
1763
+ .ow-header04__link svg {
1764
+ margin-left: 4px;
1765
+ vertical-align: -2px;
1766
+ }
1767
+
1768
+ .ow-header04__link:hover {
1769
+ color: var(--ow-on-primary);
1770
+ text-decoration-color: var(--ow-on-primary);
1771
+ }
1772
+
1773
+ .ow-header04__link:focus-visible,
1774
+ .ow-header04__notice .ow-close-button:focus-visible {
1775
+ outline: 2px solid var(--ow-on-primary);
1776
+ outline-offset: 2px;
1777
+ }
1778
+
1779
+ .ow-header04__notice .ow-close-button {
1780
+ grid-column: 3;
1781
+ color: color-mix(in srgb, var(--ow-on-primary) 72%, transparent);
1782
+ }
1783
+
1784
+ .ow-header04__notice .ow-close-button:hover {
1785
+ background: color-mix(in srgb, var(--ow-on-primary) 14%, transparent);
1786
+ color: var(--ow-on-primary);
1787
+ }
1788
+
1789
+ /* The header under it. */
1790
+
1791
+ .ow-header04__header {
1792
+ border-bottom: 1px solid var(--ow-border);
1793
+ }
1794
+
1795
+ .ow-header04__inner {
1796
+ display: grid;
1797
+ max-width: var(--ow-page-max);
1798
+ height: 64px;
1799
+ grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
1800
+ align-items: center;
1801
+ gap: 24px;
1802
+ margin: 0 auto;
1803
+ padding: 0 32px;
1804
+ }
1805
+
1806
+ /* The wordmark keeps the logo's own lettering, as SiteHeader's brand does, and no link colour on hover. */
1807
+
1808
+ .ow-header04__brand,
1809
+ .ow-header04__brand:hover {
1810
+ color: var(--ow-text);
1811
+ }
1812
+
1813
+ .ow-header04__brand {
1814
+ display: inline-flex;
1815
+ align-items: center;
1816
+ justify-self: start;
1817
+ gap: 9px;
1818
+ border-radius: var(--ow-radius-md);
1819
+ font-size: 16px;
1820
+ font-weight: var(--ow-weight-emphasis);
1821
+ letter-spacing: -0.02em;
1822
+ text-decoration: none;
1823
+ }
1824
+
1825
+ .ow-header04__nav {
1826
+ display: flex;
1827
+ align-items: center;
1828
+ gap: 26px;
1829
+ }
1830
+
1831
+ /* Nav links as in SiteHeader: soft text that darkens on hover, never underlined. */
1832
+
1833
+ .ow-header04__link-plain {
1834
+ color: var(--ow-text-soft);
1835
+ text-decoration: none;
1836
+ white-space: nowrap;
1837
+ }
1838
+
1839
+ .ow-header04__link-plain:hover {
1840
+ color: var(--ow-text);
1841
+ }
1842
+
1843
+ .ow-header04__actions {
1844
+ display: flex;
1845
+ align-items: center;
1846
+ justify-content: flex-end;
1847
+ gap: 18px;
1848
+ }
1849
+
1850
+ .ow-header04__phone-menu,
1851
+ .ow-header04__link-narrow {
1852
+ display: none;
1853
+ }
1854
+
1855
+ @media (max-width: 1024px) {
1856
+ .ow-header04__inner {
1857
+ grid-template-columns: auto minmax(0, 1fr) auto;
1858
+ gap: 16px;
1859
+ padding: 0 24px;
1860
+
1861
+ }
1862
+ .ow-header04__nav {
1863
+ justify-self: center;
1864
+ gap: 20px;
1865
+
1866
+ }
1867
+ }
1868
+
1869
+ @media (max-width: 760px) {
1870
+ .ow-header04__notice-inner {
1871
+ grid-template-columns: minmax(0, 1fr) 24px;
1872
+ padding: 8px 10px 8px var(--ow-page-gutter);
1873
+
1874
+ }
1875
+ .ow-header04__message {
1876
+ grid-column: 1;
1877
+ text-align: left;
1878
+
1879
+ }
1880
+ .ow-header04__notice .ow-close-button {
1881
+ grid-column: 2;
1882
+
1883
+ }
1884
+ .ow-header04__detail,
1885
+ .ow-header04__link-wide {
1886
+ display: none;
1887
+
1888
+ }
1889
+ .ow-header04__link-narrow {
1890
+ display: inline;
1891
+
1892
+ }
1893
+ .ow-header04__inner {
1894
+ height: 60px;
1895
+ grid-template-columns: minmax(0, 1fr) auto;
1896
+ gap: 8px;
1897
+ padding: 0 12px 0 var(--ow-page-gutter);
1898
+
1899
+ }
1900
+ .ow-header04__nav,
1901
+ .ow-header04__actions .ow-header04__link-plain {
1902
+ display: none;
1903
+
1904
+ }
1905
+ .ow-header04__actions {
1906
+ gap: 4px;
1907
+
1908
+ }
1909
+ .ow-header04__phone-menu {
1910
+ display: inline-flex;
1911
+
1912
+ }
1913
+ }
1914
+
1915
+ @media (prefers-reduced-motion: reduce) {
1916
+ .ow-header04__notice,
1917
+ .ow-header04__notice[data-closed] {
1918
+ transition: none;
1919
+
1920
+ }
1921
+ }
1922
+
1923
+ /* headers/Header05/Header05.css */
1924
+ .ow-header05,
1925
+ .ow-header05 *,
1926
+ .ow-header05 *::before,
1927
+ .ow-header05 *::after {
1928
+ box-sizing: border-box;
1929
+ }
1930
+
1931
+ .ow-header05 {
1932
+ position: sticky;
1933
+ top: 0;
1934
+ z-index: 20;
1935
+ border-bottom: 1px solid var(--ow-border);
1936
+ background: var(--ow-paper);
1937
+ }
1938
+
1939
+ .ow-header05__inner {
1940
+ display: flex;
1941
+ max-width: var(--ow-page-max);
1942
+ height: 64px;
1943
+ align-items: center;
1944
+ gap: 36px;
1945
+ margin: 0 auto;
1946
+ padding: 0 32px;
1947
+ }
1948
+
1949
+ /* The wordmark keeps the logo's own lettering, as SiteHeader's brand does, and no link colour on hover. */
1950
+
1951
+ .ow-header05__brand,
1952
+ .ow-header05__brand:hover {
1953
+ color: var(--ow-text);
1954
+ }
1955
+
1956
+ .ow-header05__brand {
1957
+ display: inline-flex;
1958
+ flex-shrink: 0;
1959
+ align-items: center;
1960
+ gap: 9px;
1961
+ border-radius: var(--ow-radius-md);
1962
+ font-size: 16px;
1963
+ font-weight: var(--ow-weight-emphasis);
1964
+ letter-spacing: -0.02em;
1965
+ text-decoration: none;
1966
+ }
1967
+
1968
+ .ow-header05__nav {
1969
+ display: flex;
1970
+ flex: 1;
1971
+ align-items: center;
1972
+ gap: 26px;
1973
+ }
1974
+
1975
+ /* Nav links as in SiteHeader: soft text that darkens on hover and on the current page, never underlined. */
1976
+
1977
+ .ow-header05__link {
1978
+ color: var(--ow-text-soft);
1979
+ text-decoration: none;
1980
+ white-space: nowrap;
1981
+ }
1982
+
1983
+ .ow-header05__link:hover,
1984
+ .ow-header05__link[aria-current="page"] {
1985
+ color: var(--ow-text);
1986
+ }
1987
+
1988
+ .ow-header05__actions {
1989
+ display: flex;
1990
+ align-items: center;
1991
+ gap: 18px;
1992
+ margin-left: auto;
1993
+ }
1994
+
1995
+ .ow-header05__open {
1996
+ display: none;
1997
+ }
1998
+
1999
+ /* The drawer: the main links large, the rest smaller, the two account actions pinned at the bottom. */
2000
+
2001
+ .ow-header05__drawer .ow-drawer__body {
2002
+ padding-top: 6px;
2003
+ }
2004
+
2005
+ .ow-header05__drawer .ow-drawer__footer > * {
2006
+ flex: 1;
2007
+ }
2008
+
2009
+ .ow-header05__drawer-list {
2010
+ margin: 0;
2011
+ padding: 0;
2012
+ list-style: none;
2013
+ }
2014
+
2015
+ .ow-header05__drawer-list li + li {
2016
+ border-top: 1px solid var(--ow-border);
2017
+ }
2018
+
2019
+ /* The main links are large for a thumb (17px, above the 14px of the bar); the chevron moves on hover instead of an underline. */
2020
+
2021
+ .ow-header05__drawer-link,
2022
+ .ow-header05__drawer-link:hover {
2023
+ color: var(--ow-text);
2024
+ }
2025
+
2026
+ .ow-header05__drawer-link {
2027
+ display: flex;
2028
+ min-height: 54px;
2029
+ align-items: center;
2030
+ gap: 10px;
2031
+ border-radius: var(--ow-radius-md);
2032
+ font-size: 17px;
2033
+ text-decoration: none;
2034
+ }
2035
+
2036
+ .ow-header05__drawer-link svg {
2037
+ margin-left: auto;
2038
+ color: var(--ow-icon);
2039
+ transition: transform var(--ow-duration-base) var(--ow-ease-standard);
2040
+ }
2041
+
2042
+ .ow-header05__drawer-link:hover svg {
2043
+ transform: translateX(2px);
2044
+ }
2045
+
2046
+ /* A brass dot beside the page you're on. */
2047
+
2048
+ .ow-header05__current {
2049
+ width: 6px;
2050
+ height: 6px;
2051
+ border-radius: 50%;
2052
+ background: var(--ow-brass);
2053
+ }
2054
+
2055
+ .ow-header05__more {
2056
+ margin-top: 20px;
2057
+ border-top: 1px solid var(--ow-border);
2058
+ padding-top: 18px;
2059
+ }
2060
+
2061
+ .ow-header05__more-label {
2062
+ margin-bottom: 6px;
2063
+ }
2064
+
2065
+ .ow-header05__more-list {
2066
+ display: grid;
2067
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2068
+ gap: 0 16px;
2069
+ margin: 0;
2070
+ padding: 0;
2071
+ list-style: none;
2072
+ }
2073
+
2074
+ .ow-header05__more-link {
2075
+ display: flex;
2076
+ min-height: 40px;
2077
+ align-items: center;
2078
+ border-radius: var(--ow-radius-md);
2079
+ color: var(--ow-text-soft);
2080
+ text-decoration: none;
2081
+ }
2082
+
2083
+ .ow-header05__more-link:hover {
2084
+ color: var(--ow-text);
2085
+ }
2086
+
2087
+ /* Tablets and phones: the links fold into the drawer. */
2088
+
2089
+ @media (max-width: 1024px) {
2090
+ .ow-header05__inner {
2091
+ padding: 0 16px 0 24px;
2092
+
2093
+ }
2094
+ .ow-header05__nav,
2095
+ .ow-header05__actions .ow-header05__link {
2096
+ display: none;
2097
+
2098
+ }
2099
+ .ow-header05__actions {
2100
+ gap: 6px;
2101
+
2102
+ }
2103
+ .ow-header05__open {
2104
+ display: inline-flex;
2105
+
2106
+ }
2107
+ }
2108
+
2109
+ @media (max-width: 760px) {
2110
+ .ow-header05__inner {
2111
+ height: 58px;
2112
+ padding: 0 12px 0 var(--ow-page-gutter);
2113
+
2114
+ }
2115
+ }
2116
+
2117
+ @media (prefers-reduced-motion: reduce) {
2118
+ .ow-header05__drawer-link svg {
2119
+ transition: none;
2120
+
2121
+ }
2122
+ }
2123
+
2124
+ /* heroes/Hero01/Hero01.css */
2125
+ .ow-hero01,
2126
+ .ow-hero01 *,
2127
+ .ow-hero01 *::before,
2128
+ .ow-hero01 *::after {
2129
+ box-sizing: border-box;
2130
+ }
2131
+
2132
+ .ow-hero01 {
2133
+ overflow: hidden;
2134
+ background: var(--ow-paper);
2135
+ padding: 112px var(--ow-page-gutter) 0;
2136
+ }
2137
+
2138
+ .ow-hero01__inner {
2139
+ display: flex;
2140
+ max-width: 880px;
2141
+ flex-direction: column;
2142
+ align-items: center;
2143
+ margin: 0 auto;
2144
+ text-align: center;
2145
+ }
2146
+
2147
+ .ow-hero01__title {
2148
+ margin-top: 24px;
2149
+ }
2150
+
2151
+ .ow-hero01__lead {
2152
+ margin-top: 22px;
2153
+ }
2154
+
2155
+ .ow-hero01__actions {
2156
+ display: flex;
2157
+ flex-wrap: wrap;
2158
+ justify-content: center;
2159
+ gap: var(--ow-space-lg);
2160
+ margin-top: 34px;
2161
+ }
2162
+
2163
+ .ow-hero01__note {
2164
+ margin-top: 16px;
2165
+ }
2166
+
2167
+ /* The product, cropped at the bottom so it runs on into the page. */
2168
+
2169
+ .ow-hero01__visual {
2170
+ max-width: 1080px;
2171
+ margin: 72px auto 0;
2172
+ -webkit-mask-image: linear-gradient(to bottom, #000 70%, transparent);
2173
+ mask-image: linear-gradient(to bottom, #000 70%, transparent);
2174
+ }
2175
+
2176
+ @media (max-width: 760px) {
2177
+ .ow-hero01 {
2178
+ padding-top: 72px;
2179
+ }
2180
+ .ow-hero01__actions {
2181
+ width: 100%;
2182
+ flex-direction: column;
2183
+ align-items: stretch;
2184
+ }
2185
+ .ow-hero01__visual {
2186
+ margin-top: 48px;
2187
+ }
2188
+ }
2189
+
2190
+ /* heroes/Hero02/Hero02.css */
2191
+ .ow-hero02,
2192
+ .ow-hero02 *,
2193
+ .ow-hero02 *::before,
2194
+ .ow-hero02 *::after {
2195
+ box-sizing: border-box;
2196
+ }
2197
+
2198
+ .ow-hero02 {
2199
+ overflow: hidden;
2200
+ background: var(--ow-paper);
2201
+ padding: 112px 32px 120px;
2202
+ color: var(--ow-text);
2203
+ }
2204
+
2205
+ .ow-hero02__inner {
2206
+ display: grid;
2207
+ max-width: var(--ow-page-max);
2208
+ grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
2209
+ align-items: center;
2210
+ gap: 72px;
2211
+ margin: 0 auto;
2212
+ }
2213
+
2214
+ .ow-hero02__text {
2215
+ display: flex;
2216
+ flex-direction: column;
2217
+ align-items: flex-start;
2218
+ }
2219
+
2220
+ .ow-hero02__title {
2221
+ margin-top: 24px;
2222
+ }
2223
+
2224
+ .ow-hero02__lead {
2225
+ max-width: 500px;
2226
+ margin-top: 22px;
2227
+ }
2228
+
2229
+ .ow-hero02__actions {
2230
+ display: flex;
2231
+ flex-wrap: wrap;
2232
+ gap: var(--ow-space-lg);
2233
+ margin-top: 34px;
2234
+ }
2235
+
2236
+ .ow-hero02__points {
2237
+ display: grid;
2238
+ gap: 8px;
2239
+ margin: 32px 0 0;
2240
+ padding: 0;
2241
+ list-style: none;
2242
+ }
2243
+
2244
+ .ow-hero02__point {
2245
+ display: inline-flex;
2246
+ align-items: center;
2247
+ gap: 7px;
2248
+ }
2249
+
2250
+ .ow-hero02__points svg {
2251
+ color: var(--ow-primary-text);
2252
+ }
2253
+
2254
+ @media (max-width: 960px) {
2255
+ .ow-hero02 {
2256
+ padding-top: 88px;
2257
+ }
2258
+ .ow-hero02__inner {
2259
+ grid-template-columns: minmax(0, 1fr);
2260
+ gap: 56px;
2261
+ }
2262
+ .ow-hero02__lead {
2263
+ max-width: 580px;
2264
+ }
2265
+ .ow-hero02__points {
2266
+ display: flex;
2267
+ flex-wrap: wrap;
2268
+ gap: 8px 22px;
2269
+ }
2270
+ }
2271
+
2272
+ @media (max-width: 760px) {
2273
+ .ow-hero02 {
2274
+ padding: 72px var(--ow-page-gutter) 80px;
2275
+ }
2276
+ .ow-hero02__inner {
2277
+ gap: 48px;
2278
+ }
2279
+ .ow-hero02__actions {
2280
+ width: 100%;
2281
+ flex-direction: column;
2282
+ align-items: stretch;
2283
+ }
2284
+ .ow-hero02__points {
2285
+ display: grid;
2286
+ }
2287
+ }
2288
+
2289
+ /* heroes/Hero03/Hero03.css */
2290
+ .ow-hero03,
2291
+ .ow-hero03 *,
2292
+ .ow-hero03 *::before,
2293
+ .ow-hero03 *::after {
2294
+ box-sizing: border-box;
2295
+ }
2296
+
2297
+ .ow-hero03 {
2298
+ overflow: hidden;
2299
+ background: var(--ow-paper);
2300
+ padding: 120px var(--ow-page-gutter) 112px;
2301
+ color: var(--ow-text);
2302
+ }
2303
+
2304
+ .ow-hero03__inner {
2305
+ display: flex;
2306
+ max-width: 760px;
2307
+ flex-direction: column;
2308
+ align-items: center;
2309
+ margin: 0 auto;
2310
+ text-align: center;
2311
+ }
2312
+
2313
+ .ow-hero03__title {
2314
+ margin-top: 24px;
2315
+ }
2316
+
2317
+ .ow-hero03__lead {
2318
+ margin-top: 22px;
2319
+ }
2320
+
2321
+ /* The form: a pill-shaped field and its button on one line. */
2322
+
2323
+ .ow-hero03__form {
2324
+ width: 100%;
2325
+ max-width: 480px;
2326
+ margin-top: 36px;
2327
+ }
2328
+
2329
+ .ow-hero03__row {
2330
+ display: flex;
2331
+ gap: var(--ow-space-sm);
2332
+ }
2333
+
2334
+ .ow-hero03 .ow-hero03__input {
2335
+ height: 46px;
2336
+ flex: 1;
2337
+ border-radius: var(--ow-radius-pill);
2338
+ padding-left: 18px;
2339
+ box-shadow: var(--ow-shadow-control);
2340
+ font-size: 15px;
2341
+ }
2342
+
2343
+ .ow-hero03__error {
2344
+ margin: 10px 0 0 18px;
2345
+ text-align: left;
2346
+ }
2347
+
2348
+ .ow-hero03__note {
2349
+ margin-top: 14px;
2350
+ }
2351
+
2352
+ /* What's left in place of the form once someone has joined. */
2353
+
2354
+ .ow-hero03__done {
2355
+ display: flex;
2356
+ width: 100%;
2357
+ max-width: 480px;
2358
+ align-items: center;
2359
+ gap: 12px;
2360
+ margin-top: 36px;
2361
+ border: 1px solid var(--ow-border);
2362
+ border-radius: var(--ow-radius-card);
2363
+ background: var(--ow-surface);
2364
+ padding: 14px 14px 14px 16px;
2365
+ text-align: left;
2366
+ animation: ow-hero03-in var(--ow-duration-slow) var(--ow-ease-emphasized);
2367
+ }
2368
+
2369
+ .ow-hero03__done-icon {
2370
+ display: inline-flex;
2371
+ width: 32px;
2372
+ height: 32px;
2373
+ flex-shrink: 0;
2374
+ align-items: center;
2375
+ justify-content: center;
2376
+ border-radius: 50%;
2377
+ background: var(--ow-success-surface);
2378
+ color: var(--ow-success-text);
2379
+ }
2380
+
2381
+ .ow-hero03__done-text {
2382
+ display: grid;
2383
+ min-width: 0;
2384
+ flex: 1;
2385
+ gap: 2px;
2386
+ }
2387
+
2388
+ .ow-hero03__done-detail {
2389
+ overflow-wrap: anywhere;
2390
+ }
2391
+
2392
+ @keyframes ow-hero03-in {
2393
+ from {
2394
+ opacity: 0;
2395
+ transform: translateY(4px);
2396
+ }
2397
+ }
2398
+
2399
+ @media (max-width: 760px) {
2400
+ .ow-hero03 {
2401
+ padding: 72px var(--ow-page-gutter) 80px;
2402
+ }
2403
+ .ow-hero03__row {
2404
+ flex-direction: column;
2405
+ }
2406
+ .ow-hero03 .ow-hero03__input {
2407
+ flex: none;
2408
+ }
2409
+ }
2410
+
2411
+ @media (prefers-reduced-motion: reduce) {
2412
+ .ow-hero03__done {
2413
+ animation: none;
2414
+ }
2415
+ }
2416
+
2417
+ /* heroes/Hero04/Hero04.css */
2418
+ .ow-hero04,
2419
+ .ow-hero04 *,
2420
+ .ow-hero04 *::before,
2421
+ .ow-hero04 *::after {
2422
+ box-sizing: border-box;
2423
+ }
2424
+
2425
+ .ow-hero04 {
2426
+ overflow: hidden;
2427
+ background: var(--ow-paper);
2428
+ color: var(--ow-text);
2429
+ }
2430
+
2431
+ .ow-hero04__grid {
2432
+ padding: 128px 32px 136px;
2433
+ }
2434
+
2435
+ /* The headline in the middle column; the sample work sits either side of it on wide screens. */
2436
+
2437
+ .ow-hero04__layout {
2438
+ display: grid;
2439
+ max-width: var(--ow-page-max);
2440
+ grid-template-columns: minmax(0, 1fr) minmax(0, 640px) minmax(0, 1fr);
2441
+ align-items: center;
2442
+ gap: 40px;
2443
+ margin: 0 auto;
2444
+ }
2445
+
2446
+ .ow-hero04__text {
2447
+ display: flex;
2448
+ flex-direction: column;
2449
+ align-items: center;
2450
+ }
2451
+
2452
+ .ow-hero04__title {
2453
+ margin-top: 24px;
2454
+ }
2455
+
2456
+ .ow-hero04__lead {
2457
+ margin-top: 22px;
2458
+ }
2459
+
2460
+ .ow-hero04__actions {
2461
+ display: flex;
2462
+ flex-wrap: wrap;
2463
+ justify-content: center;
2464
+ gap: var(--ow-space-lg);
2465
+ margin-top: 34px;
2466
+ }
2467
+
2468
+ @media (max-width: 1180px) {
2469
+ .ow-hero04__layout {
2470
+ grid-template-columns: minmax(0, 1fr);
2471
+ }
2472
+ }
2473
+
2474
+ @media (max-width: 760px) {
2475
+ .ow-hero04__grid {
2476
+ padding: 80px var(--ow-page-gutter) 88px;
2477
+ }
2478
+ .ow-hero04__actions {
2479
+ width: 100%;
2480
+ flex-direction: column;
2481
+ align-items: stretch;
2482
+ }
2483
+ }
2484
+
2485
+ /* heroes/Hero05/Hero05.css */
2486
+ .ow-hero05,
2487
+ .ow-hero05 *,
2488
+ .ow-hero05 *::before,
2489
+ .ow-hero05 *::after {
2490
+ box-sizing: border-box;
2491
+ }
2492
+
2493
+ .ow-hero05 {
2494
+ background: var(--ow-paper);
2495
+ padding: 128px 32px 88px;
2496
+ color: var(--ow-text);
2497
+ }
2498
+
2499
+ .ow-hero05__inner {
2500
+ max-width: var(--ow-page-max);
2501
+ margin: 0 auto;
2502
+ }
2503
+
2504
+ /* The headline on the left, the lead and the buttons on the right, sharing a baseline at the bottom. */
2505
+
2506
+ .ow-hero05__top {
2507
+ display: grid;
2508
+ grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
2509
+ align-items: end;
2510
+ gap: 64px;
2511
+ }
2512
+
2513
+ .ow-hero05__heading {
2514
+ display: flex;
2515
+ flex-direction: column;
2516
+ align-items: flex-start;
2517
+ }
2518
+
2519
+ .ow-hero05__title {
2520
+ margin-top: 24px;
2521
+ }
2522
+
2523
+ .ow-hero05__actions {
2524
+ display: flex;
2525
+ flex-wrap: wrap;
2526
+ gap: var(--ow-space-lg);
2527
+ margin-top: 28px;
2528
+ }
2529
+
2530
+ /* The first proof: who already uses it. */
2531
+
2532
+ .ow-hero05__proof {
2533
+ margin-top: 104px;
2534
+ border-top: 1px solid var(--ow-border);
2535
+ padding-top: 36px;
2536
+ }
2537
+
2538
+ .ow-hero05__list {
2539
+ display: flex;
2540
+ flex-wrap: wrap;
2541
+ align-items: center;
2542
+ justify-content: space-between;
2543
+ gap: 28px 40px;
2544
+ margin: 28px 0 0;
2545
+ padding: 0;
2546
+ list-style: none;
2547
+ }
2548
+
2549
+ /* Each logo sits on its own, as tall as it is, so a row of them lines up on its centres. */
2550
+ .ow-hero05__logo {
2551
+ display: flex;
2552
+ align-items: center;
2553
+ }
2554
+
2555
+ @media (max-width: 1024px) {
2556
+ .ow-hero05 {
2557
+ padding-top: 104px;
2558
+ }
2559
+ .ow-hero05__top {
2560
+ grid-template-columns: minmax(0, 1fr);
2561
+ gap: 28px;
2562
+ }
2563
+ .ow-hero05__list {
2564
+ display: grid;
2565
+ grid-template-columns: repeat(4, minmax(0, 1fr));
2566
+ justify-items: start;
2567
+ }
2568
+ }
2569
+
2570
+ @media (max-width: 760px) {
2571
+ .ow-hero05 {
2572
+ padding: 72px var(--ow-page-gutter) 64px;
2573
+ }
2574
+ .ow-hero05__actions {
2575
+ flex-direction: column;
2576
+ align-items: stretch;
2577
+ }
2578
+ .ow-hero05__proof {
2579
+ margin-top: 64px;
2580
+ padding-top: 28px;
2581
+ }
2582
+ .ow-hero05__list {
2583
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2584
+ gap: 28px 16px;
2585
+ }
2586
+ }
2587
+
2588
+ /* heroes/Hero06/Hero06.css */
2589
+ .ow-hero06,
2590
+ .ow-hero06 *,
2591
+ .ow-hero06 *::before,
2592
+ .ow-hero06 *::after {
2593
+ box-sizing: border-box;
2594
+ }
2595
+
2596
+ .ow-hero06 {
2597
+ overflow: hidden;
2598
+ background: var(--ow-paper);
2599
+ padding: 112px 32px 120px;
2600
+ color: var(--ow-text);
2601
+ }
2602
+
2603
+ .ow-hero06__inner {
2604
+ display: grid;
2605
+ max-width: var(--ow-page-max);
2606
+ grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
2607
+ align-items: center;
2608
+ gap: 72px;
2609
+ margin: 0 auto;
2610
+ }
2611
+
2612
+ .ow-hero06__text {
2613
+ display: flex;
2614
+ flex-direction: column;
2615
+ align-items: flex-start;
2616
+ }
2617
+
2618
+ .ow-hero06__title {
2619
+ margin-top: 24px;
2620
+ }
2621
+
2622
+ .ow-hero06__lead {
2623
+ max-width: 480px;
2624
+ margin-top: 22px;
2625
+ }
2626
+
2627
+ .ow-hero06__buttons {
2628
+ display: flex;
2629
+ flex-wrap: wrap;
2630
+ gap: var(--ow-space-sm);
2631
+ margin-top: 34px;
2632
+ }
2633
+
2634
+ .ow-hero06__meta {
2635
+ display: flex;
2636
+ flex-wrap: wrap;
2637
+ align-items: center;
2638
+ gap: 4px 14px;
2639
+ margin-top: 18px;
2640
+ }
2641
+
2642
+ .ow-hero06__meta > span + span::before {
2643
+ content: "";
2644
+ display: inline-block;
2645
+ width: 3px;
2646
+ height: 3px;
2647
+ margin-right: 14px;
2648
+ border-radius: 50%;
2649
+ background: var(--ow-border-strong);
2650
+ vertical-align: middle;
2651
+ }
2652
+
2653
+ @media (max-width: 960px) {
2654
+ .ow-hero06 {
2655
+ padding-top: 88px;
2656
+ }
2657
+ .ow-hero06__inner {
2658
+ grid-template-columns: minmax(0, 1fr);
2659
+ gap: 48px;
2660
+ }
2661
+ .ow-hero06__lead {
2662
+ max-width: 560px;
2663
+ }
2664
+ }
2665
+
2666
+ @media (max-width: 760px) {
2667
+ .ow-hero06 {
2668
+ padding: 72px var(--ow-page-gutter) 80px;
2669
+ }
2670
+ .ow-hero06__buttons {
2671
+ width: 100%;
2672
+ }
2673
+ .ow-hero06__buttons > :first-child {
2674
+ width: 100%;
2675
+ }
2676
+ .ow-hero06__buttons > :not(:first-child) {
2677
+ flex: 1;
2678
+ }
2679
+ .ow-hero06__meta {
2680
+ gap: 6px 12px;
2681
+ }
2682
+ .ow-hero06__meta > span + span::before {
2683
+ margin-right: 12px;
2684
+ }
2685
+ .ow-hero06__meta > .ow-hero06__other {
2686
+ flex-basis: 100%;
2687
+ }
2688
+ .ow-hero06__meta > .ow-hero06__other::before {
2689
+ display: none;
2690
+ }
2691
+ }
2692
+
2693
+ /* pricing/Pricing01/Pricing01.css */
2694
+ .ow-pricing01,
2695
+ .ow-pricing01 *,
2696
+ .ow-pricing01 *::before,
2697
+ .ow-pricing01 *::after {
2698
+ box-sizing: border-box;
2699
+ }
2700
+
2701
+ .ow-pricing01 {
2702
+ background: var(--ow-paper);
2703
+ padding: var(--ow-section-y) 32px;
2704
+ color: var(--ow-text);
2705
+ }
2706
+
2707
+ .ow-pricing01__inner {
2708
+ display: flex;
2709
+ max-width: var(--ow-page-max);
2710
+ flex-direction: column;
2711
+ align-items: center;
2712
+ margin: 0 auto;
2713
+ }
2714
+
2715
+ /* The recommended card stands 14px proud of its neighbours at both ends, padded so every row inside still lines up. */
2716
+ .ow-pricing01__grid {
2717
+ display: grid;
2718
+ width: 100%;
2719
+ max-width: 1080px;
2720
+ grid-template-columns: repeat(3, minmax(0, 1fr));
2721
+ gap: 20px;
2722
+ margin-top: 72px;
2723
+ }
2724
+
2725
+ .ow-pricing01__card {
2726
+ display: flex;
2727
+ flex-direction: column;
2728
+ border-radius: var(--ow-radius-card);
2729
+ }
2730
+
2731
+ .ow-pricing01__card[data-recommended] {
2732
+ position: relative;
2733
+ z-index: 1;
2734
+ margin: -14px 0;
2735
+ border-color: var(--ow-primary-border);
2736
+ box-shadow: var(--ow-shadow-lift);
2737
+ }
2738
+
2739
+ .ow-pricing01__head {
2740
+ display: flex;
2741
+ flex-direction: column;
2742
+ padding: 28px 28px 24px;
2743
+ }
2744
+
2745
+ .ow-pricing01__card[data-recommended] .ow-pricing01__head {
2746
+ padding-top: 42px;
2747
+ }
2748
+
2749
+ .ow-pricing01__name-row {
2750
+ display: flex;
2751
+ min-height: 26px;
2752
+ flex-wrap: wrap;
2753
+ align-items: center;
2754
+ justify-content: space-between;
2755
+ gap: var(--ow-space-sm);
2756
+ }
2757
+
2758
+ .ow-pricing01__summary {
2759
+ margin-top: 6px;
2760
+ }
2761
+
2762
+ .ow-pricing01__price {
2763
+ display: flex;
2764
+ flex-wrap: wrap;
2765
+ align-items: baseline;
2766
+ gap: 4px 10px;
2767
+ margin: 28px 0 24px;
2768
+ }
2769
+
2770
+ /* A price, not a title: no extra leading above the figure, and digits of one width. */
2771
+ .ow-pricing01__amount {
2772
+ line-height: 1;
2773
+ font-variant-numeric: tabular-nums;
2774
+ }
2775
+
2776
+ .ow-pricing01__body {
2777
+ flex: 1;
2778
+ border-top: 1px solid var(--ow-border);
2779
+ padding: 24px 28px 30px;
2780
+ }
2781
+
2782
+ .ow-pricing01__card[data-recommended] .ow-pricing01__body {
2783
+ padding-bottom: 44px;
2784
+ }
2785
+
2786
+ .ow-pricing01__features {
2787
+ display: grid;
2788
+ gap: 12px;
2789
+ margin: 16px 0 0;
2790
+ padding: 0;
2791
+ list-style: none;
2792
+ }
2793
+
2794
+ .ow-pricing01__features li {
2795
+ display: flex;
2796
+ align-items: flex-start;
2797
+ gap: 10px;
2798
+ }
2799
+
2800
+ .ow-pricing01__features svg {
2801
+ flex-shrink: 0;
2802
+ margin-top: 1px;
2803
+ color: var(--ow-primary-text);
2804
+ }
2805
+
2806
+ .ow-pricing01__enterprise {
2807
+ display: flex;
2808
+ width: 100%;
2809
+ max-width: 1080px;
2810
+ align-items: center;
2811
+ gap: var(--ow-space-2xl);
2812
+ margin-top: 52px;
2813
+ border: 1px solid var(--ow-border);
2814
+ border-radius: var(--ow-radius-card);
2815
+ background: var(--ow-surface);
2816
+ padding: 18px 24px;
2817
+ }
2818
+
2819
+ .ow-pricing01__enterprise-icon {
2820
+ display: inline-flex;
2821
+ width: 36px;
2822
+ height: 36px;
2823
+ flex-shrink: 0;
2824
+ align-items: center;
2825
+ justify-content: center;
2826
+ border: 1px solid var(--ow-border);
2827
+ border-radius: var(--ow-radius-tile);
2828
+ background: var(--ow-surface-muted);
2829
+ color: var(--ow-text-soft);
2830
+ }
2831
+
2832
+ .ow-pricing01__enterprise-text {
2833
+ flex: 1;
2834
+ }
2835
+
2836
+ .ow-pricing01__enterprise-link {
2837
+ display: inline-flex;
2838
+ flex-shrink: 0;
2839
+ align-items: center;
2840
+ gap: 6px;
2841
+ white-space: nowrap;
2842
+ }
2843
+
2844
+ .ow-pricing01__note {
2845
+ margin-top: 20px;
2846
+ }
2847
+
2848
+ @media (max-width: 1100px) {
2849
+ .ow-pricing01__head {
2850
+ padding-right: 24px;
2851
+ padding-left: 24px;
2852
+ }
2853
+ .ow-pricing01__body {
2854
+ padding-right: 24px;
2855
+ padding-left: 24px;
2856
+ }
2857
+ }
2858
+
2859
+ @media (max-width: 900px) {
2860
+ .ow-pricing01__grid {
2861
+ max-width: 520px;
2862
+ grid-template-columns: minmax(0, 1fr);
2863
+ gap: 16px;
2864
+ margin-top: 48px;
2865
+ }
2866
+ /* Stacked, the recommended plan goes first. */
2867
+ .ow-pricing01__card[data-recommended] {
2868
+ order: -1;
2869
+ margin: 0;
2870
+ box-shadow: 0 0 0 1px var(--ow-primary-border);
2871
+ }
2872
+ .ow-pricing01__card[data-recommended] .ow-pricing01__head {
2873
+ padding-top: 28px;
2874
+ }
2875
+ .ow-pricing01__card[data-recommended] .ow-pricing01__body {
2876
+ padding-bottom: 30px;
2877
+ }
2878
+ .ow-pricing01__enterprise {
2879
+ max-width: 520px;
2880
+ flex-wrap: wrap;
2881
+ margin-top: 16px;
2882
+ }
2883
+ .ow-pricing01__enterprise-text {
2884
+ flex-basis: calc(100% - 60px);
2885
+ }
2886
+ .ow-pricing01__enterprise-link {
2887
+ margin-left: 52px;
2888
+ }
2889
+ }
2890
+
2891
+ @media (max-width: 760px) {
2892
+ .ow-pricing01 {
2893
+ padding: 72px var(--ow-page-gutter);
2894
+ }
2895
+ .ow-pricing01__head {
2896
+ padding: 24px 22px 22px;
2897
+ }
2898
+ .ow-pricing01__card[data-recommended] .ow-pricing01__head {
2899
+ padding: 24px 22px 22px;
2900
+ }
2901
+ .ow-pricing01__body,
2902
+ .ow-pricing01__card[data-recommended] .ow-pricing01__body {
2903
+ padding: 22px 22px 26px;
2904
+ }
2905
+ .ow-pricing01__enterprise {
2906
+ align-items: flex-start;
2907
+ padding: 18px;
2908
+ }
2909
+ }
2910
+
2911
+ /* pricing/Pricing02/Pricing02.css */
2912
+ .ow-pricing02,
2913
+ .ow-pricing02 *,
2914
+ .ow-pricing02 *::before,
2915
+ .ow-pricing02 *::after {
2916
+ box-sizing: border-box;
2917
+ }
2918
+
2919
+ .ow-pricing02 {
2920
+ background: var(--ow-paper);
2921
+ padding: var(--ow-section-y) 32px;
2922
+ color: var(--ow-text);
2923
+ }
2924
+
2925
+ .ow-pricing02__inner {
2926
+ max-width: var(--ow-page-max);
2927
+ margin: 0 auto;
2928
+ }
2929
+
2930
+ .ow-pricing02__header {
2931
+ display: flex;
2932
+ align-items: flex-end;
2933
+ justify-content: space-between;
2934
+ gap: 32px 48px;
2935
+ }
2936
+
2937
+ .ow-pricing02__header .ow-section-heading {
2938
+ max-width: 640px;
2939
+ }
2940
+
2941
+ .ow-pricing02__switch {
2942
+ display: flex;
2943
+ flex-shrink: 0;
2944
+ flex-direction: column;
2945
+ align-items: flex-end;
2946
+ gap: 10px;
2947
+ }
2948
+
2949
+ /* Four plans in one panel, divided by hairlines rather than set apart as cards. */
2950
+ .ow-pricing02__panel {
2951
+ display: grid;
2952
+ grid-template-columns: repeat(4, minmax(0, 1fr));
2953
+ margin-top: 56px;
2954
+ overflow: hidden;
2955
+ border: 1px solid var(--ow-border);
2956
+ border-radius: var(--ow-radius-card);
2957
+ background: var(--ow-surface);
2958
+ }
2959
+
2960
+ /* Each plan is a subgrid of the panel's rows, so prices, buttons and lists line up even when a line wraps. */
2961
+ .ow-pricing02__plan {
2962
+ display: grid;
2963
+ min-width: 0;
2964
+ grid-row: span 5;
2965
+ grid-template-rows: subgrid;
2966
+ align-content: start;
2967
+ padding: 28px 24px 32px;
2968
+ }
2969
+
2970
+ .ow-pricing02__plan + .ow-pricing02__plan {
2971
+ border-left: 1px solid var(--ow-border);
2972
+ }
2973
+
2974
+ .ow-pricing02__plan[data-popular] {
2975
+ background: color-mix(in srgb, var(--ow-primary-subtle) 70%, var(--ow-surface));
2976
+ }
2977
+
2978
+ .ow-pricing02__name-row {
2979
+ display: flex;
2980
+ min-height: 24px;
2981
+ align-items: center;
2982
+ justify-content: space-between;
2983
+ gap: var(--ow-space-sm);
2984
+ }
2985
+
2986
+ .ow-pricing02__summary {
2987
+ margin-top: 8px;
2988
+ }
2989
+
2990
+ .ow-pricing02__price {
2991
+ margin: 24px 0 22px;
2992
+ }
2993
+
2994
+ .ow-pricing02__figure {
2995
+ display: flex;
2996
+ flex-wrap: wrap;
2997
+ align-items: baseline;
2998
+ gap: 2px 8px;
2999
+ }
3000
+
3001
+ /* A price, not a title: no extra leading above the figure, and digits of one width. */
3002
+ .ow-pricing02__amount {
3003
+ line-height: 1;
3004
+ font-variant-numeric: tabular-nums;
3005
+ animation: ow-pricing02-in var(--ow-duration-slow) var(--ow-ease-emphasized);
3006
+ }
3007
+
3008
+ .ow-pricing02__amount--text {
3009
+ animation: none;
3010
+ }
3011
+
3012
+ .ow-pricing02__billing {
3013
+ margin-top: 10px;
3014
+ }
3015
+
3016
+ .ow-pricing02__features {
3017
+ display: grid;
3018
+ gap: 11px;
3019
+ margin: 26px 0 0;
3020
+ padding: 0;
3021
+ list-style: none;
3022
+ }
3023
+
3024
+ .ow-pricing02__features li {
3025
+ display: flex;
3026
+ align-items: flex-start;
3027
+ gap: 10px;
3028
+ }
3029
+
3030
+ .ow-pricing02__features svg {
3031
+ flex-shrink: 0;
3032
+ margin-top: 1px;
3033
+ color: var(--ow-primary-text);
3034
+ }
3035
+
3036
+ .ow-pricing02__note {
3037
+ margin-top: 20px;
3038
+ }
3039
+
3040
+ @keyframes ow-pricing02-in {
3041
+ from {
3042
+ opacity: 0;
3043
+ transform: translateY(6px);
3044
+ }
3045
+ }
3046
+
3047
+ @media (prefers-reduced-motion: reduce) {
3048
+ .ow-pricing02__amount {
3049
+ animation: none;
3050
+ }
3051
+ }
3052
+
3053
+ @media (max-width: 1024px) {
3054
+ .ow-pricing02__panel {
3055
+ grid-template-columns: repeat(2, minmax(0, 1fr));
3056
+ }
3057
+ .ow-pricing02__plan:nth-child(odd) {
3058
+ border-left: 0;
3059
+ }
3060
+ .ow-pricing02__plan:nth-child(n + 3) {
3061
+ border-top: 1px solid var(--ow-border);
3062
+ }
3063
+ }
3064
+
3065
+ @media (max-width: 760px) {
3066
+ .ow-pricing02 {
3067
+ padding: 72px var(--ow-page-gutter);
3068
+ }
3069
+ .ow-pricing02__header {
3070
+ flex-direction: column;
3071
+ align-items: stretch;
3072
+ }
3073
+ .ow-pricing02__switch {
3074
+ align-items: stretch;
3075
+ }
3076
+ .ow-pricing02__switch .ow-segmented {
3077
+ display: flex;
3078
+ justify-self: stretch;
3079
+ }
3080
+ .ow-pricing02__switch .ow-segmented__item {
3081
+ flex: 1;
3082
+ }
3083
+ .ow-pricing02__panel {
3084
+ grid-template-columns: minmax(0, 1fr);
3085
+ margin-top: 40px;
3086
+ }
3087
+ .ow-pricing02__plan,
3088
+ .ow-pricing02__plan:nth-child(odd) {
3089
+ border-left: 0;
3090
+ padding: 24px 22px 28px;
3091
+ }
3092
+ .ow-pricing02__plan + .ow-pricing02__plan {
3093
+ border-top: 1px solid var(--ow-border);
3094
+ }
3095
+ }
3096
+
3097
+ /* pricing/Pricing03/Pricing03.css */
3098
+ .ow-pricing03,
3099
+ .ow-pricing03 *,
3100
+ .ow-pricing03 *::before,
3101
+ .ow-pricing03 *::after {
3102
+ box-sizing: border-box;
3103
+ }
3104
+
3105
+ .ow-pricing03 {
3106
+ --ow-pricing03-first: 32%;
3107
+ background: var(--ow-paper);
3108
+ padding: var(--ow-section-y) 32px;
3109
+ color: var(--ow-text);
3110
+ }
3111
+
3112
+ .ow-pricing03__inner {
3113
+ max-width: var(--ow-page-max);
3114
+ margin: 0 auto;
3115
+ }
3116
+
3117
+ /* Phones compare one plan at a time; wider screens see every column. */
3118
+ .ow-pricing03__picker {
3119
+ display: none;
3120
+ }
3121
+
3122
+ /* The plan names, prices and buttons, in columns that line up with the tables below. Sticks under the top
3123
+ of the window as the tables scroll past. */
3124
+ .ow-pricing03__plans {
3125
+ position: sticky;
3126
+ top: 0;
3127
+ z-index: 2;
3128
+ display: grid;
3129
+ grid-template-columns: var(--ow-pricing03-first) repeat(4, minmax(0, 1fr));
3130
+ margin-top: 56px;
3131
+ border-bottom: 1px solid var(--ow-border);
3132
+ background: var(--ow-paper);
3133
+ padding: 16px 1px 20px;
3134
+ }
3135
+
3136
+ .ow-pricing03__plans-label {
3137
+ align-self: end;
3138
+ padding: 0 16px;
3139
+ }
3140
+
3141
+ .ow-pricing03__plan {
3142
+ display: flex;
3143
+ min-width: 0;
3144
+ flex-direction: column;
3145
+ align-items: flex-start;
3146
+ gap: 4px;
3147
+ padding: 0 16px;
3148
+ }
3149
+
3150
+ .ow-pricing03__plan-name {
3151
+ display: flex;
3152
+ height: 22px;
3153
+ align-items: center;
3154
+ gap: 8px;
3155
+ }
3156
+
3157
+ .ow-pricing03__plan-price {
3158
+ margin-bottom: 12px;
3159
+ white-space: nowrap;
3160
+ }
3161
+
3162
+ .ow-pricing03__groups {
3163
+ display: grid;
3164
+ gap: 20px;
3165
+ margin-top: 28px;
3166
+ }
3167
+
3168
+ /* The library's Table, quietened for a marketing page: the group's name heads the first column. */
3169
+ .ow-pricing03__group {
3170
+ border-radius: var(--ow-radius-card);
3171
+ }
3172
+
3173
+ .ow-pricing03__group .ow-table {
3174
+ table-layout: fixed;
3175
+ }
3176
+
3177
+ .ow-pricing03__group th:first-child {
3178
+ width: var(--ow-pricing03-first);
3179
+ }
3180
+
3181
+ .ow-pricing03__group th {
3182
+ height: 44px;
3183
+ background: var(--ow-surface);
3184
+ padding: 0 16px;
3185
+ }
3186
+
3187
+ .ow-pricing03__group th:first-child {
3188
+ color: var(--ow-text);
3189
+ font-size: 14px;
3190
+ }
3191
+
3192
+ .ow-pricing03__group td {
3193
+ padding-right: 16px;
3194
+ padding-left: 16px;
3195
+ color: var(--ow-text-soft);
3196
+ font-size: 14px;
3197
+ }
3198
+
3199
+ .ow-pricing03__group td:first-child {
3200
+ color: var(--ow-text);
3201
+ }
3202
+
3203
+ .ow-pricing03__group .ow-table tbody tr:hover td {
3204
+ background: transparent;
3205
+ }
3206
+
3207
+ .ow-pricing03__feature {
3208
+ display: block;
3209
+ padding: 6px 0;
3210
+ }
3211
+
3212
+ .ow-pricing03__feature-note {
3213
+ display: block;
3214
+ margin-top: 2px;
3215
+ }
3216
+
3217
+ .ow-pricing03__yes {
3218
+ display: inline-flex;
3219
+ width: 22px;
3220
+ height: 22px;
3221
+ align-items: center;
3222
+ justify-content: center;
3223
+ border-radius: 50%;
3224
+ background: var(--ow-primary-subtle);
3225
+ color: var(--ow-primary-text);
3226
+ vertical-align: middle;
3227
+ }
3228
+
3229
+ .ow-pricing03__no {
3230
+ display: inline-flex;
3231
+ width: 22px;
3232
+ justify-content: center;
3233
+ color: var(--ow-text-disabled);
3234
+ vertical-align: middle;
3235
+ }
3236
+
3237
+ .ow-pricing03__note {
3238
+ margin-top: 24px;
3239
+ text-wrap: balance;
3240
+ }
3241
+
3242
+ @media (max-width: 1024px) {
3243
+ .ow-pricing03 {
3244
+ --ow-pricing03-first: 26%;
553
3245
  }
554
- .ow-hero06__buttons > :not(:first-child) {
555
- flex: 1;
3246
+ .ow-pricing03__plan-amount {
3247
+ display: block;
556
3248
  }
557
- .ow-hero06__meta {
558
- gap: 6px 12px;
3249
+ .ow-pricing03__plan-name .ow-badge {
3250
+ display: none;
559
3251
  }
560
- .ow-hero06__meta > span + span::before {
561
- margin-right: 12px;
3252
+ .ow-pricing03__plan,
3253
+ .ow-pricing03__plans-label {
3254
+ padding: 0 12px;
562
3255
  }
563
- .ow-hero06__meta > .ow-hero06__other {
564
- flex-basis: 100%;
3256
+ .ow-pricing03__group th,
3257
+ .ow-pricing03__group td {
3258
+ padding-right: 12px;
3259
+ padding-left: 12px;
565
3260
  }
566
- .ow-hero06__meta > .ow-hero06__other::before {
3261
+ /* Keeps its column, so the plans still line up with the tables. */
3262
+ .ow-pricing03__plans-label {
3263
+ visibility: hidden;
3264
+ }
3265
+ }
3266
+
3267
+ @media (max-width: 760px) {
3268
+ .ow-pricing03 {
3269
+ padding: 72px var(--ow-page-gutter);
3270
+ }
3271
+ .ow-pricing03__picker {
3272
+ display: block;
3273
+ margin-top: 32px;
3274
+ }
3275
+ .ow-pricing03__plans-label {
567
3276
  display: none;
568
3277
  }
3278
+ .ow-pricing03__plans {
3279
+ grid-template-columns: minmax(0, 1fr);
3280
+ margin-top: 0;
3281
+ padding: 16px 0;
3282
+ }
3283
+ .ow-pricing03__plan {
3284
+ display: grid;
3285
+ grid-template-columns: minmax(0, 1fr) auto;
3286
+ align-items: center;
3287
+ gap: 2px 16px;
3288
+ padding: 0;
3289
+ }
3290
+ .ow-pricing03__plan-price {
3291
+ grid-column: 1;
3292
+ margin: 0;
3293
+ }
3294
+ .ow-pricing03__plan-amount {
3295
+ display: inline;
3296
+ }
3297
+ .ow-pricing03__plan-name .ow-badge {
3298
+ display: inline-flex;
3299
+ }
3300
+ .ow-pricing03__group th:first-child {
3301
+ width: auto;
3302
+ }
3303
+ .ow-pricing03__plan .ow-button {
3304
+ grid-row: 1 / span 2;
3305
+ grid-column: 2;
3306
+ }
3307
+ .ow-pricing03__groups {
3308
+ gap: 16px;
3309
+ margin-top: 20px;
3310
+ }
3311
+ .ow-pricing03__group th,
3312
+ .ow-pricing03__group td {
3313
+ padding-right: 12px;
3314
+ padding-left: 12px;
3315
+ }
3316
+ .ow-pricing03__group th:last-child,
3317
+ .ow-pricing03__group td:last-child {
3318
+ width: 36%;
3319
+ text-align: right !important;
3320
+ }
3321
+ }
3322
+
3323
+ /* pricing/Pricing04/Pricing04.css */
3324
+ .ow-pricing04,
3325
+ .ow-pricing04 *,
3326
+ .ow-pricing04 *::before,
3327
+ .ow-pricing04 *::after {
3328
+ box-sizing: border-box;
3329
+ }
3330
+
3331
+ .ow-pricing04 {
3332
+ background: var(--ow-paper);
3333
+ padding: var(--ow-section-y) 32px;
3334
+ color: var(--ow-text);
3335
+ }
3336
+
3337
+ .ow-pricing04__inner {
3338
+ display: flex;
3339
+ max-width: var(--ow-page-max);
3340
+ flex-direction: column;
3341
+ align-items: center;
3342
+ margin: 0 auto;
3343
+ }
3344
+
3345
+ /* What's included on the left; the price on an inset panel on the right. */
3346
+ .ow-pricing04__card {
3347
+ display: grid;
3348
+ width: 100%;
3349
+ max-width: 1000px;
3350
+ grid-template-columns: minmax(0, 1fr) 360px;
3351
+ gap: 8px;
3352
+ margin-top: 64px;
3353
+ border-radius: var(--ow-radius-card);
3354
+ padding: 8px;
3355
+ }
3356
+
3357
+ .ow-pricing04__details {
3358
+ padding: 32px 32px 36px;
3359
+ }
3360
+
3361
+ .ow-pricing04__description {
3362
+ max-width: 480px;
3363
+ margin-top: 10px;
3364
+ }
3365
+
3366
+ .ow-pricing04__included {
3367
+ display: flex;
3368
+ align-items: center;
3369
+ gap: 16px;
3370
+ margin-top: 32px;
3371
+ white-space: nowrap;
3372
+ }
3373
+
3374
+ .ow-pricing04__included::after {
3375
+ content: "";
3376
+ height: 1px;
3377
+ flex: 1;
3378
+ background: var(--ow-border);
3379
+ }
3380
+
3381
+ .ow-pricing04__features {
3382
+ display: grid;
3383
+ grid-template-columns: repeat(2, minmax(0, 1fr));
3384
+ gap: 14px 24px;
3385
+ margin: 20px 0 0;
3386
+ padding: 0;
3387
+ list-style: none;
3388
+ }
3389
+
3390
+ .ow-pricing04__features li {
3391
+ display: flex;
3392
+ align-items: flex-start;
3393
+ gap: 10px;
3394
+ }
3395
+
3396
+ .ow-pricing04__features svg {
3397
+ flex-shrink: 0;
3398
+ margin-top: 1px;
3399
+ color: var(--ow-primary-text);
3400
+ }
3401
+
3402
+ .ow-pricing04__offer {
3403
+ display: flex;
3404
+ flex-direction: column;
3405
+ align-items: center;
3406
+ justify-content: center;
3407
+ border: 1px solid var(--ow-border);
3408
+ border-radius: calc(var(--ow-radius-card) - 6px);
3409
+ background: var(--ow-canvas);
3410
+ padding: 40px 32px;
3411
+ text-align: center;
3412
+ }
3413
+
3414
+ .ow-pricing04__price {
3415
+ display: flex;
3416
+ align-items: baseline;
3417
+ justify-content: center;
3418
+ gap: 8px;
3419
+ margin-top: 20px;
3420
+ }
3421
+
3422
+ /* A price, not a title: no extra leading above the figure, and digits of one width. */
3423
+ .ow-pricing04__amount {
3424
+ line-height: 1;
3425
+ font-variant-numeric: tabular-nums;
3426
+ }
3427
+
3428
+ .ow-pricing04__unit {
3429
+ margin: 8px 0 28px;
3430
+ }
3431
+
3432
+ .ow-pricing04__fine {
3433
+ margin-top: 16px;
3434
+ text-wrap: balance;
3435
+ }
3436
+
3437
+ .ow-pricing04__promises {
3438
+ display: flex;
3439
+ flex-wrap: wrap;
3440
+ justify-content: center;
3441
+ gap: 12px 32px;
3442
+ margin: 28px 0 0;
3443
+ padding: 0;
3444
+ list-style: none;
3445
+ }
3446
+
3447
+ .ow-pricing04__promises li {
3448
+ display: flex;
3449
+ align-items: center;
3450
+ gap: 8px;
3451
+ }
3452
+
3453
+ .ow-pricing04__promises svg {
3454
+ color: var(--ow-icon);
3455
+ }
3456
+
3457
+ @media (max-width: 1024px) {
3458
+ .ow-pricing04__card {
3459
+ grid-template-columns: minmax(0, 1fr) 300px;
3460
+ }
3461
+ .ow-pricing04__details {
3462
+ padding: 28px 24px 32px;
3463
+ }
3464
+ .ow-pricing04__features {
3465
+ grid-template-columns: minmax(0, 1fr);
3466
+ }
3467
+ .ow-pricing04__offer {
3468
+ padding: 36px 24px;
3469
+ }
3470
+ }
3471
+
3472
+ @media (max-width: 760px) {
3473
+ .ow-pricing04 {
3474
+ padding: 72px var(--ow-page-gutter);
3475
+ }
3476
+ .ow-pricing04__card {
3477
+ grid-template-columns: minmax(0, 1fr);
3478
+ margin-top: 40px;
3479
+ padding: 6px;
3480
+ }
3481
+ .ow-pricing04__details {
3482
+ padding: 22px 18px 26px;
3483
+ }
3484
+ .ow-pricing04__offer {
3485
+ order: -1;
3486
+ padding: 32px 20px;
3487
+ }
3488
+ .ow-pricing04__promises {
3489
+ flex-direction: column;
3490
+ align-items: flex-start;
3491
+ gap: 10px;
3492
+ }
3493
+ }
3494
+
3495
+ /* pricing/Pricing05/Pricing05.css */
3496
+ .ow-pricing05,
3497
+ .ow-pricing05 *,
3498
+ .ow-pricing05 *::before,
3499
+ .ow-pricing05 *::after {
3500
+ box-sizing: border-box;
3501
+ }
3502
+
3503
+ .ow-pricing05 {
3504
+ background: var(--ow-paper);
3505
+ padding: var(--ow-section-y) 32px;
3506
+ color: var(--ow-text);
3507
+ }
3508
+
3509
+ .ow-pricing05__inner {
3510
+ display: grid;
3511
+ max-width: var(--ow-page-max);
3512
+ grid-template-columns: minmax(0, 1fr) minmax(0, 520px);
3513
+ align-items: start;
3514
+ gap: 64px;
3515
+ margin: 0 auto;
3516
+ }
3517
+
3518
+ /* The price list: one row per band, the band the estimate lands in marked with a brass dot. */
3519
+ .ow-pricing05__tiers {
3520
+ margin: 40px 0 0;
3521
+ border-top: 1px solid var(--ow-border);
3522
+ padding: 0;
3523
+ list-style: none;
3524
+ }
3525
+
3526
+ .ow-pricing05__tier {
3527
+ display: grid;
3528
+ grid-template-columns: 14px minmax(0, 1fr) auto;
3529
+ align-items: baseline;
3530
+ gap: 12px;
3531
+ border-bottom: 1px solid var(--ow-border);
3532
+ padding: 16px 0;
3533
+ }
3534
+
3535
+ .ow-pricing05__tier-dot {
3536
+ width: 6px;
3537
+ height: 6px;
3538
+ align-self: center;
3539
+ border-radius: 50%;
3540
+ background: var(--ow-border-strong);
3541
+ transition: background-color var(--ow-duration-base) var(--ow-ease-standard);
3542
+ }
3543
+
3544
+ .ow-pricing05__tier[data-current] .ow-pricing05__tier-dot {
3545
+ background: var(--ow-brass);
3546
+ }
3547
+
3548
+ /* Prices in a column: digits of one width. */
3549
+ .ow-pricing05__tier-price {
3550
+ font-variant-numeric: tabular-nums;
3551
+ }
3552
+
3553
+ .ow-pricing05__tier-unit {
3554
+ margin-left: 4px;
3555
+ }
3556
+
3557
+ .ow-pricing05__aside {
3558
+ margin-top: 20px;
3559
+ }
3560
+
3561
+ .ow-pricing05__card {
3562
+ border-radius: var(--ow-radius-card);
3563
+ padding: 28px;
3564
+ }
3565
+
3566
+ .ow-pricing05__card-intro {
3567
+ margin-top: 6px;
3568
+ }
3569
+
3570
+ /* The figure changes as the slider moves: digits of one width keep it from jittering. */
3571
+ .ow-pricing05__runs {
3572
+ margin: 28px 0 16px;
3573
+ font-variant-numeric: tabular-nums;
3574
+ }
3575
+
3576
+ .ow-pricing05__runs-unit {
3577
+ margin-left: 4px;
3578
+ }
3579
+
3580
+ .ow-pricing05__scale {
3581
+ display: flex;
3582
+ justify-content: space-between;
3583
+ margin: 8px 9px 0;
3584
+ color: var(--ow-text-muted);
3585
+ font-size: 12px;
3586
+ font-variant-numeric: tabular-nums;
3587
+ }
3588
+
3589
+ .ow-pricing05__scale span {
3590
+ width: 0;
3591
+ display: flex;
3592
+ justify-content: center;
3593
+ white-space: nowrap;
3594
+ }
3595
+
3596
+ .ow-pricing05__breakdown {
3597
+ display: grid;
3598
+ margin: 28px 0 0;
3599
+ border-top: 1px solid var(--ow-border);
3600
+ padding: 12px 0 0;
3601
+ }
3602
+
3603
+ .ow-pricing05__line {
3604
+ display: flex;
3605
+ justify-content: space-between;
3606
+ gap: 16px;
3607
+ padding: 6px 0;
3608
+ font-variant-numeric: tabular-nums;
3609
+ }
3610
+
3611
+ /* Bands the estimate doesn't reach fade back; Text has no tone for disabled text. */
3612
+ .ow-pricing05__line[data-idle] {
3613
+ color: var(--ow-text-disabled);
3614
+ }
3615
+
3616
+ .ow-pricing05__total {
3617
+ display: flex;
3618
+ flex-wrap: wrap;
3619
+ align-items: baseline;
3620
+ justify-content: space-between;
3621
+ gap: 4px 16px;
3622
+ margin-top: 12px;
3623
+ border-top: 1px solid var(--ow-border);
3624
+ padding-top: 18px;
3625
+ }
3626
+
3627
+ .ow-pricing05__total-note {
3628
+ display: block;
3629
+ margin-top: 2px;
3630
+ }
3631
+
3632
+ /* A price, not a title: no extra leading above the figure, and digits of one width as it changes. */
3633
+ .ow-pricing05__total-amount {
3634
+ line-height: 1;
3635
+ font-variant-numeric: tabular-nums;
3636
+ }
3637
+
3638
+ .ow-pricing05__action {
3639
+ margin-top: 24px;
3640
+ }
3641
+
3642
+ .ow-pricing05__fine {
3643
+ margin-top: 14px;
3644
+ text-wrap: balance;
3645
+ }
3646
+
3647
+ @media (max-width: 1024px) {
3648
+ .ow-pricing05__inner {
3649
+ grid-template-columns: minmax(0, 1fr);
3650
+ gap: 48px;
3651
+ }
3652
+ }
3653
+
3654
+ @media (max-width: 760px) {
3655
+ .ow-pricing05 {
3656
+ padding: 72px var(--ow-page-gutter);
3657
+ }
3658
+ .ow-pricing05__tiers {
3659
+ margin-top: 32px;
3660
+ }
3661
+ .ow-pricing05__card {
3662
+ padding: 22px 18px;
3663
+ }
569
3664
  }