@cogenta/theme-docs 0.3.3 → 0.5.3

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 (148) hide show
  1. package/dist/src/index.d.ts +2 -0
  2. package/dist/src/index.d.ts.map +1 -1
  3. package/dist/src/index.js +2 -0
  4. package/dist/src/index.js.map +1 -1
  5. package/dist/src/render/blocks/accordion.d.ts +8 -0
  6. package/dist/src/render/blocks/accordion.d.ts.map +1 -1
  7. package/dist/src/render/blocks/accordion.js +10 -10
  8. package/dist/src/render/blocks/accordion.js.map +1 -1
  9. package/dist/src/render/blocks/collection-list.d.ts +3 -11
  10. package/dist/src/render/blocks/collection-list.d.ts.map +1 -1
  11. package/dist/src/render/blocks/collection-list.js +69 -68
  12. package/dist/src/render/blocks/collection-list.js.map +1 -1
  13. package/dist/src/render/blocks/cta.d.ts +6 -0
  14. package/dist/src/render/blocks/cta.d.ts.map +1 -1
  15. package/dist/src/render/blocks/cta.js +9 -4
  16. package/dist/src/render/blocks/cta.js.map +1 -1
  17. package/dist/src/render/blocks/embed.d.ts.map +1 -1
  18. package/dist/src/render/blocks/embed.js +14 -13
  19. package/dist/src/render/blocks/embed.js.map +1 -1
  20. package/dist/src/render/blocks/faq.d.ts +7 -0
  21. package/dist/src/render/blocks/faq.d.ts.map +1 -1
  22. package/dist/src/render/blocks/faq.js +10 -10
  23. package/dist/src/render/blocks/faq.js.map +1 -1
  24. package/dist/src/render/blocks/feature-grid.d.ts.map +1 -1
  25. package/dist/src/render/blocks/feature-grid.js +19 -19
  26. package/dist/src/render/blocks/feature-grid.js.map +1 -1
  27. package/dist/src/render/blocks/gallery.d.ts +8 -4
  28. package/dist/src/render/blocks/gallery.d.ts.map +1 -1
  29. package/dist/src/render/blocks/gallery.js +19 -13
  30. package/dist/src/render/blocks/gallery.js.map +1 -1
  31. package/dist/src/render/blocks/hero.d.ts +12 -9
  32. package/dist/src/render/blocks/hero.d.ts.map +1 -1
  33. package/dist/src/render/blocks/hero.js +22 -20
  34. package/dist/src/render/blocks/hero.js.map +1 -1
  35. package/dist/src/render/blocks/logo-strip.d.ts +6 -0
  36. package/dist/src/render/blocks/logo-strip.d.ts.map +1 -1
  37. package/dist/src/render/blocks/logo-strip.js +6 -10
  38. package/dist/src/render/blocks/logo-strip.js.map +1 -1
  39. package/dist/src/render/blocks/logos.d.ts +10 -0
  40. package/dist/src/render/blocks/logos.d.ts.map +1 -1
  41. package/dist/src/render/blocks/logos.js +20 -17
  42. package/dist/src/render/blocks/logos.js.map +1 -1
  43. package/dist/src/render/blocks/media-figure.d.ts +0 -6
  44. package/dist/src/render/blocks/media-figure.d.ts.map +1 -1
  45. package/dist/src/render/blocks/media-figure.js +28 -16
  46. package/dist/src/render/blocks/media-figure.js.map +1 -1
  47. package/dist/src/render/blocks/pricing-table.d.ts.map +1 -1
  48. package/dist/src/render/blocks/pricing-table.js +16 -20
  49. package/dist/src/render/blocks/pricing-table.js.map +1 -1
  50. package/dist/src/render/blocks/prose.d.ts +13 -1
  51. package/dist/src/render/blocks/prose.d.ts.map +1 -1
  52. package/dist/src/render/blocks/prose.js +12 -31
  53. package/dist/src/render/blocks/prose.js.map +1 -1
  54. package/dist/src/render/blocks/quote.d.ts +5 -3
  55. package/dist/src/render/blocks/quote.d.ts.map +1 -1
  56. package/dist/src/render/blocks/quote.js +10 -14
  57. package/dist/src/render/blocks/quote.js.map +1 -1
  58. package/dist/src/render/blocks/stat-counter.d.ts +5 -0
  59. package/dist/src/render/blocks/stat-counter.d.ts.map +1 -1
  60. package/dist/src/render/blocks/stat-counter.js +6 -10
  61. package/dist/src/render/blocks/stat-counter.js.map +1 -1
  62. package/dist/src/render/blocks/stats.d.ts +10 -0
  63. package/dist/src/render/blocks/stats.d.ts.map +1 -1
  64. package/dist/src/render/blocks/stats.js +13 -8
  65. package/dist/src/render/blocks/stats.js.map +1 -1
  66. package/dist/src/render/blocks/testimonial.d.ts +4 -5
  67. package/dist/src/render/blocks/testimonial.d.ts.map +1 -1
  68. package/dist/src/render/blocks/testimonial.js +9 -13
  69. package/dist/src/render/blocks/testimonial.js.map +1 -1
  70. package/dist/src/render/chrome.d.ts +36 -1
  71. package/dist/src/render/chrome.d.ts.map +1 -1
  72. package/dist/src/render/chrome.js +122 -80
  73. package/dist/src/render/chrome.js.map +1 -1
  74. package/dist/src/render/doc-index.d.ts +25 -0
  75. package/dist/src/render/doc-index.d.ts.map +1 -0
  76. package/dist/src/render/doc-index.js +49 -0
  77. package/dist/src/render/doc-index.js.map +1 -0
  78. package/dist/src/render/doc-page.d.ts +6 -0
  79. package/dist/src/render/doc-page.d.ts.map +1 -0
  80. package/dist/src/render/doc-page.js +127 -0
  81. package/dist/src/render/doc-page.js.map +1 -0
  82. package/dist/src/render/layout.d.ts +23 -0
  83. package/dist/src/render/layout.d.ts.map +1 -0
  84. package/dist/src/render/layout.js +40 -0
  85. package/dist/src/render/layout.js.map +1 -0
  86. package/dist/src/render/render-block.d.ts +9 -6
  87. package/dist/src/render/render-block.d.ts.map +1 -1
  88. package/dist/src/render/render-block.js +47 -100
  89. package/dist/src/render/render-block.js.map +1 -1
  90. package/dist/src/render/rich-text.d.ts +26 -0
  91. package/dist/src/render/rich-text.d.ts.map +1 -0
  92. package/dist/src/render/rich-text.js +325 -0
  93. package/dist/src/render/rich-text.js.map +1 -0
  94. package/dist/src/render/search.d.ts +15 -0
  95. package/dist/src/render/search.d.ts.map +1 -0
  96. package/dist/src/render/search.js +31 -0
  97. package/dist/src/render/search.js.map +1 -0
  98. package/dist/src/render/strings.d.ts +51 -0
  99. package/dist/src/render/strings.d.ts.map +1 -0
  100. package/dist/src/render/strings.js +60 -0
  101. package/dist/src/render/strings.js.map +1 -0
  102. package/dist/src/render/term-archive.d.ts +5 -5
  103. package/dist/src/render/term-archive.d.ts.map +1 -1
  104. package/dist/src/render/term-archive.js +27 -16
  105. package/dist/src/render/term-archive.js.map +1 -1
  106. package/dist/src/render/widget-areas.d.ts +22 -0
  107. package/dist/src/render/widget-areas.d.ts.map +1 -0
  108. package/dist/src/render/widget-areas.js +29 -0
  109. package/dist/src/render/widget-areas.js.map +1 -0
  110. package/package.json +4 -4
  111. package/src/index.ts +2 -0
  112. package/src/render/blocks/accordion.ts +31 -42
  113. package/src/render/blocks/collection-list.ts +132 -123
  114. package/src/render/blocks/cta.ts +23 -18
  115. package/src/render/blocks/embed.ts +37 -28
  116. package/src/render/blocks/faq.ts +26 -37
  117. package/src/render/blocks/feature-grid.ts +34 -42
  118. package/src/render/blocks/gallery.ts +33 -29
  119. package/src/render/blocks/hero.ts +41 -45
  120. package/src/render/blocks/logo-strip.ts +21 -21
  121. package/src/render/blocks/logos.ts +32 -42
  122. package/src/render/blocks/media-figure.ts +47 -25
  123. package/src/render/blocks/pricing-table.ts +34 -41
  124. package/src/render/blocks/prose.ts +25 -40
  125. package/src/render/blocks/quote.ts +25 -19
  126. package/src/render/blocks/stat-counter.ts +27 -29
  127. package/src/render/blocks/stats.ts +35 -32
  128. package/src/render/blocks/testimonial.ts +18 -19
  129. package/src/render/chrome.ts +170 -83
  130. package/src/render/doc-index.ts +65 -0
  131. package/src/render/doc-page.ts +303 -0
  132. package/src/render/layout.ts +73 -0
  133. package/src/render/render-block.ts +67 -191
  134. package/src/render/rich-text.ts +446 -0
  135. package/src/render/search.ts +41 -0
  136. package/src/render/strings.ts +67 -0
  137. package/src/render/term-archive.ts +62 -38
  138. package/src/render/widget-areas.ts +33 -0
  139. package/src/styles/archive.css +21 -27
  140. package/src/styles/base.css +438 -838
  141. package/src/styles/blocks.css +658 -916
  142. package/src/styles/chrome.css +439 -0
  143. package/src/styles/docs.css +404 -0
  144. package/src/styles/rich.css +337 -0
  145. package/src/styles/theme.css +28 -23
  146. package/src/styles/tokens.css +209 -215
  147. package/src/styles/widgets.css +890 -0
  148. package/tokens.json +15 -15
@@ -1,1238 +1,980 @@
1
1
  /*
2
- * The seventeen vocabulary blocks.
3
- *
4
- * One section per block, in the contract-B order. Nothing here declares a
5
- * colour, a size, a radius or a duration of its own: a block composes the
6
- * design system from `tokens.css` and nothing else, which is what keeps a
7
- * skin swap a whole-theme change rather than a per-block one.
2
+ * The seventeen blocks of contract B, in the register of a documentation
3
+ * site: left-aligned on twelve columns, drawn with hairlines and space, one
4
+ * teal for links. Inside a documentation page the same blocks are laid out
5
+ * in the reading column instead (`docs.css`).
8
6
  */
9
7
 
10
- /* --- hero ------------------------------------------------------------------
11
- Copy-first, information-dense: no full-bleed media wash. A small optional
12
- illustration sits in its own panel to the right; the decorative,
13
- non-interactive search prompt sits under the actions, matching the "search
14
- is the first thing you do on a docs site" convention without pretending a
15
- real control exists where this zero-JS theme has none.
16
- ------------------------------------------------------------------------- */
8
+ /* --------------------------------------------------------------------------
9
+ hero: a statement and the search
10
+ -------------------------------------------------------------------------- */
17
11
 
18
- .cg-hero {
19
- display: grid;
20
- gap: var(--cg-gap-loose);
21
- align-items: center;
22
- margin-block-start: var(--cg-s8);
23
- }
24
-
25
- @media (min-width: 60rem) {
26
- .cg-hero {
27
- grid-template-columns: 1fr minmax(14rem, 22rem);
28
- gap: var(--cg-s12);
29
- }
12
+ .cd-hero {
13
+ padding-block: calc(var(--cd-section) * 0.6) calc(var(--cd-section) * 0.5);
14
+ border-block-end: var(--cd-rule) solid var(--cd-line);
30
15
  }
31
16
 
32
- .cg-hero__eyebrow {
33
- display: inline-block;
34
- margin: 0 0 var(--cg-s4);
35
- padding: var(--cg-s1) var(--cg-s3);
36
- background: var(--cg-accent-soft);
37
- color: var(--cg-accent-soft-fg);
38
- border-radius: var(--cg-radius-pill);
39
- box-shadow: var(--cg-ring-accent);
40
- font-size: var(--cg-text-xs);
41
- font-weight: var(--cg-weight-semibold);
42
- letter-spacing: var(--cg-tracking-wide);
43
- text-transform: uppercase;
44
- }
45
-
46
- .cg-hero__title {
47
- margin: 0;
48
- font-size: var(--cg-text-3xl);
49
- line-height: var(--cg-leading-tight);
50
- letter-spacing: var(--cg-tracking-tight);
51
- font-weight: var(--cg-weight-bold);
52
- text-wrap: balance;
53
- }
54
-
55
- @media (min-width: 60rem) {
56
- .cg-hero__title {
57
- font-size: calc(var(--cg-text-3xl) * 1.2);
58
- }
17
+ .cd-hero__inner {
18
+ row-gap: var(--cd-s10);
19
+ align-items: center;
59
20
  }
60
21
 
61
- .cg-hero__subtitle {
62
- margin: var(--cg-s4) 0 0;
63
- max-inline-size: var(--cg-measure-narrow);
64
- font-size: var(--cg-text-lg);
65
- line-height: var(--cg-leading-relaxed);
66
- color: var(--cg-ink-muted);
67
- text-wrap: pretty;
22
+ .cd-hero__copy {
23
+ display: grid;
24
+ justify-items: start;
25
+ gap: var(--cd-s5);
68
26
  }
69
27
 
70
- .cg-hero__search {
71
- display: inline-flex;
72
- align-items: center;
73
- gap: var(--cg-s3);
74
- margin-block-start: var(--cg-s6);
75
- padding: var(--cg-s3) var(--cg-s4);
76
- max-inline-size: 22rem;
77
- background: var(--cg-surface);
78
- border-radius: var(--cg-radius-md);
79
- box-shadow: var(--cg-ring);
80
- color: var(--cg-ink-subtle);
81
- }
82
-
83
- .cg-hero__search-icon {
84
- inline-size: 1.05rem;
85
- block-size: 1.05rem;
86
- flex: none;
28
+ .cd-hero__eyebrow {
29
+ margin: 0;
30
+ color: var(--cd-ink-muted);
31
+ font-family: var(--cd-font-mono);
32
+ font-size: var(--cd-text-label);
33
+ line-height: var(--cd-leading-ui);
87
34
  }
88
35
 
89
- .cg-hero__search-text {
90
- flex: 1;
91
- font-size: var(--cg-text-sm);
36
+ .cd-hero__title {
37
+ max-inline-size: 18ch;
38
+ font-size: var(--cd-size-display);
39
+ font-weight: var(--cd-weight-semibold);
40
+ line-height: var(--cd-leading-display);
41
+ letter-spacing: var(--cd-tracking-display);
92
42
  }
93
43
 
94
- .cg-hero__search-key {
44
+ .cd-hero__subtitle {
95
45
  margin: 0;
46
+ max-inline-size: 58ch;
47
+ color: var(--cd-ink-muted);
48
+ font-size: var(--cd-size-lead);
49
+ line-height: var(--cd-leading-lead);
96
50
  }
97
51
 
98
- .cg-hero__panel {
99
- border-radius: var(--cg-radius-lg);
100
- overflow: hidden;
101
- box-shadow: var(--cg-elevation-2), var(--cg-ring);
52
+ .cd-hero__search {
53
+ inline-size: 100%;
54
+ max-inline-size: 38rem;
55
+ margin-block-start: var(--cd-s3);
102
56
  }
103
57
 
104
- .cg-hero__media {
105
- inline-size: 100%;
106
- display: block;
58
+ .cd-hero__media {
59
+ aspect-ratio: 16 / 10;
107
60
  }
108
61
 
109
- /* --- prose ------------------------------------------------------------------
110
- Reference-doc reading column, plus real code blocks: a rich-text paragraph
111
- whose only content is a single `code`-marked span is promoted to
112
- `<pre><code>` by `blocks/prose.ts` before it ever reaches this stylesheet.
113
- ------------------------------------------------------------------------- */
62
+ @media (min-width: 64rem) {
63
+ .cd-hero__copy {
64
+ grid-column: 1 / span 8;
65
+ }
114
66
 
115
- .cg-prose {
116
- max-inline-size: var(--cg-measure);
117
- margin-inline: auto;
118
- line-height: var(--cg-leading-relaxed);
119
- }
67
+ .cd-hero[data-media="true"] .cd-hero__copy {
68
+ grid-column: 1 / span 6;
69
+ }
120
70
 
121
- .cg-prose > :first-child {
122
- margin-block-start: 0;
71
+ .cd-hero__media {
72
+ grid-column: 8 / -1;
73
+ }
123
74
  }
124
75
 
125
- .cg-prose > :last-child {
126
- margin-block-end: 0;
127
- }
76
+ /* --------------------------------------------------------------------------
77
+ featureGrid: short entries hanging from hairlines
78
+ -------------------------------------------------------------------------- */
128
79
 
129
- .cg-prose h2,
130
- .cg-prose h3,
131
- .cg-prose h4 {
132
- letter-spacing: var(--cg-tracking-snug);
133
- line-height: var(--cg-leading-snug);
134
- font-weight: var(--cg-weight-bold);
135
- text-wrap: balance;
136
- scroll-margin-block-start: calc(var(--cg-header-height) + var(--cg-s4));
80
+ .cd-features__items {
81
+ display: grid;
82
+ grid-template-columns: minmax(0, 1fr);
83
+ gap: var(--cd-s8) var(--cd-col-gap);
84
+ margin: 0;
85
+ padding: 0;
86
+ list-style: none;
137
87
  }
138
88
 
139
- .cg-prose h2 {
140
- margin-block: var(--cg-s10) var(--cg-s4);
141
- font-size: var(--cg-text-xl);
142
- letter-spacing: var(--cg-tracking-tight);
143
- padding-block-end: var(--cg-s2);
144
- border-block-end: 1px solid var(--cg-line-soft);
89
+ .cd-features__item {
90
+ display: grid;
91
+ align-content: start;
92
+ gap: var(--cd-s2);
93
+ padding-block-start: var(--cd-s5);
94
+ border-block-start: var(--cd-rule) solid var(--cd-line);
145
95
  }
146
96
 
147
- .cg-prose h3 {
148
- margin-block: var(--cg-s8) var(--cg-s3);
149
- font-size: var(--cg-text-lg);
97
+ .cd-features__title {
98
+ font-size: var(--cd-text-lg);
99
+ font-weight: var(--cd-weight-semibold);
100
+ line-height: var(--cd-leading-heading);
150
101
  }
151
102
 
152
- .cg-prose h4 {
153
- margin-block: var(--cg-s6) var(--cg-s2);
154
- font-size: var(--cg-text-md);
103
+ .cd-features__icon {
104
+ display: inline-block;
105
+ margin-inline-end: var(--cd-s2);
106
+ vertical-align: -0.15em;
107
+ color: var(--cd-ink-muted);
155
108
  }
156
109
 
157
- .cg-prose p {
158
- margin-block: var(--cg-s4);
159
- text-wrap: pretty;
110
+ .cd-features__text {
111
+ margin: 0;
112
+ max-inline-size: 44ch;
113
+ color: var(--cd-ink-muted);
114
+ font-size: var(--cd-text-ui);
115
+ line-height: var(--cd-leading-lead);
160
116
  }
161
117
 
162
- .cg-prose ul,
163
- .cg-prose ol {
164
- margin-block: var(--cg-s4);
165
- padding-inline-start: var(--cg-s6);
166
- }
118
+ @media (min-width: 40rem) {
119
+ .cd-features__items {
120
+ grid-template-columns: repeat(2, minmax(0, 1fr));
121
+ }
167
122
 
168
- .cg-prose li {
169
- margin-block: var(--cg-s2);
170
- padding-inline-start: var(--cg-s1);
123
+ .cd-features[data-count="1"] .cd-features__items {
124
+ grid-template-columns: minmax(0, 1fr);
125
+ }
171
126
  }
172
127
 
173
- .cg-prose li::marker {
174
- color: var(--cg-accent);
175
- }
128
+ @media (min-width: 64rem) {
129
+ .cd-features[data-count="3"] .cd-features__items {
130
+ grid-template-columns: repeat(3, minmax(0, 1fr));
131
+ }
176
132
 
177
- .cg-prose strong {
178
- font-weight: var(--cg-weight-semibold);
179
- color: var(--cg-ink);
133
+ .cd-features[data-count="4"] .cd-features__items {
134
+ grid-template-columns: repeat(4, minmax(0, 1fr));
135
+ }
180
136
  }
181
137
 
182
- .cg-prose blockquote {
183
- margin-block: var(--cg-s6);
184
- margin-inline: 0;
185
- padding: var(--cg-s4) var(--cg-s5);
186
- border-inline-start: 3px solid var(--cg-accent);
187
- border-start-end-radius: var(--cg-radius-md);
188
- border-end-end-radius: var(--cg-radius-md);
189
- background: var(--cg-surface-tinted);
190
- color: var(--cg-ink-muted);
191
- font-size: var(--cg-text-md);
192
- line-height: var(--cg-leading-normal);
193
- }
138
+ /* --------------------------------------------------------------------------
139
+ collectionList
140
+ -------------------------------------------------------------------------- */
194
141
 
195
- .cg-prose blockquote > :first-child {
196
- margin-block-start: 0;
197
- }
142
+ /* --- the documentation, by section ------------------------------------------ */
198
143
 
199
- .cg-prose blockquote > :last-child {
200
- margin-block-end: 0;
144
+ .cd-browse {
145
+ display: grid;
146
+ grid-template-columns: minmax(0, 1fr);
147
+ gap: var(--cd-s10) var(--cd-col-gap);
201
148
  }
202
149
 
203
- .cg-prose code {
204
- font-family: var(--cogenta-font-mono);
205
- font-size: 0.875em;
206
- background: var(--cg-surface-sunken);
207
- border-radius: var(--cg-radius-sm);
208
- box-shadow: var(--cg-ring);
209
- padding: 0.15em 0.4em;
150
+ .cd-browse__group {
151
+ padding-block-start: var(--cd-s5);
152
+ border-block-start: var(--cd-rule) solid var(--cd-line-ink);
210
153
  }
211
154
 
212
- /* The real code block — a `<pre>` promoted from a code-marked paragraph
213
- (`blocks/prose.ts`). `overflow-x: auto` rather than wrapping: a wrapped
214
- shell command or a long import line is harder to read and to copy than a
215
- horizontally scrollable one. */
216
- .cg-prose__code {
217
- margin-block: var(--cg-s6);
218
- padding: var(--cg-s5);
219
- overflow-x: auto;
220
- background: var(--cg-surface-sunken);
221
- border-radius: var(--cg-radius-md);
222
- box-shadow: var(--cg-ring);
223
- tab-size: 2;
155
+ .cd-browse__heading {
156
+ margin: 0 0 var(--cd-s3);
157
+ color: var(--cd-ink);
158
+ font-size: var(--cd-text-md);
159
+ font-weight: var(--cd-weight-semibold);
224
160
  }
225
161
 
226
- .cg-prose__code code {
227
- display: block;
162
+ .cd-browse__links {
163
+ display: grid;
164
+ margin: 0;
228
165
  padding: 0;
229
- background: none;
230
- box-shadow: none;
231
- font-size: var(--cg-text-sm);
232
- line-height: var(--cg-leading-normal);
233
- color: var(--cg-ink);
234
- white-space: pre;
166
+ list-style: none;
235
167
  }
236
168
 
237
- .cg-prose__figure {
238
- margin-block: var(--cg-s6);
239
- margin-inline: 0;
169
+ .cd-browse__link {
170
+ display: inline-block;
171
+ padding-block: var(--cd-s1);
172
+ color: var(--cd-link);
173
+ font-size: var(--cd-text-ui);
174
+ line-height: var(--cd-leading-ui);
175
+ text-decoration-line: none;
240
176
  }
241
177
 
242
- .cg-prose__figure img {
243
- inline-size: 100%;
244
- border-radius: var(--cg-radius-lg);
245
- box-shadow: var(--cg-elevation-2);
178
+ .cd-browse__link:hover {
179
+ color: var(--cd-accent-hover);
180
+ text-decoration-line: underline;
246
181
  }
247
182
 
248
- .cg-prose__figure figcaption {
249
- margin-block-start: var(--cg-s3);
250
- color: var(--cg-ink-subtle);
251
- font-size: var(--cg-text-sm);
252
- line-height: var(--cg-leading-normal);
183
+ @media (min-width: 40rem) {
184
+ .cd-browse {
185
+ grid-template-columns: repeat(2, minmax(0, 1fr));
186
+ }
253
187
  }
254
188
 
255
- /* --- mediaFigure ------------------------------------------------------------ */
256
-
257
- .cg-figure {
258
- margin-inline: auto;
259
- }
189
+ @media (min-width: 64rem) {
190
+ .cd-browse[data-count="3"] {
191
+ grid-template-columns: repeat(3, minmax(0, 1fr));
192
+ }
260
193
 
261
- .cg-figure[data-align="start"],
262
- .cg-figure[data-align="end"] {
263
- max-inline-size: calc(var(--cg-measure) / 2);
194
+ .cd-browse[data-count="4"] {
195
+ grid-template-columns: repeat(4, minmax(0, 1fr));
196
+ }
264
197
  }
265
198
 
266
- .cg-figure[data-align="start"] {
267
- float: inline-start;
268
- margin-inline-end: var(--cg-s6);
269
- }
199
+ /* --- an index of entries ------------------------------------------------------- */
270
200
 
271
- .cg-figure[data-align="end"] {
272
- float: inline-end;
273
- margin-inline-start: var(--cg-s6);
201
+ .cd-index {
202
+ margin: 0;
203
+ padding: 0;
204
+ list-style: none;
205
+ border-block-start: var(--cd-rule) solid var(--cd-line);
274
206
  }
275
207
 
276
- .cg-figure[data-align="full"] {
277
- max-inline-size: none;
278
- padding-inline: 0;
208
+ .cd-index__item {
209
+ display: grid;
210
+ grid-template-columns: minmax(0, 1fr);
211
+ gap: var(--cd-s1) var(--cd-s8);
212
+ padding-block: var(--cd-s5);
213
+ border-block-end: var(--cd-rule) solid var(--cd-line);
279
214
  }
280
215
 
281
- .cg-figure__media {
282
- inline-size: 100%;
283
- aspect-ratio: var(--cg-ratio, auto);
284
- border-radius: var(--cg-radius-lg);
285
- box-shadow: var(--cg-elevation-2), var(--cg-ring);
216
+ .cd-index__title {
217
+ font-size: var(--cd-text-lg);
218
+ font-weight: var(--cd-weight-medium);
286
219
  }
287
220
 
288
- .cg-figure[data-align="full"] .cg-figure__media {
289
- border-radius: 0;
221
+ .cd-index__link,
222
+ .cd-cards__link {
223
+ color: var(--cd-ink);
224
+ text-decoration-line: none;
290
225
  }
291
226
 
292
- .cg-figure__caption {
293
- margin-block-start: var(--cg-s4);
294
- padding-inline-start: var(--cg-s4);
295
- border-inline-start: 2px solid var(--cg-line-strong);
296
- color: var(--cg-ink-subtle);
297
- font-size: var(--cg-text-sm);
298
- line-height: var(--cg-leading-normal);
299
- text-wrap: pretty;
227
+ .cd-index__link:hover,
228
+ .cd-cards__link:hover {
229
+ color: var(--cd-link);
230
+ text-decoration-line: underline;
300
231
  }
301
232
 
302
- .cg-figure[data-align="full"] .cg-figure__caption {
303
- max-inline-size: var(--cg-measure);
304
- margin-inline: auto;
305
- padding-inline: var(--cg-gutter);
306
- border-inline-start: 0;
233
+ .cd-index__text {
234
+ margin: var(--cd-s1) 0 0;
235
+ max-inline-size: 64ch;
236
+ color: var(--cd-ink-muted);
237
+ font-size: var(--cd-text-ui);
238
+ line-height: var(--cd-leading-lead);
307
239
  }
308
240
 
309
- .cg-figure__credit {
310
- color: var(--cg-ink-subtle);
241
+ .cd-index__date,
242
+ .cd-cards__date {
243
+ color: var(--cd-ink-muted);
244
+ font-size: var(--cd-text-label);
245
+ font-variant-numeric: tabular-nums;
246
+ white-space: nowrap;
311
247
  }
312
248
 
313
- .cg-figure__credit::before {
314
- content: " — ";
249
+ @media (min-width: 40rem) {
250
+ .cd-index__item {
251
+ grid-template-columns: minmax(0, 1fr) auto;
252
+ align-items: baseline;
253
+ }
315
254
  }
316
255
 
317
- /* --- featureGrid ------------------------------------------------------------ */
256
+ /* --- cards and carousel ---------------------------------------------------------- */
318
257
 
319
- .cg-features__items {
258
+ .cd-cards {
320
259
  display: grid;
321
- gap: var(--cg-gap);
322
- grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
260
+ grid-template-columns: minmax(0, 1fr);
261
+ gap: var(--cd-s10) var(--cd-col-gap);
262
+ margin: 0;
263
+ padding: 0;
264
+ list-style: none;
323
265
  }
324
266
 
325
- .cg-feature {
326
- position: relative;
327
- padding: var(--cg-s5);
328
- background: var(--cg-surface-raised);
329
- border-radius: var(--cg-radius-md);
330
- box-shadow: var(--cg-ring);
331
- transition:
332
- box-shadow var(--cg-duration) var(--cg-ease),
333
- transform var(--cg-duration) var(--cg-ease);
267
+ .cd-cards__item {
268
+ display: grid;
269
+ align-content: start;
270
+ gap: var(--cd-s2);
334
271
  }
335
272
 
336
- .cg-feature:hover {
337
- box-shadow: var(--cg-elevation-2), var(--cg-ring-accent);
338
- transform: translateY(-2px);
273
+ .cd-cards__media {
274
+ aspect-ratio: 16 / 10;
275
+ margin-block-end: var(--cd-s2);
339
276
  }
340
277
 
341
- .cg-feature__link {
342
- color: inherit;
343
- text-decoration: none;
278
+ .cd-cards__title {
279
+ font-size: var(--cd-text-lg);
280
+ font-weight: var(--cd-weight-medium);
344
281
  }
345
282
 
346
- .cg-feature__link::after {
347
- content: "";
348
- position: absolute;
349
- inset: 0;
350
- border-radius: inherit;
351
- }
352
-
353
- .cg-feature:hover .cg-feature__link {
354
- color: var(--cg-accent);
283
+ .cd-cards__text {
284
+ margin: 0;
285
+ color: var(--cd-ink-muted);
286
+ font-size: var(--cd-text-ui);
287
+ line-height: var(--cd-leading-lead);
355
288
  }
356
289
 
357
- .cg-feature__icon {
358
- display: flex;
359
- align-items: center;
360
- justify-content: center;
361
- inline-size: var(--cg-s8);
362
- block-size: var(--cg-s8);
363
- margin-block-end: var(--cg-s4);
364
- background: var(--cg-accent-soft);
365
- border-radius: var(--cg-radius-sm);
366
- box-shadow: var(--cg-ring-accent);
367
- color: var(--cg-accent);
290
+ .cd-cards[data-carousel="true"] {
291
+ grid-template-columns: none;
292
+ grid-auto-flow: column;
293
+ grid-auto-columns: minmax(15rem, 80%);
294
+ overflow-x: auto;
295
+ padding-block-end: var(--cd-s4);
296
+ scroll-snap-type: x mandatory;
368
297
  }
369
298
 
370
- .cg-feature__icon svg {
371
- inline-size: var(--cg-s5);
372
- block-size: var(--cg-s5);
299
+ .cd-cards[data-carousel="true"] > .cd-cards__item {
300
+ scroll-snap-align: start;
373
301
  }
374
302
 
375
- .cg-feature__title {
376
- margin: 0 0 var(--cg-s2);
377
- font-size: var(--cg-text-md);
378
- font-weight: var(--cg-weight-semibold);
379
- line-height: var(--cg-leading-snug);
380
- letter-spacing: var(--cg-tracking-snug);
381
- text-wrap: balance;
382
- }
303
+ @media (min-width: 40rem) {
304
+ .cd-cards:not([data-carousel="true"]) {
305
+ grid-template-columns: repeat(2, minmax(0, 1fr));
306
+ }
383
307
 
384
- .cg-feature__text {
385
- margin: 0;
386
- color: var(--cg-ink-muted);
387
- font-size: var(--cg-text-sm);
388
- line-height: var(--cg-leading-relaxed);
389
- text-wrap: pretty;
308
+ .cd-cards[data-carousel="true"] {
309
+ grid-auto-columns: minmax(16rem, 40%);
310
+ }
390
311
  }
391
312
 
392
- /* --- cta --------------------------------------------------------------------- */
313
+ @media (min-width: 64rem) {
314
+ .cd-cards:not([data-carousel="true"]) {
315
+ grid-template-columns: repeat(3, minmax(0, 1fr));
316
+ }
393
317
 
394
- .cg-cta {
395
- padding: var(--cg-s12) var(--cg-s8);
396
- background: var(--cg-surface-tinted);
397
- border-radius: var(--cg-radius-lg);
398
- box-shadow: var(--cg-ring-accent);
399
- text-align: center;
318
+ .cd-cards[data-carousel="true"] {
319
+ grid-auto-columns: minmax(16rem, calc((100% - var(--cd-col-gap) * 2) / 3));
320
+ }
400
321
  }
401
322
 
402
- .cg-cta__title {
403
- margin: 0;
404
- font-size: var(--cg-text-2xl);
405
- line-height: var(--cg-leading-snug);
406
- letter-spacing: var(--cg-tracking-tight);
407
- font-weight: var(--cg-weight-bold);
408
- text-wrap: balance;
409
- }
323
+ /* --------------------------------------------------------------------------
324
+ prose, outside an article: on the reading measure from the first column
325
+ -------------------------------------------------------------------------- */
410
326
 
411
- .cg-cta__text {
412
- margin: var(--cg-s3) auto 0;
413
- max-inline-size: var(--cg-measure-narrow);
414
- color: var(--cg-ink-muted);
415
- font-size: var(--cg-text-lg);
416
- line-height: var(--cg-leading-relaxed);
417
- text-wrap: pretty;
327
+ .cd-prose__body {
328
+ max-inline-size: var(--cd-article);
418
329
  }
419
330
 
420
- .cg-cta .cg-actions {
421
- justify-content: center;
331
+ @media (min-width: 64rem) {
332
+ .cd-main .cd-prose__body {
333
+ grid-column: 1 / span 8;
334
+ }
422
335
  }
423
336
 
424
- /* --- gallery ------------------------------------------------------------------ */
337
+ /* --------------------------------------------------------------------------
338
+ mediaFigure
339
+ -------------------------------------------------------------------------- */
425
340
 
426
- .cg-gallery__items {
427
- display: grid;
428
- gap: var(--cg-gap-tight);
429
- grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr));
341
+ .cd-figure__inner {
342
+ row-gap: var(--cd-s3);
343
+ margin-block: 0;
430
344
  }
431
345
 
432
- .cg-gallery__item {
433
- overflow: hidden;
434
- border-radius: var(--cg-radius-md);
435
- box-shadow: var(--cg-ring);
436
- }
437
-
438
- .cg-gallery__item img {
346
+ .cd-figure__image {
439
347
  inline-size: 100%;
440
- block-size: 100%;
441
- transition: transform var(--cg-duration-slow) var(--cg-ease);
442
348
  }
443
349
 
444
- .cg-gallery__item:hover img {
445
- transform: scale(1.03);
446
- }
447
-
448
- .cg-gallery:not([data-layout="masonry"]) .cg-gallery__item img {
449
- aspect-ratio: 4 / 3;
350
+ .cd-figure__media[data-ratio="fixed"] .cd-figure__image {
351
+ block-size: 100%;
352
+ object-position: top center;
450
353
  }
451
354
 
452
- .cg-gallery[data-layout="masonry"] .cg-gallery__items {
453
- display: block;
454
- columns: 3 13rem;
455
- column-gap: var(--cg-gap-tight);
355
+ .cd-figure__caption {
356
+ display: flex;
357
+ flex-wrap: wrap;
358
+ gap: var(--cd-s1) var(--cd-s4);
359
+ color: var(--cd-ink-muted);
360
+ font-size: var(--cd-text-label);
361
+ line-height: var(--cd-leading-ui);
456
362
  }
457
363
 
458
- .cg-gallery[data-layout="masonry"] .cg-gallery__item {
459
- break-inside: avoid;
460
- margin-block-end: var(--cg-gap-tight);
364
+ .cd-figure__credit {
365
+ color: var(--cd-ink-muted);
461
366
  }
462
367
 
463
- .cg-gallery[data-layout="carousel"] .cg-gallery__items {
464
- display: grid;
465
- grid-auto-flow: column;
466
- grid-auto-columns: minmax(15rem, 40%);
368
+ .cd-figure[data-align="full"] .cd-figure__inner {
369
+ max-inline-size: none;
370
+ padding-inline: 0;
467
371
  }
468
372
 
469
- .cg-gallery[data-layout="carousel"] .cg-gallery__item {
470
- scroll-snap-align: start;
373
+ .cd-figure[data-align="full"] .cd-figure__caption {
374
+ padding-inline: var(--cd-gutter);
471
375
  }
472
376
 
473
- /* --- quote ---------------------------------------------------------------------- */
377
+ @media (min-width: 64rem) {
378
+ :where(.cd-figure[data-align="center"]) .cd-figure__inner > * {
379
+ grid-column: 3 / span 8;
380
+ }
474
381
 
475
- .cg-quote {
476
- max-inline-size: var(--cg-page-narrow);
477
- margin-inline: auto;
478
- text-align: center;
479
- }
382
+ :where(.cd-figure[data-align="start"]) .cd-figure__inner > * {
383
+ grid-column: 1 / span 8;
384
+ }
480
385
 
481
- .cg-quote::before {
482
- content: "\201C" / "";
483
- display: block;
484
- margin-block-end: calc(var(--cg-s4) * -1);
485
- color: var(--cg-accent-soft);
486
- font-size: calc(var(--cg-text-3xl) * 1.8);
487
- line-height: 1;
386
+ :where(.cd-figure[data-align="end"]) .cd-figure__inner > * {
387
+ grid-column: 5 / span 8;
388
+ }
488
389
  }
489
390
 
490
- .cg-quote__text {
491
- margin: 0;
492
- font-size: var(--cg-text-2xl);
493
- line-height: var(--cg-leading-snug);
494
- letter-spacing: var(--cg-tracking-snug);
495
- text-wrap: balance;
496
- }
391
+ /* --------------------------------------------------------------------------
392
+ cta: between two hairlines, on the page's own ground
393
+ -------------------------------------------------------------------------- */
497
394
 
498
- .cg-quote__attribution {
499
- display: flex;
395
+ .cd-cta__panel {
396
+ display: grid;
397
+ gap: var(--cd-s6) var(--cd-col-gap);
500
398
  align-items: center;
501
- justify-content: center;
502
- gap: var(--cg-s3);
503
- margin-block-start: var(--cg-s6);
504
- color: var(--cg-ink-subtle);
505
- font-size: var(--cg-text-sm);
399
+ padding-block: var(--cd-s10);
400
+ border-block: var(--cd-rule) solid var(--cd-line);
506
401
  }
507
402
 
508
- .cg-quote__avatar {
509
- inline-size: var(--cg-s10);
510
- block-size: var(--cg-s10);
511
- border-radius: var(--cg-radius-pill);
512
- box-shadow: var(--cg-ring);
403
+ .cd-cta__words {
404
+ display: grid;
405
+ gap: var(--cd-s2);
513
406
  }
514
407
 
515
- .cg-quote__author {
516
- font-weight: var(--cg-weight-semibold);
517
- color: var(--cg-ink);
408
+ .cd-cta__title {
409
+ font-size: var(--cd-size-h2);
410
+ font-weight: var(--cd-weight-semibold);
411
+ letter-spacing: var(--cd-tracking-heading);
518
412
  }
519
413
 
520
- .cg-quote__role::before {
521
- content: "";
522
- display: inline-block;
523
- inline-size: var(--cg-s3);
524
- border-block-start: 1px solid var(--cg-line-strong);
525
- vertical-align: middle;
526
- margin-inline-end: var(--cg-s3);
414
+ .cd-cta__text {
415
+ margin: 0;
416
+ max-inline-size: 60ch;
417
+ color: var(--cd-ink-muted);
418
+ line-height: var(--cd-leading-lead);
527
419
  }
528
420
 
529
- /* --- faq --------------------------------------------------------------------------- */
421
+ @media (min-width: 64rem) {
422
+ .cd-cta__panel {
423
+ grid-template-columns: repeat(12, minmax(0, 1fr));
424
+ }
425
+
426
+ .cd-cta__words {
427
+ grid-column: 1 / span 7;
428
+ }
530
429
 
531
- .cg-faq {
532
- max-inline-size: var(--cg-page-narrow);
533
- margin-inline: auto;
534
- }
430
+ .cd-cta__actions {
431
+ grid-column: 8 / -1;
432
+ justify-self: end;
433
+ }
535
434
 
536
- .cg-faq__items {
537
- background: var(--cg-surface-raised);
538
- border-radius: var(--cg-radius-md);
539
- box-shadow: var(--cg-ring);
540
- overflow: hidden;
541
- }
435
+ .cd-doc__body .cd-cta__panel {
436
+ grid-template-columns: minmax(0, 1fr) auto;
437
+ }
542
438
 
543
- .cg-faq__item + .cg-faq__item {
544
- border-block-start: 1px solid var(--cg-line-soft);
439
+ .cd-doc__body .cd-cta__words,
440
+ .cd-doc__body .cd-cta__actions {
441
+ grid-column: auto;
442
+ }
545
443
  }
546
444
 
547
- .cg-faq__question {
548
- display: flex;
549
- align-items: center;
550
- gap: var(--cg-s4);
551
- padding: var(--cg-s4) var(--cg-s5);
552
- font-weight: var(--cg-weight-semibold);
553
- cursor: pointer;
445
+ /* --------------------------------------------------------------------------
446
+ gallery
447
+ -------------------------------------------------------------------------- */
448
+
449
+ .cd-gallery__items {
450
+ display: grid;
451
+ grid-template-columns: minmax(0, 1fr);
452
+ gap: var(--cd-col-gap);
453
+ margin: 0;
454
+ padding: 0;
554
455
  list-style: none;
555
- transition: background-color var(--cg-duration) var(--cg-ease);
556
456
  }
557
457
 
558
- .cg-faq__question::-webkit-details-marker {
559
- display: none;
458
+ .cd-gallery[data-layout="grid"] .cd-gallery__item,
459
+ .cd-gallery[data-layout="carousel"] .cd-gallery__item {
460
+ aspect-ratio: 16 / 10;
560
461
  }
561
462
 
562
- .cg-faq__question:hover {
563
- background: var(--cg-accent-soft);
564
- color: var(--cg-accent-soft-fg);
463
+ .cd-gallery[data-layout="masonry"] .cd-gallery__items {
464
+ display: block;
465
+ columns: 1;
466
+ column-gap: var(--cd-col-gap);
565
467
  }
566
468
 
567
- .cg-faq__question::after {
568
- content: "";
569
- flex: none;
570
- margin-inline-start: auto;
571
- inline-size: 0.5em;
572
- block-size: 0.5em;
573
- border-inline-end: 2px solid currentColor;
574
- border-block-end: 2px solid currentColor;
575
- transform: translateY(-0.15em) rotate(45deg);
576
- transition: transform var(--cg-duration) var(--cg-ease);
469
+ .cd-gallery[data-layout="masonry"] .cd-gallery__item {
470
+ margin-block-end: var(--cd-col-gap);
471
+ break-inside: avoid;
577
472
  }
578
473
 
579
- .cg-faq__details[open] .cg-faq__question::after {
580
- transform: translateY(0.1em) rotate(-135deg);
474
+ .cd-gallery[data-layout="carousel"] .cd-gallery__items {
475
+ grid-template-columns: none;
476
+ grid-auto-flow: column;
477
+ grid-auto-columns: minmax(15rem, 80%);
478
+ overflow-x: auto;
479
+ padding-block-end: var(--cd-s4);
480
+ scroll-snap-type: x mandatory;
581
481
  }
582
482
 
583
- .cg-faq__details[open] .cg-faq__question {
584
- color: var(--cg-accent);
483
+ .cd-gallery[data-layout="carousel"] .cd-gallery__item {
484
+ scroll-snap-align: start;
585
485
  }
586
486
 
587
- .cg-faq__answer {
588
- padding: 0 var(--cg-s5) var(--cg-s5);
589
- color: var(--cg-ink-muted);
590
- line-height: var(--cg-leading-relaxed);
591
- }
487
+ @media (min-width: 40rem) {
488
+ .cd-gallery[data-layout="grid"] .cd-gallery__items {
489
+ grid-template-columns: repeat(2, minmax(0, 1fr));
490
+ }
592
491
 
593
- .cg-faq__answer > :first-child {
594
- margin-block-start: 0;
595
- }
492
+ .cd-gallery[data-layout="masonry"] .cd-gallery__items {
493
+ columns: 2;
494
+ }
596
495
 
597
- .cg-faq__answer > :last-child {
598
- margin-block-end: 0;
496
+ .cd-gallery[data-layout="carousel"] .cd-gallery__items {
497
+ grid-auto-columns: minmax(16rem, 44%);
498
+ }
599
499
  }
600
500
 
601
- /* --- stats --------------------------------------------------------------------- */
501
+ @media (min-width: 64rem) {
502
+ .cd-gallery[data-layout="grid"]:not([data-count="2"], [data-count="4"]) .cd-gallery__items {
503
+ grid-template-columns: repeat(3, minmax(0, 1fr));
504
+ }
602
505
 
603
- .cg-stats__items {
604
- display: grid;
605
- gap: var(--cg-gap);
606
- grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
607
- margin: 0;
506
+ .cd-gallery[data-layout="masonry"] .cd-gallery__items {
507
+ columns: 3;
508
+ }
608
509
  }
609
510
 
610
- .cg-stat {
611
- display: flex;
612
- flex-direction: column-reverse;
613
- gap: var(--cg-s2);
614
- padding: var(--cg-s5);
615
- background: var(--cg-surface-sunken);
616
- border-radius: var(--cg-radius-md);
617
- box-shadow: var(--cg-ring);
511
+ /* --------------------------------------------------------------------------
512
+ quote and testimonial: a rule in ink, real quotation marks
513
+ -------------------------------------------------------------------------- */
514
+
515
+ .cd-quote__inner,
516
+ .cd-testimonial__inner {
517
+ row-gap: var(--cd-s5);
518
+ margin-block: 0;
618
519
  }
619
520
 
620
- .cg-stat__value {
621
- display: flex;
622
- align-items: baseline;
623
- gap: var(--cg-s1);
521
+ .cd-quote__body,
522
+ .cd-testimonial__quote {
624
523
  margin: 0;
625
- color: var(--cg-accent);
626
- font-size: var(--cg-text-3xl);
627
- font-weight: var(--cg-weight-bold);
628
- line-height: var(--cg-leading-tight);
629
- letter-spacing: var(--cg-tracking-tight);
630
- font-variant-numeric: tabular-nums;
524
+ max-inline-size: 50rem;
525
+ padding-inline-start: var(--cd-s6);
526
+ border-inline-start: var(--cd-rule-strong) solid var(--cd-line-ink);
631
527
  }
632
528
 
633
- .cg-stat__unit {
634
- font-size: var(--cg-text-lg);
635
- font-weight: var(--cg-weight-medium);
636
- color: var(--cg-ink-muted);
529
+ .cd-quote__text,
530
+ .cd-testimonial__quote > p:first-child {
531
+ margin: 0;
532
+ font-size: var(--cd-size-quote);
533
+ font-weight: var(--cd-weight-regular);
534
+ line-height: 1.42;
535
+ letter-spacing: var(--cd-tracking-heading);
536
+ quotes: "\201C" "\201D";
637
537
  }
638
538
 
639
- .cg-stat__label {
640
- color: var(--cg-ink-muted);
641
- font-size: var(--cg-text-xs);
642
- font-weight: var(--cg-weight-semibold);
643
- letter-spacing: var(--cg-tracking-wide);
644
- text-transform: uppercase;
539
+ .cd-quote__text::before,
540
+ .cd-testimonial__quote > p:first-child::before {
541
+ content: open-quote;
645
542
  }
646
543
 
647
- /* --- logos ------------------------------------------------------------------------ */
544
+ .cd-quote__text::after,
545
+ .cd-testimonial__quote > p:first-child::after {
546
+ content: close-quote;
547
+ }
648
548
 
649
- .cg-logos__items {
650
- display: grid;
651
- grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
652
- gap: var(--cg-gap);
653
- align-items: center;
549
+ .cd-testimonial__quote > p + p {
550
+ margin-block: var(--cd-s4) 0;
551
+ color: var(--cd-ink-soft);
654
552
  }
655
553
 
656
- .cg-logo {
554
+ .cd-person {
657
555
  display: flex;
658
556
  align-items: center;
659
- justify-content: center;
660
- padding: var(--cg-s3);
557
+ gap: var(--cd-s3);
558
+ padding-inline-start: calc(var(--cd-s6) + var(--cd-rule-strong));
661
559
  }
662
560
 
663
- .cg-logo__image {
664
- block-size: var(--cg-s8);
665
- inline-size: auto;
666
- max-inline-size: 100%;
667
- object-fit: contain;
668
- opacity: 0.75;
669
- transition: opacity var(--cg-duration) var(--cg-ease);
561
+ .cd-person__avatar {
562
+ inline-size: 2.5rem;
563
+ block-size: 2.5rem;
564
+ border-radius: 50%;
670
565
  }
671
566
 
672
- .cg-logo__link {
673
- display: inline-flex;
674
- align-items: center;
675
- justify-content: center;
676
- inline-size: 100%;
677
- border-radius: var(--cg-radius-md);
567
+ .cd-person__words {
568
+ display: grid;
569
+ line-height: var(--cd-leading-ui);
678
570
  }
679
571
 
680
- .cg-logo:hover .cg-logo__image,
681
- .cg-logo__link:focus-visible .cg-logo__image {
682
- opacity: 1;
572
+ .cd-person__name {
573
+ font-size: var(--cd-text-ui);
574
+ font-weight: var(--cd-weight-semibold);
683
575
  }
684
576
 
685
- /* --- collectionList ---------------------------------------------------------------
686
- Two shapes: `renderGuidesIndex` for `doc_page` (a compact, grouped index —
687
- no images, no excerpts, just a dense list of links) and the general row
688
- list for any other collection, which shows `entryImage` when the entry
689
- carries one (`theme@1.4`).
690
- ------------------------------------------------------------------------- */
691
-
692
- .cg-list__title-heading {
693
- margin: 0 0 var(--cg-s6);
577
+ .cd-person__role {
578
+ color: var(--cd-ink-muted);
579
+ font-size: var(--cd-text-label);
694
580
  }
695
581
 
696
- .cg-list__items {
697
- display: flex;
698
- flex-direction: column;
699
- gap: var(--cg-s5);
582
+ @media (min-width: 64rem) {
583
+ .cd-quote__inner > *,
584
+ .cd-testimonial__inner > * {
585
+ grid-column: 1 / span 9;
586
+ }
700
587
  }
701
588
 
702
- .cg-list[data-layout="grid"] .cg-list__items {
703
- display: grid;
704
- grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
705
- gap: var(--cg-gap);
706
- }
589
+ /* --------------------------------------------------------------------------
590
+ faq: answered in the open, two columns beside the title on a desk
591
+ -------------------------------------------------------------------------- */
707
592
 
708
- .cg-list[data-layout="carousel"] .cg-list__items {
593
+ .cd-faq__items {
709
594
  display: grid;
710
- grid-auto-flow: column;
711
- grid-auto-columns: minmax(16rem, 45%);
712
- gap: var(--cg-gap);
595
+ grid-template-columns: minmax(0, 1fr);
596
+ column-gap: var(--cd-col-gap);
713
597
  }
714
598
 
715
- .cg-list[data-layout="carousel"] .cg-list__row {
716
- scroll-snap-align: start;
599
+ .cd-faq__item {
600
+ padding-block: var(--cd-s5) var(--cd-s8);
601
+ border-block-start: var(--cd-rule) solid var(--cd-line);
717
602
  }
718
603
 
719
- .cg-list__row {
720
- display: flex;
721
- gap: var(--cg-s4);
722
- padding-block: var(--cg-s4);
723
- border-block-end: 1px solid var(--cg-line-soft);
604
+ .cd-faq__question {
605
+ margin-block-end: var(--cd-s2);
606
+ font-size: var(--cd-text-md);
607
+ font-weight: var(--cd-weight-semibold);
608
+ line-height: var(--cd-leading-heading);
724
609
  }
725
610
 
726
- .cg-list[data-layout="grid"] .cg-list__row,
727
- .cg-list[data-layout="carousel"] .cg-list__row {
728
- flex-direction: column;
729
- padding: var(--cg-s5);
730
- border: 1px solid var(--cg-line);
731
- border-radius: var(--cg-radius-md);
732
- box-shadow: var(--cg-ring);
611
+ .cd-faq__answer {
612
+ color: var(--cd-ink-soft);
613
+ font-size: var(--cd-text-ui);
614
+ line-height: var(--cd-leading-lead);
733
615
  }
734
616
 
735
- .cg-list__thumb {
736
- flex: none;
737
- inline-size: 6rem;
738
- aspect-ratio: 4 / 3;
739
- overflow: hidden;
740
- border-radius: var(--cg-radius-sm);
617
+ .cd-faq__answer > * + * {
618
+ margin-block-start: var(--cd-s3);
741
619
  }
742
620
 
743
- .cg-list[data-layout="grid"] .cg-list__thumb,
744
- .cg-list[data-layout="carousel"] .cg-list__thumb {
745
- inline-size: 100%;
621
+ @media (min-width: 48rem) {
622
+ .cd-faq__items {
623
+ grid-template-columns: repeat(2, minmax(0, 1fr));
624
+ }
746
625
  }
747
626
 
748
- .cg-list__thumb-image {
749
- inline-size: 100%;
750
- block-size: 100%;
751
- object-fit: cover;
752
- }
627
+ @media (min-width: 64rem) {
628
+ .cd-faq[data-titled="true"] .cd-head {
629
+ grid-column: 1 / span 4;
630
+ }
753
631
 
754
- .cg-list__body {
755
- display: flex;
756
- flex-direction: column;
757
- min-inline-size: 0;
632
+ .cd-faq[data-titled="true"] .cd-faq__items {
633
+ grid-column: 5 / -1;
634
+ }
758
635
  }
759
636
 
760
- .cg-list__title {
761
- margin: 0;
762
- font-size: var(--cg-text-md);
763
- font-weight: var(--cg-weight-semibold);
764
- line-height: var(--cg-leading-snug);
765
- }
637
+ /* --------------------------------------------------------------------------
638
+ accordion
639
+ -------------------------------------------------------------------------- */
766
640
 
767
- .cg-list__link {
768
- color: var(--cg-ink);
769
- text-decoration: none;
641
+ .cd-accordion__items {
642
+ border-block-start: var(--cd-rule) solid var(--cd-line);
770
643
  }
771
644
 
772
- .cg-list__link:hover {
773
- color: var(--cg-accent);
645
+ .cd-accordion__item {
646
+ border-block-end: var(--cd-rule) solid var(--cd-line);
774
647
  }
775
648
 
776
- .cg-list__date {
777
- margin-block-start: var(--cg-s1);
778
- color: var(--cg-ink-subtle);
779
- font-size: var(--cg-text-xs);
780
- font-weight: var(--cg-weight-semibold);
781
- letter-spacing: var(--cg-tracking-wide);
782
- text-transform: uppercase;
649
+ .cd-accordion__summary {
650
+ display: flex;
651
+ align-items: center;
652
+ justify-content: space-between;
653
+ gap: var(--cd-s4);
654
+ min-block-size: 3.25rem;
655
+ padding-block: var(--cd-s3);
656
+ font-weight: var(--cd-weight-medium);
657
+ line-height: var(--cd-leading-ui);
658
+ cursor: pointer;
659
+ list-style: none;
660
+ transition: color var(--cd-duration) var(--cd-ease);
783
661
  }
784
662
 
785
- .cg-list__excerpt {
786
- margin: var(--cg-s2) 0 0;
787
- color: var(--cg-ink-muted);
788
- font-size: var(--cg-text-sm);
789
- line-height: var(--cg-leading-normal);
663
+ .cd-accordion__summary::-webkit-details-marker {
664
+ display: none;
790
665
  }
791
666
 
792
- .cg-list__empty {
793
- padding: var(--cg-s6);
794
- background: var(--cg-surface-sunken);
795
- border-radius: var(--cg-radius-md);
796
- color: var(--cg-ink-subtle);
797
- text-align: center;
667
+ .cd-accordion__summary:hover {
668
+ color: var(--cd-link);
798
669
  }
799
670
 
800
- /* The "All guides" compact index — grouped by section, alphabetical, no
801
- images: a reference table of contents, not a card grid. */
802
- .cg-guides {
803
- display: grid;
804
- gap: var(--cg-gap);
805
- grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
671
+ .cd-accordion__sign {
672
+ position: relative;
673
+ flex: none;
674
+ inline-size: 0.75rem;
675
+ block-size: 0.75rem;
806
676
  }
807
677
 
808
- .cg-guides__section {
809
- min-inline-size: 0;
678
+ .cd-accordion__sign::before,
679
+ .cd-accordion__sign::after {
680
+ content: "";
681
+ position: absolute;
682
+ inset-inline: 0;
683
+ inset-block-start: calc(50% - var(--cd-rule));
684
+ block-size: var(--cd-rule-strong);
685
+ background: var(--cd-ink-muted);
810
686
  }
811
687
 
812
- .cg-guides__heading {
813
- margin: 0 0 var(--cg-s3);
814
- font-size: var(--cg-text-xs);
815
- font-weight: var(--cg-weight-bold);
816
- letter-spacing: var(--cg-tracking-wide);
817
- text-transform: uppercase;
818
- color: var(--cg-accent);
688
+ .cd-accordion__sign::after {
689
+ rotate: 90deg;
819
690
  }
820
691
 
821
- .cg-guides__items {
822
- margin: 0;
823
- padding: 0;
824
- list-style: none;
825
- display: flex;
826
- flex-direction: column;
827
- gap: var(--cg-s2);
692
+ .cd-accordion__item[open] .cd-accordion__sign::after {
693
+ display: none;
828
694
  }
829
695
 
830
- .cg-guides__link {
831
- color: var(--cg-ink-muted);
832
- font-size: var(--cg-text-sm);
833
- text-decoration: none;
696
+ .cd-accordion__answer {
697
+ padding-block-end: var(--cd-s5);
698
+ color: var(--cd-ink-soft);
834
699
  }
835
700
 
836
- .cg-guides__link:hover {
837
- color: var(--cg-accent);
701
+ @media (min-width: 64rem) {
702
+ .cd-accordion__inner > * {
703
+ grid-column: 1 / span 8;
704
+ }
838
705
  }
839
706
 
840
- /* --- embed --------------------------------------------------------------------------- */
707
+ /* --------------------------------------------------------------------------
708
+ stats and statCounter: a ruled row of figures
709
+ -------------------------------------------------------------------------- */
841
710
 
842
- .cg-embed {
843
- aspect-ratio: var(--cg-ratio, 16 / 9);
844
- max-inline-size: var(--cg-measure);
845
- margin-inline: auto;
846
- border: 1px solid var(--cg-line);
847
- border-radius: var(--cg-radius-md);
848
- overflow: hidden;
849
- }
850
-
851
- .cg-embed__frame {
852
- inline-size: 100%;
853
- block-size: 100%;
854
- border: 0;
711
+ .cd-figures__items {
712
+ display: grid;
713
+ grid-template-columns: repeat(2, minmax(0, 1fr));
714
+ gap: var(--cd-s8) var(--cd-col-gap);
715
+ margin: 0;
855
716
  }
856
717
 
857
- .cg-embed__placeholder {
718
+ .cd-figures__item {
858
719
  display: flex;
859
- flex-direction: column;
860
- align-items: center;
861
- justify-content: center;
862
- gap: var(--cg-s4);
863
- block-size: 100%;
864
- padding: var(--cg-s8);
865
- background: var(--cg-surface-sunken);
866
- color: var(--cg-ink-muted);
867
- text-align: center;
720
+ flex-direction: column-reverse;
721
+ justify-content: flex-end;
722
+ gap: var(--cd-s1);
723
+ padding-block-start: var(--cd-s4);
724
+ border-block-start: var(--cd-rule) solid var(--cd-line);
868
725
  }
869
726
 
870
- .cg-embed__provider {
871
- margin: 0;
872
- padding: var(--cg-s1) var(--cg-s3);
873
- border: 1px solid var(--cg-line-strong);
874
- border-radius: var(--cg-radius-pill);
875
- font-size: var(--cg-text-xs);
876
- font-weight: var(--cg-weight-semibold);
877
- letter-spacing: var(--cg-tracking-wide);
878
- text-transform: uppercase;
727
+ .cd-figures__label {
728
+ color: var(--cd-ink-muted);
729
+ font-size: var(--cd-text-ui);
730
+ line-height: var(--cd-leading-ui);
879
731
  }
880
732
 
881
- .cg-embed__notice {
733
+ .cd-figures__value {
882
734
  margin: 0;
883
- max-inline-size: var(--cg-measure-narrow);
884
- line-height: var(--cg-leading-relaxed);
885
- text-wrap: pretty;
886
- }
887
-
888
- .cg-embed__link {
889
- display: inline-flex;
890
- align-items: center;
891
- min-block-size: 44px;
892
- padding: var(--cg-s3) var(--cg-s6);
893
- background: var(--cg-surface-raised);
894
- color: var(--cg-accent);
895
- border: 1px solid var(--cg-line-strong);
896
- border-radius: var(--cg-radius-sm);
897
- font-size: var(--cg-text-sm);
898
- font-weight: var(--cg-weight-semibold);
899
- text-decoration: none;
900
- transition:
901
- background-color var(--cg-duration) var(--cg-ease),
902
- color var(--cg-duration) var(--cg-ease);
735
+ font-size: var(--cd-size-figure);
736
+ font-weight: var(--cd-weight-medium);
737
+ line-height: 1.1;
738
+ letter-spacing: var(--cd-tracking-display);
739
+ font-variant-numeric: tabular-nums;
903
740
  }
904
741
 
905
- .cg-embed__link:hover {
906
- background: var(--cg-accent);
907
- color: var(--cg-accent-fg);
908
- border-color: var(--cg-accent);
742
+ .cd-figures__unit {
743
+ margin-inline-start: 0.1em;
744
+ color: var(--cd-ink-muted);
745
+ font-size: 0.55em;
746
+ font-weight: var(--cd-weight-regular);
747
+ letter-spacing: 0;
909
748
  }
910
749
 
911
- /* --- testimonial --------------------------------------------------------------------- */
912
-
913
- .cg-testimonial {
914
- display: grid;
915
- gap: var(--cg-s5);
916
- max-inline-size: var(--cg-page-narrow);
917
- margin-inline: auto;
918
- padding: var(--cg-s8);
919
- border-inline-end: 3px solid var(--cg-accent);
920
- border-block: 1px solid var(--cg-line);
921
- border-inline-start: 1px solid var(--cg-line);
922
- border-radius: var(--cg-radius-md) 0 0 var(--cg-radius-md);
923
- background: var(--cg-surface-sunken);
924
- }
925
-
926
- @media (min-width: 56rem) {
927
- .cg-testimonial {
928
- grid-template-columns: 1fr auto;
929
- align-items: center;
930
- gap: var(--cg-s8);
750
+ @media (min-width: 64rem) {
751
+ .cd-figures[data-count="3"] .cd-figures__items {
752
+ grid-template-columns: repeat(3, minmax(0, 1fr));
931
753
  }
932
754
 
933
- .cg-testimonial__attribution {
934
- flex-direction: column;
935
- align-items: flex-start;
936
- min-inline-size: 13rem;
937
- padding-inline-start: var(--cg-s6);
938
- border-inline-start: 1px solid var(--cg-line-soft);
755
+ .cd-figures[data-count="4"] .cd-figures__items {
756
+ grid-template-columns: repeat(4, minmax(0, 1fr));
939
757
  }
940
758
  }
941
759
 
942
- .cg-testimonial__quote {
943
- margin: 0;
944
- font-size: var(--cg-text-xl);
945
- line-height: var(--cg-leading-snug);
946
- letter-spacing: var(--cg-tracking-snug);
947
- text-wrap: balance;
948
- }
949
-
950
- .cg-testimonial__quote p {
951
- margin: 0;
952
- }
760
+ /* --------------------------------------------------------------------------
761
+ logos and logoStrip: wordmarks in grey
762
+ -------------------------------------------------------------------------- */
953
763
 
954
- .cg-testimonial__quote p + p {
955
- margin-block-start: var(--cg-s4);
764
+ .cd-mark {
765
+ inline-size: auto;
766
+ max-inline-size: 9rem;
767
+ max-block-size: 2rem;
768
+ object-fit: contain;
769
+ filter: grayscale(1);
956
770
  }
957
771
 
958
- .cg-testimonial__attribution {
959
- display: flex;
960
- align-items: center;
961
- gap: var(--cg-s3);
962
- margin-block-start: var(--cg-s2);
772
+ @media (prefers-color-scheme: dark) {
773
+ :root:not([data-theme="light"]) .cd-mark {
774
+ filter: grayscale(1) invert(1);
775
+ }
963
776
  }
964
777
 
965
- .cg-testimonial__avatar {
966
- inline-size: var(--cg-s10);
967
- block-size: var(--cg-s10);
968
- border-radius: var(--cg-radius-pill);
969
- box-shadow: var(--cg-ring);
778
+ :root[data-theme="dark"] .cd-mark {
779
+ filter: grayscale(1) invert(1);
970
780
  }
971
781
 
972
- .cg-testimonial__who {
973
- display: flex;
974
- flex-direction: column;
975
- gap: var(--cg-s1);
976
- font-size: var(--cg-text-sm);
977
- color: var(--cg-ink-subtle);
782
+ .cd-logos__items {
783
+ display: grid;
784
+ grid-template-columns: repeat(2, minmax(0, 1fr));
785
+ gap: var(--cd-rule);
786
+ margin: 0;
787
+ padding: var(--cd-rule) 0;
788
+ list-style: none;
789
+ background: var(--cd-line);
978
790
  }
979
791
 
980
- .cg-testimonial__name {
981
- font-weight: var(--cg-weight-semibold);
982
- color: var(--cg-ink);
792
+ .cd-logos__item {
793
+ display: grid;
794
+ place-items: center;
795
+ min-block-size: 6rem;
796
+ padding: var(--cd-s5);
797
+ background: var(--cd-canvas);
983
798
  }
984
799
 
985
- /* --- pricingTable -------------------------------------------------------------------- */
986
-
987
- .cg-pricing__tiers {
800
+ .cd-logos__link {
988
801
  display: grid;
989
- gap: var(--cg-s6);
990
- margin: 0;
802
+ place-items: center;
991
803
  }
992
804
 
993
805
  @media (min-width: 48rem) {
994
- .cg-pricing__tiers {
995
- grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
996
- align-items: start;
806
+ .cd-logos__items {
807
+ grid-template-columns: repeat(3, minmax(0, 1fr));
997
808
  }
998
809
  }
999
810
 
1000
- .cg-pricing__tier {
1001
- display: flex;
1002
- flex-direction: column;
1003
- gap: var(--cg-s4);
1004
- padding: var(--cg-s6);
1005
- border: 1px solid var(--cg-line);
1006
- border-radius: var(--cg-radius-md);
1007
- background: var(--cg-surface);
1008
- box-shadow: var(--cg-elevation-1);
1009
- }
811
+ @media (min-width: 64rem) {
812
+ .cd-logos[data-count="4"] .cd-logos__items {
813
+ grid-template-columns: repeat(4, minmax(0, 1fr));
814
+ }
1010
815
 
1011
- .cg-pricing__tier[data-highlighted="true"] {
1012
- border-color: var(--cg-accent);
1013
- box-shadow: var(--cg-elevation-3);
816
+ .cd-logos[data-count="6"] .cd-logos__items {
817
+ grid-template-columns: repeat(6, minmax(0, 1fr));
818
+ }
1014
819
  }
1015
820
 
1016
- .cg-pricing__name {
1017
- margin: 0;
1018
- font-size: var(--cg-text-lg);
1019
- font-weight: var(--cg-weight-semibold);
1020
- letter-spacing: var(--cg-tracking-snug);
821
+ .cd-strip__inner {
822
+ row-gap: var(--cd-s5);
1021
823
  }
1022
824
 
1023
- .cg-pricing__price {
1024
- display: flex;
1025
- align-items: baseline;
1026
- gap: var(--cg-s1);
825
+ .cd-strip__caption {
1027
826
  margin: 0;
827
+ padding-block-start: var(--cd-s6);
828
+ border-block-start: var(--cd-rule) solid var(--cd-line);
829
+ color: var(--cd-ink-muted);
830
+ font-size: var(--cd-text-ui);
1028
831
  }
1029
832
 
1030
- .cg-pricing__amount {
1031
- font-size: var(--cg-text-3xl);
1032
- font-weight: var(--cg-weight-bold);
1033
- letter-spacing: var(--cg-tracking-tight);
1034
- color: var(--cg-accent);
1035
- font-variant-numeric: tabular-nums;
1036
- }
1037
-
1038
- .cg-pricing__interval {
1039
- color: var(--cg-ink-muted);
1040
- font-size: var(--cg-text-sm);
1041
- }
1042
-
1043
- .cg-pricing__features {
833
+ .cd-strip__items {
1044
834
  display: flex;
1045
- flex-direction: column;
1046
- gap: var(--cg-s2);
835
+ flex-wrap: wrap;
836
+ align-items: center;
837
+ gap: var(--cd-s6) var(--cd-s12);
1047
838
  margin: 0;
1048
- padding: var(--cg-s4) 0 0;
1049
- border-block-start: 1px solid var(--cg-line-soft);
1050
- color: var(--cg-ink-muted);
1051
- font-size: var(--cg-text-sm);
1052
- line-height: var(--cg-leading-normal);
1053
- }
1054
-
1055
- .cg-pricing__feature {
1056
- padding-inline-start: var(--cg-s5);
1057
- position: relative;
839
+ padding: 0;
840
+ list-style: none;
1058
841
  }
1059
842
 
1060
- .cg-pricing__feature::before {
1061
- content: "";
1062
- position: absolute;
1063
- inset-inline-start: 0;
1064
- inset-block-start: 0.5em;
1065
- inline-size: 0.55em;
1066
- block-size: 0.3em;
1067
- border-inline-start: 2px solid var(--cg-accent);
1068
- border-block-end: 2px solid var(--cg-accent);
1069
- transform: translateY(-60%) rotate(-45deg);
1070
- }
843
+ /* --------------------------------------------------------------------------
844
+ embed
845
+ -------------------------------------------------------------------------- */
1071
846
 
1072
- .cg-pricing__action {
1073
- margin-block-start: auto;
1074
- padding-block-start: var(--cg-s2);
847
+ .cd-embed__frame {
848
+ position: relative;
849
+ inline-size: 100%;
1075
850
  }
1076
851
 
1077
- .cg-pricing__action .cg-action {
852
+ .cd-embed__iframe {
1078
853
  inline-size: 100%;
1079
- justify-content: center;
854
+ block-size: 100%;
855
+ border: 0;
1080
856
  }
1081
857
 
1082
- /* --- accordion ------------------------------------------------------------------------ */
1083
-
1084
- .cg-panels {
1085
- max-inline-size: var(--cg-page-narrow);
1086
- margin-inline: auto;
858
+ .cd-embed__notice {
859
+ display: grid;
860
+ align-content: center;
861
+ justify-items: start;
862
+ gap: var(--cd-s3);
863
+ block-size: 100%;
864
+ max-inline-size: 40rem;
865
+ padding: var(--cd-s8);
1087
866
  }
1088
867
 
1089
- .cg-panels__items {
1090
- display: flex;
1091
- flex-direction: column;
1092
- gap: var(--cg-s3);
868
+ .cd-embed__reason {
1093
869
  margin: 0;
870
+ color: var(--cd-ink-soft);
1094
871
  }
1095
872
 
1096
- .cg-panels__item {
1097
- border: 1px solid var(--cg-line);
1098
- border-radius: var(--cg-radius-md);
1099
- background: var(--cg-surface);
1100
- transition: border-color var(--cg-duration) var(--cg-ease);
873
+ @media (min-width: 64rem) {
874
+ .cd-embed__inner > * {
875
+ grid-column: 1 / span 8;
876
+ }
1101
877
  }
1102
878
 
1103
- .cg-panels__item:has(.cg-panels__details[open]) {
1104
- border-color: var(--cg-line-strong);
1105
- }
879
+ /* --------------------------------------------------------------------------
880
+ pricingTable: plans side by side, never cards
881
+ -------------------------------------------------------------------------- */
1106
882
 
1107
- .cg-panels__question {
1108
- display: flex;
1109
- align-items: center;
1110
- gap: var(--cg-s4);
1111
- padding: var(--cg-s4) var(--cg-s5);
1112
- font-weight: var(--cg-weight-semibold);
1113
- cursor: pointer;
883
+ .cd-plans__items {
884
+ display: grid;
885
+ grid-template-columns: minmax(0, 1fr);
886
+ gap: var(--cd-s10) var(--cd-col-gap);
887
+ margin: 0;
888
+ padding: 0;
1114
889
  list-style: none;
1115
890
  }
1116
891
 
1117
- .cg-panels__question::-webkit-details-marker {
1118
- display: none;
1119
- }
1120
-
1121
- .cg-panels__question-text {
1122
- flex: 1;
1123
- }
1124
-
1125
- .cg-panels__details[open] .cg-panels__question {
1126
- color: var(--cg-accent);
1127
- }
1128
-
1129
- .cg-panels__chevron {
1130
- flex: none;
1131
- inline-size: 0.6em;
1132
- block-size: 0.6em;
1133
- border-inline-end: 2px solid currentColor;
1134
- border-block-end: 2px solid currentColor;
1135
- transform: rotate(45deg);
1136
- transition: transform var(--cg-duration) var(--cg-ease);
1137
- }
1138
-
1139
- .cg-panels__details[open] .cg-panels__chevron {
1140
- transform: rotate(-135deg);
1141
- }
1142
-
1143
- .cg-panels__answer {
1144
- padding: 0 var(--cg-s5) var(--cg-s5);
1145
- color: var(--cg-ink-muted);
1146
- line-height: var(--cg-leading-relaxed);
892
+ .cd-plans__item {
893
+ display: grid;
894
+ grid-template-rows: auto auto 1fr auto;
895
+ align-content: start;
896
+ gap: var(--cd-s4);
897
+ padding-block-start: var(--cd-s5);
898
+ border-block-start: var(--cd-rule) solid var(--cd-line);
1147
899
  }
1148
900
 
1149
- .cg-panels__answer > :first-child {
1150
- margin-block-start: 0;
901
+ .cd-plans__item[data-highlighted="true"] {
902
+ padding-block-start: calc(var(--cd-s5) - var(--cd-rule));
903
+ border-block-start: var(--cd-rule-strong) solid var(--cd-line-ink);
1151
904
  }
1152
905
 
1153
- .cg-panels__answer > :last-child {
1154
- margin-block-end: 0;
906
+ .cd-plans__head {
907
+ display: flex;
908
+ flex-wrap: wrap;
909
+ align-items: baseline;
910
+ justify-content: space-between;
911
+ gap: var(--cd-s1) var(--cd-s3);
1155
912
  }
1156
913
 
1157
- /* --- statCounter ---------------------------------------------------------------------- */
1158
-
1159
- .cg-kpis {
1160
- padding: var(--cg-s8) var(--cg-s6);
1161
- border-radius: var(--cg-radius-lg);
1162
- background: var(--cg-accent);
1163
- color: var(--cg-accent-fg);
914
+ .cd-plans__name {
915
+ font-size: var(--cd-text-lg);
916
+ font-weight: var(--cd-weight-semibold);
1164
917
  }
1165
918
 
1166
- .cg-kpis__items {
1167
- display: grid;
1168
- grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
1169
- gap: var(--cg-s6);
919
+ .cd-plans__flag {
1170
920
  margin: 0;
921
+ color: var(--cd-ink-muted);
922
+ font-size: var(--cd-text-label);
923
+ font-weight: var(--cd-weight-medium);
1171
924
  }
1172
925
 
1173
- .cg-kpi {
926
+ .cd-plans__price {
1174
927
  display: flex;
1175
- flex-direction: column;
1176
- gap: var(--cg-s1);
1177
- }
1178
-
1179
- .cg-kpi__label {
1180
- order: 2;
1181
- font-size: var(--cg-text-xs);
1182
- font-weight: var(--cg-weight-semibold);
1183
- letter-spacing: var(--cg-tracking-wide);
1184
- text-transform: uppercase;
1185
- opacity: 0.82;
928
+ flex-wrap: wrap;
929
+ align-items: baseline;
930
+ gap: var(--cd-s2);
931
+ margin: 0;
1186
932
  }
1187
933
 
1188
- .cg-kpi__value {
1189
- order: 1;
1190
- margin: 0;
1191
- font-size: var(--cg-text-3xl);
1192
- font-weight: var(--cg-weight-bold);
1193
- line-height: var(--cg-leading-tight);
1194
- letter-spacing: var(--cg-tracking-tight);
934
+ .cd-plans__amount {
935
+ font-size: var(--cd-size-figure);
936
+ font-weight: var(--cd-weight-medium);
937
+ line-height: 1.1;
938
+ letter-spacing: var(--cd-tracking-display);
1195
939
  font-variant-numeric: tabular-nums;
1196
940
  }
1197
941
 
1198
- /* --- logoStrip ------------------------------------------------------------------------ */
942
+ .cd-plans__interval {
943
+ color: var(--cd-ink-muted);
944
+ font-size: var(--cd-text-ui);
945
+ }
1199
946
 
1200
- .cg-logo-band__items {
1201
- display: flex;
1202
- flex-wrap: wrap;
1203
- align-items: center;
1204
- justify-content: center;
1205
- gap: 0;
947
+ .cd-plans__features {
1206
948
  margin: 0;
1207
949
  padding: 0;
1208
950
  list-style: none;
951
+ border-block-start: var(--cd-rule) solid var(--cd-line);
1209
952
  }
1210
953
 
1211
- .cg-logo-band__item {
1212
- display: flex;
1213
- align-items: center;
1214
- justify-content: center;
1215
- padding: var(--cg-s3) var(--cg-s5);
1216
- border-inline-start: 1px solid var(--cg-line-soft);
954
+ .cd-plans__feature {
955
+ padding-block: var(--cd-s2);
956
+ border-block-end: var(--cd-rule) solid var(--cd-line);
957
+ color: var(--cd-ink-soft);
958
+ font-size: var(--cd-text-ui);
959
+ line-height: var(--cd-leading-ui);
1217
960
  }
1218
961
 
1219
- .cg-logo-band__item:first-child {
1220
- border-inline-start: 0;
962
+ .cd-plans__action {
963
+ margin-block-start: var(--cd-s2);
1221
964
  }
1222
965
 
1223
- .cg-logo-band__image {
1224
- block-size: var(--cg-s6);
1225
- inline-size: auto;
1226
- max-inline-size: 100%;
1227
- object-fit: contain;
966
+ @media (min-width: 48rem) {
967
+ .cd-plans__items {
968
+ grid-template-columns: repeat(2, minmax(0, 1fr));
969
+ }
1228
970
  }
1229
971
 
1230
- .cg-logo-band__caption {
1231
- margin-block-start: var(--cg-s4);
1232
- color: var(--cg-ink-subtle);
1233
- font-size: var(--cg-text-xs);
1234
- font-weight: var(--cg-weight-semibold);
1235
- letter-spacing: var(--cg-tracking-wide);
1236
- text-transform: uppercase;
1237
- text-align: center;
972
+ @media (min-width: 64rem) {
973
+ .cd-plans[data-count="3"] .cd-plans__items {
974
+ grid-template-columns: repeat(3, minmax(0, 1fr));
975
+ }
976
+
977
+ .cd-plans[data-count="4"] .cd-plans__items {
978
+ grid-template-columns: repeat(4, minmax(0, 1fr));
979
+ }
1238
980
  }