@epicbagel/saas-kit 1.31.0 → 1.33.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 (219) hide show
  1. package/THIRD_PARTY_NOTICES.md +6 -5
  2. package/dist/chunk-2DCJ2SFU.js +20 -0
  3. package/dist/chunk-2FVFPGP5.js +489 -0
  4. package/dist/{chunk-HTPPNW74.js → chunk-AWCXVYPL.js} +1 -1
  5. package/dist/chunk-B54ZEKBG.cjs +63 -0
  6. package/dist/chunk-CXAFTEEP.cjs +20 -0
  7. package/dist/{chunk-MOJHETNO.cjs → chunk-F3D5HA2F.cjs} +10 -10
  8. package/dist/chunk-G3SF4RRA.cjs +489 -0
  9. package/dist/chunk-HTTRUJQU.cjs +60 -0
  10. package/dist/{chunk-JS6BLIWL.js → chunk-IZF4WCK6.js} +11 -11
  11. package/dist/{chunk-PH2TV7XI.cjs → chunk-KOR2QR7I.cjs} +5 -5
  12. package/dist/{chunk-BGCNGYPL.cjs → chunk-PTMZTP3V.cjs} +2 -2
  13. package/dist/{chunk-6O3DUMF7.js → chunk-REGA2L5S.js} +1 -1
  14. package/dist/{chunk-PNI354BY.cjs → chunk-SL6ECEN6.cjs} +2 -2
  15. package/dist/{chunk-ZGTPNSR7.js → chunk-TS4MC3B3.js} +4 -4
  16. package/dist/chunk-TUQVHPSI.js +60 -0
  17. package/dist/chunk-VWOWPNKT.js +73 -0
  18. package/dist/chunk-XH2I3YJ6.js +63 -0
  19. package/dist/chunk-Y6X6XDHE.cjs +73 -0
  20. package/dist/primitives/accent-theme.cjs +66 -0
  21. package/dist/primitives/accent-theme.d.cts +32 -0
  22. package/dist/primitives/accent-theme.d.ts +32 -0
  23. package/dist/primitives/accent-theme.js +66 -0
  24. package/dist/primitives/activity-feed.cjs +2 -2
  25. package/dist/primitives/activity-feed.js +2 -2
  26. package/dist/primitives/agent-audio-visualizer-bar.cjs +3 -3
  27. package/dist/primitives/agent-audio-visualizer-bar.js +2 -2
  28. package/dist/primitives/alert.d.cts +1 -1
  29. package/dist/primitives/alert.d.ts +1 -1
  30. package/dist/primitives/app-layout.cjs +114 -0
  31. package/dist/primitives/app-layout.d.cts +47 -0
  32. package/dist/primitives/app-layout.d.ts +47 -0
  33. package/dist/primitives/app-layout.js +114 -0
  34. package/dist/primitives/app-sidebar.cjs +52 -0
  35. package/dist/primitives/app-sidebar.d.cts +105 -0
  36. package/dist/primitives/app-sidebar.d.ts +105 -0
  37. package/dist/primitives/app-sidebar.js +52 -0
  38. package/dist/primitives/archive-confirmation-dialog.cjs +2 -2
  39. package/dist/primitives/archive-confirmation-dialog.js +3 -3
  40. package/dist/primitives/back-bar.cjs +37 -0
  41. package/dist/primitives/back-bar.d.cts +31 -0
  42. package/dist/primitives/back-bar.d.ts +31 -0
  43. package/dist/primitives/back-bar.js +37 -0
  44. package/dist/primitives/badge.d.cts +1 -1
  45. package/dist/primitives/badge.d.ts +1 -1
  46. package/dist/primitives/batch-action-bar.cjs +134 -0
  47. package/dist/primitives/batch-action-bar.d.cts +27 -0
  48. package/dist/primitives/batch-action-bar.d.ts +27 -0
  49. package/dist/primitives/batch-action-bar.js +134 -0
  50. package/dist/primitives/board-view-internals.cjs +3 -3
  51. package/dist/primitives/board-view-internals.js +2 -2
  52. package/dist/primitives/board-view.cjs +8 -8
  53. package/dist/primitives/board-view.js +7 -7
  54. package/dist/primitives/brand-mark.cjs +26 -0
  55. package/dist/primitives/brand-mark.d.cts +10 -0
  56. package/dist/primitives/brand-mark.d.ts +10 -0
  57. package/dist/primitives/brand-mark.js +26 -0
  58. package/dist/primitives/bubble.d.cts +1 -1
  59. package/dist/primitives/bubble.d.ts +1 -1
  60. package/dist/primitives/button.d.cts +2 -2
  61. package/dist/primitives/button.d.ts +2 -2
  62. package/dist/primitives/chat.cjs +27 -27
  63. package/dist/primitives/chat.js +21 -21
  64. package/dist/primitives/code-block.cjs +4 -4
  65. package/dist/primitives/code-block.js +3 -3
  66. package/dist/primitives/command.cjs +129 -0
  67. package/dist/primitives/command.d.cts +60 -0
  68. package/dist/primitives/command.d.ts +60 -0
  69. package/dist/primitives/command.js +129 -0
  70. package/dist/primitives/compact-list.cjs +24 -0
  71. package/dist/primitives/compact-list.d.cts +18 -0
  72. package/dist/primitives/compact-list.d.ts +18 -0
  73. package/dist/primitives/compact-list.js +24 -0
  74. package/dist/primitives/connection.cjs +6 -6
  75. package/dist/primitives/connection.js +8 -8
  76. package/dist/primitives/context-bar.cjs +57 -0
  77. package/dist/primitives/context-bar.d.cts +50 -0
  78. package/dist/primitives/context-bar.d.ts +50 -0
  79. package/dist/primitives/context-bar.js +57 -0
  80. package/dist/primitives/copy-button.cjs +3 -3
  81. package/dist/primitives/copy-button.js +2 -2
  82. package/dist/primitives/cycling-prompt.cjs +102 -0
  83. package/dist/primitives/cycling-prompt.d.cts +24 -0
  84. package/dist/primitives/cycling-prompt.d.ts +24 -0
  85. package/dist/primitives/cycling-prompt.js +102 -0
  86. package/dist/primitives/dialog.d.cts +9 -9
  87. package/dist/primitives/dialog.d.ts +9 -9
  88. package/dist/primitives/dotted-list.cjs +41 -0
  89. package/dist/primitives/dotted-list.d.cts +28 -0
  90. package/dist/primitives/dotted-list.d.ts +28 -0
  91. package/dist/primitives/dotted-list.js +41 -0
  92. package/dist/primitives/drawer.d.cts +6 -6
  93. package/dist/primitives/drawer.d.ts +6 -6
  94. package/dist/primitives/field.cjs +3 -3
  95. package/dist/primitives/field.js +2 -2
  96. package/dist/primitives/file-dropzone.cjs +3 -3
  97. package/dist/primitives/file-dropzone.js +2 -2
  98. package/dist/primitives/file-preview.cjs +4 -4
  99. package/dist/primitives/file-preview.js +3 -3
  100. package/dist/primitives/filter-bar.cjs +4 -4
  101. package/dist/primitives/filter-bar.js +3 -3
  102. package/dist/primitives/fixed-action-bar.cjs +46 -0
  103. package/dist/primitives/fixed-action-bar.d.cts +15 -0
  104. package/dist/primitives/fixed-action-bar.d.ts +15 -0
  105. package/dist/primitives/fixed-action-bar.js +46 -0
  106. package/dist/primitives/floating-action-button.cjs +65 -0
  107. package/dist/primitives/floating-action-button.d.cts +52 -0
  108. package/dist/primitives/floating-action-button.d.ts +52 -0
  109. package/dist/primitives/floating-action-button.js +65 -0
  110. package/dist/primitives/form-section.cjs +38 -0
  111. package/dist/primitives/form-section.d.cts +43 -0
  112. package/dist/primitives/form-section.d.ts +43 -0
  113. package/dist/primitives/form-section.js +38 -0
  114. package/dist/primitives/key-value-grid.cjs +52 -0
  115. package/dist/primitives/key-value-grid.d.cts +20 -0
  116. package/dist/primitives/key-value-grid.d.ts +20 -0
  117. package/dist/primitives/key-value-grid.js +52 -0
  118. package/dist/primitives/marketing-footer.cjs +34 -0
  119. package/dist/primitives/marketing-footer.d.cts +29 -0
  120. package/dist/primitives/marketing-footer.d.ts +29 -0
  121. package/dist/primitives/marketing-footer.js +34 -0
  122. package/dist/primitives/marketing-header.cjs +41 -0
  123. package/dist/primitives/marketing-header.d.cts +31 -0
  124. package/dist/primitives/marketing-header.d.ts +31 -0
  125. package/dist/primitives/marketing-header.js +41 -0
  126. package/dist/primitives/marketing-section.cjs +8 -0
  127. package/dist/primitives/marketing-section.d.cts +35 -0
  128. package/dist/primitives/marketing-section.d.ts +35 -0
  129. package/dist/primitives/marketing-section.js +8 -0
  130. package/dist/primitives/marketing-shell.cjs +28 -0
  131. package/dist/primitives/marketing-shell.d.cts +14 -0
  132. package/dist/primitives/marketing-shell.d.ts +14 -0
  133. package/dist/primitives/marketing-shell.js +28 -0
  134. package/dist/primitives/notes.cjs +4 -4
  135. package/dist/primitives/notes.js +4 -4
  136. package/dist/primitives/page-header.cjs +3 -67
  137. package/dist/primitives/page-header.js +3 -67
  138. package/dist/primitives/page-tabs.cjs +4 -57
  139. package/dist/primitives/page-tabs.js +4 -57
  140. package/dist/primitives/pager.cjs +85 -0
  141. package/dist/primitives/pager.d.cts +39 -0
  142. package/dist/primitives/pager.d.ts +39 -0
  143. package/dist/primitives/pager.js +85 -0
  144. package/dist/primitives/pagination.cjs +119 -0
  145. package/dist/primitives/pagination.d.cts +41 -0
  146. package/dist/primitives/pagination.d.ts +41 -0
  147. package/dist/primitives/pagination.js +119 -0
  148. package/dist/primitives/poster.cjs +406 -0
  149. package/dist/primitives/poster.d.cts +406 -0
  150. package/dist/primitives/poster.d.ts +406 -0
  151. package/dist/primitives/poster.js +406 -0
  152. package/dist/primitives/resource-list.cjs +8 -8
  153. package/dist/primitives/resource-list.js +7 -7
  154. package/dist/primitives/responsive-embed.cjs +29 -0
  155. package/dist/primitives/responsive-embed.d.cts +14 -0
  156. package/dist/primitives/responsive-embed.d.ts +14 -0
  157. package/dist/primitives/responsive-embed.js +29 -0
  158. package/dist/primitives/save-bar.cjs +91 -0
  159. package/dist/primitives/save-bar.d.cts +55 -0
  160. package/dist/primitives/save-bar.d.ts +55 -0
  161. package/dist/primitives/save-bar.js +91 -0
  162. package/dist/primitives/settings-list.cjs +10 -0
  163. package/dist/primitives/settings-list.d.cts +31 -0
  164. package/dist/primitives/settings-list.d.ts +31 -0
  165. package/dist/primitives/settings-list.js +10 -0
  166. package/dist/primitives/settings-section.cjs +34 -0
  167. package/dist/primitives/settings-section.d.cts +44 -0
  168. package/dist/primitives/settings-section.d.ts +44 -0
  169. package/dist/primitives/settings-section.js +34 -0
  170. package/dist/primitives/sheet.d.cts +9 -9
  171. package/dist/primitives/sheet.d.ts +9 -9
  172. package/dist/primitives/short-video.cjs +110 -0
  173. package/dist/primitives/short-video.d.cts +30 -0
  174. package/dist/primitives/short-video.d.ts +30 -0
  175. package/dist/primitives/short-video.js +110 -0
  176. package/dist/primitives/stats-card.cjs +46 -0
  177. package/dist/primitives/stats-card.d.cts +19 -0
  178. package/dist/primitives/stats-card.d.ts +19 -0
  179. package/dist/primitives/stats-card.js +46 -0
  180. package/dist/primitives/stats-strip.cjs +38 -0
  181. package/dist/primitives/stats-strip.d.cts +24 -0
  182. package/dist/primitives/stats-strip.d.ts +24 -0
  183. package/dist/primitives/stats-strip.js +38 -0
  184. package/dist/primitives/step-list.cjs +32 -0
  185. package/dist/primitives/step-list.d.cts +19 -0
  186. package/dist/primitives/step-list.d.ts +19 -0
  187. package/dist/primitives/step-list.js +32 -0
  188. package/dist/primitives/steps.cjs +77 -0
  189. package/dist/primitives/steps.d.cts +35 -0
  190. package/dist/primitives/steps.d.ts +35 -0
  191. package/dist/primitives/steps.js +77 -0
  192. package/dist/primitives/tabbed-page-header.cjs +53 -0
  193. package/dist/primitives/tabbed-page-header.d.cts +26 -0
  194. package/dist/primitives/tabbed-page-header.d.ts +26 -0
  195. package/dist/primitives/tabbed-page-header.js +53 -0
  196. package/dist/primitives/theme-selector.cjs +17 -17
  197. package/dist/primitives/theme-selector.js +5 -5
  198. package/dist/primitives/voice-dictation-button.cjs +5 -5
  199. package/dist/primitives/voice-dictation-button.js +4 -4
  200. package/dist/primitives/voice-session-controls.cjs +4 -4
  201. package/dist/primitives/voice-session-controls.js +3 -3
  202. package/dist/primitives/workflow-assistant.cjs +5 -5
  203. package/dist/primitives/workflow-assistant.js +3 -3
  204. package/package.json +322 -1
  205. package/src/styles/components/poster.css +1449 -0
  206. package/src/styles/components.css +1 -0
  207. package/src/styles/utilities.css +2 -2
  208. package/dist/{chunk-5OF6D3GH.js → chunk-4TJBXXUE.js} +3 -3
  209. package/dist/{chunk-DILYV4FI.js → chunk-7ZRFXJVN.js} +3 -3
  210. package/dist/{chunk-YYFVG5A6.cjs → chunk-D46FNEZ5.cjs} +2 -2
  211. package/dist/{chunk-NKWHDI4C.cjs → chunk-FB3VY2PL.cjs} +2 -2
  212. package/dist/{chunk-MW67PHAQ.cjs → chunk-GUVQAWUW.cjs} +9 -9
  213. package/dist/{chunk-WHDHUYS6.js → chunk-HBRVOGLA.js} +3 -3
  214. package/dist/{chunk-FARCLWLU.cjs → chunk-HHF5DEKM.cjs} +3 -3
  215. package/dist/{chunk-TWCJMFST.js → chunk-O42YC6ZQ.js} +3 -3
  216. package/dist/{chunk-ZJFYOXSM.cjs → chunk-SRVRNHCX.cjs} +2 -2
  217. package/dist/{chunk-UFFHGKI7.js → chunk-SW4T3O7M.js} +9 -9
  218. package/dist/{chunk-62UTAG2C.js → chunk-ULZB4A2I.js} +3 -3
  219. package/dist/{chunk-ZLEM2SAU.cjs → chunk-Z3JJSNR5.cjs} +2 -2
@@ -0,0 +1,1449 @@
1
+ /* Poster — the presentation of primitives/poster.tsx: a one-page marketing
2
+ * poster with oversized type, full-bleed bands in paper, ink or one primary
3
+ * colour, and thin rules. Every selector lands on a poster part's
4
+ * data-slot. The shell's colours and font come from PosterShell's props, as
5
+ * custom properties, else the palette's tokens. In the components layer, so a
6
+ * consumer's utility classes still win.
7
+ *
8
+ * The layout is a quiet editorial grid: wide outer margins, headlines at full
9
+ * size, the lines under them held to a reading measure, and a rhythm set by a
10
+ * few spacing steps that grow with the screen. Every block with columns shares
11
+ * one gap, so their edges line up down the page, and what names a thing (an
12
+ * eyebrow, a label, a byline) is set as a small capital label, so the type
13
+ * either speaks or labels. */
14
+ @layer components {
15
+ [data-slot="poster-shell"] {
16
+ --poster-paper: hsl(var(--background));
17
+ --poster-ink: hsl(var(--foreground));
18
+ --poster-primary: hsl(var(--primary));
19
+ --poster-on-primary: hsl(var(--primary-foreground));
20
+ --poster-mute: hsl(var(--muted-foreground));
21
+ --poster-wash: hsl(var(--muted));
22
+ --poster-font: var(--font-sans);
23
+ /* The grid: an outer margin that grows with the screen (24px on a phone,
24
+ * about 120px at 1440), the widest the content runs, and the one gap
25
+ * between columns. */
26
+ --poster-gutter: max(clamp(24px, calc(9vw - 12px), 152px), env(safe-area-inset-left, 0px));
27
+ --poster-gutter-end: max(clamp(24px, calc(9vw - 12px), 152px), env(safe-area-inset-right, 0px));
28
+ --poster-max: 1920px;
29
+ --poster-gap: clamp(20px, 3.4vw, 56px);
30
+ --poster-header: clamp(60px, 5vw, 76px);
31
+ /* Type: display sizes for titles, reading sizes for the lines under them. */
32
+ --poster-punch: clamp(52px, 10.4vw, 168px);
33
+ --poster-head: clamp(40px, 7.4vw, 120px);
34
+ --poster-large: clamp(26px, 3.6vw, 56px);
35
+ --poster-mid: clamp(21px, 2.6vw, 38px);
36
+ --poster-copy: clamp(19px, 2.05vw, 30px);
37
+ --poster-body: clamp(17px, 1.4vw, 20px);
38
+ /* Space, in steps: a label to what it labels, a title to its lines, text to
39
+ * a block, a block to a new part, and a band's own padding. */
40
+ --poster-space-s: clamp(14px, 1.6vw, 24px);
41
+ --poster-space-m: clamp(20px, 2.8vw, 44px);
42
+ --poster-space-l: clamp(28px, 4.4vw, 68px);
43
+ --poster-space-xl: clamp(48px, 7.8vw, 120px);
44
+ --poster-space-2xl: clamp(64px, 10.4vw, 160px);
45
+ --poster-space-band: clamp(80px, 13.6vw, 208px);
46
+ /* A secondary rule: the text's own colour, faint, so it works on any band. */
47
+ --poster-hairline: color-mix(in srgb, currentColor 24%, transparent);
48
+ min-height: 100vh;
49
+ background: var(--poster-paper);
50
+ color: var(--poster-ink);
51
+ font: 400 16px/1.45 var(--poster-font);
52
+ -webkit-font-smoothing: antialiased;
53
+ }
54
+
55
+ /* Under a notch, the page shows through nothing as it scrolls. */
56
+ [data-slot="poster-shell"]::before {
57
+ content: "";
58
+ position: fixed;
59
+ inset: 0 0 auto;
60
+ z-index: 10;
61
+ height: env(safe-area-inset-top, 0px);
62
+ background: var(--poster-paper);
63
+ }
64
+
65
+ [data-slot="poster-shell"] :focus-visible {
66
+ outline: 2px solid currentColor;
67
+ outline-offset: 3px;
68
+ }
69
+
70
+ [data-slot="poster-shell"] button {
71
+ font: inherit;
72
+ color: inherit;
73
+ cursor: pointer;
74
+ border: 0;
75
+ border-radius: 0;
76
+ background: none;
77
+ padding: 0;
78
+ text-align: left;
79
+ }
80
+
81
+ /* Full-bleed parts keep their content inside the margins, and inside the
82
+ * widest the content runs on a very wide screen. */
83
+ :is([data-slot="poster-banner"], [data-slot="poster-header"], [data-slot="poster-hero"], [data-slot="poster-band"]) {
84
+ padding-left: max(var(--poster-gutter), calc((100% - var(--poster-max)) / 2));
85
+ padding-right: max(var(--poster-gutter-end), calc((100% - var(--poster-max)) / 2));
86
+ }
87
+
88
+ /* What names a thing: a small capital label. */
89
+ :is(
90
+ [data-slot="poster-eyebrow"],
91
+ [data-slot="poster-range-label"],
92
+ [data-slot="poster-figure-label"],
93
+ [data-slot="poster-cost-label"],
94
+ [data-slot="poster-column-heading"]:not(h3),
95
+ [data-slot="poster-next-label"],
96
+ [data-slot="poster-person-name"],
97
+ [data-slot="poster-quote-by"],
98
+ [data-slot="poster-footnote"],
99
+ [data-slot="poster-fact-term"],
100
+ [data-slot="poster-more-link"],
101
+ [data-slot="poster-column-link"],
102
+ [data-slot="poster-disclosure-summary"]
103
+ ),
104
+ :is([data-slot="poster-step"], [data-slot="poster-flow-step"])::before {
105
+ font-size: 12px;
106
+ font-weight: 600;
107
+ line-height: 1.35;
108
+ letter-spacing: 0.1em;
109
+ text-transform: uppercase;
110
+ }
111
+
112
+ /* Solid buttons: a small capital label on ink. */
113
+ :is(
114
+ [data-slot="poster-header-action"],
115
+ [data-slot="poster-shell"] [data-slot="poster-copy-button"],
116
+ [data-slot="poster-call-action"]
117
+ ) {
118
+ font-size: 12px;
119
+ font-weight: 700;
120
+ line-height: 1.2;
121
+ letter-spacing: 0.08em;
122
+ text-transform: uppercase;
123
+ white-space: nowrap;
124
+ }
125
+
126
+ /* Banner: an announcement strip above the header, in the primary colour,
127
+ * the whole of it one link. It clears a notch itself, as the header below
128
+ * it does once it sticks. */
129
+ [data-slot="poster-banner"] {
130
+ display: flex;
131
+ flex-wrap: wrap;
132
+ align-items: center;
133
+ justify-content: center;
134
+ gap: 4px 16px;
135
+ min-height: 44px;
136
+ margin-top: env(safe-area-inset-top, 0px);
137
+ padding-block: 10px;
138
+ background: var(--poster-primary);
139
+ color: var(--poster-on-primary);
140
+ font-size: 15px;
141
+ line-height: 1.3;
142
+ text-align: center;
143
+ text-decoration: none;
144
+ }
145
+
146
+ /* Its action: a small capital label, underlined. */
147
+ [data-slot="poster-banner-action"] {
148
+ font-size: 12px;
149
+ font-weight: 700;
150
+ letter-spacing: 0.08em;
151
+ text-transform: uppercase;
152
+ white-space: nowrap;
153
+ text-decoration-line: underline;
154
+ text-decoration-thickness: 1px;
155
+ text-underline-offset: 5px;
156
+ }
157
+
158
+ [data-slot="poster-banner"]:hover [data-slot="poster-banner-action"] {
159
+ text-decoration-thickness: 2px;
160
+ }
161
+
162
+ [data-slot="poster-banner"]:focus-visible {
163
+ outline: 2px solid var(--poster-ink);
164
+ outline-offset: -4px;
165
+ }
166
+
167
+ /* Header */
168
+ [data-slot="poster-header"] {
169
+ position: sticky;
170
+ top: env(safe-area-inset-top, 0px);
171
+ z-index: 9;
172
+ display: flex;
173
+ height: var(--poster-header);
174
+ align-items: center;
175
+ justify-content: space-between;
176
+ border-bottom: 1px solid var(--poster-ink);
177
+ background: var(--poster-paper);
178
+ font-size: 14px;
179
+ }
180
+
181
+ [data-slot="poster-mark"] {
182
+ font-weight: 800;
183
+ font-size: 21px;
184
+ letter-spacing: 0.14em;
185
+ text-decoration: none;
186
+ }
187
+
188
+ [data-slot="poster-header-action"] {
189
+ padding: 12px 18px;
190
+ background: var(--poster-ink);
191
+ color: var(--poster-paper);
192
+ text-decoration: none;
193
+ transition: background-color 0.2s;
194
+ }
195
+
196
+ [data-slot="poster-header-action"]:hover {
197
+ background: var(--poster-primary);
198
+ color: var(--poster-on-primary);
199
+ }
200
+
201
+ /* The header's pages: a row before the action, or a Menu under 900px. */
202
+ [data-slot="poster-nav"] {
203
+ margin-left: auto;
204
+ margin-right: clamp(16px, 2.4vw, 36px);
205
+ }
206
+
207
+ :is([data-slot="poster-nav-list"], [data-slot="poster-nav-panel"]) {
208
+ margin: 0;
209
+ padding: 0;
210
+ list-style: none;
211
+ }
212
+
213
+ [data-slot="poster-nav-list"] {
214
+ display: flex;
215
+ align-items: center;
216
+ gap: clamp(20px, 2.4vw, 36px);
217
+ }
218
+
219
+ :is([data-slot="poster-nav-link"], [data-slot="poster-nav-toggle"]) {
220
+ font-size: 12px;
221
+ font-weight: 700;
222
+ line-height: 1.2;
223
+ letter-spacing: 0.08em;
224
+ text-transform: uppercase;
225
+ white-space: nowrap;
226
+ color: inherit;
227
+ text-decoration: none;
228
+ text-underline-offset: 6px;
229
+ text-decoration-thickness: 1px;
230
+ }
231
+
232
+ [data-slot="poster-nav-link"]:is(:hover, [aria-current="page"]) {
233
+ text-decoration-line: underline;
234
+ }
235
+
236
+ :is([data-slot="poster-nav-link"], [data-slot="poster-nav-toggle"]):focus-visible {
237
+ outline: 2px solid var(--poster-primary);
238
+ outline-offset: 4px;
239
+ }
240
+
241
+ [data-slot="poster-nav-menu"] {
242
+ display: none;
243
+ }
244
+
245
+ [data-slot="poster-nav-toggle"] {
246
+ display: flex;
247
+ min-height: 44px;
248
+ align-items: center;
249
+ cursor: pointer;
250
+ list-style: none;
251
+ }
252
+
253
+ [data-slot="poster-nav-toggle"]::-webkit-details-marker {
254
+ display: none;
255
+ }
256
+
257
+ [data-slot="poster-nav-menu"][open] [data-slot="poster-nav-toggle"] {
258
+ text-decoration-line: underline;
259
+ }
260
+
261
+ [data-slot="poster-nav-panel"] {
262
+ position: absolute;
263
+ top: 100%;
264
+ left: 0;
265
+ right: 0;
266
+ display: grid;
267
+ padding: 8px max(var(--poster-gutter-end), calc((100% - var(--poster-max)) / 2)) 24px max(var(--poster-gutter), calc((100% - var(--poster-max)) / 2));
268
+ border-bottom: 1px solid var(--poster-ink);
269
+ background: var(--poster-paper);
270
+ }
271
+
272
+ [data-slot="poster-nav-panel"] [data-slot="poster-nav-link"] {
273
+ display: flex;
274
+ min-height: 52px;
275
+ align-items: center;
276
+ border-bottom: 1px solid color-mix(in srgb, currentColor 18%, transparent);
277
+ font-size: 14px;
278
+ }
279
+
280
+ @media (max-width: 899.98px) {
281
+ [data-slot="poster-nav-list"] {
282
+ display: none;
283
+ }
284
+
285
+ [data-slot="poster-nav-menu"] {
286
+ display: block;
287
+ }
288
+ }
289
+
290
+ /* Hero */
291
+ [data-slot="poster-hero"] {
292
+ padding-block: clamp(48px, 7vw, 120px) clamp(48px, 6.2vw, 104px);
293
+ }
294
+
295
+ [data-slot="poster-hero-title"] {
296
+ font-weight: 400;
297
+ font-size: var(--poster-punch);
298
+ line-height: 0.96;
299
+ letter-spacing: -0.05em;
300
+ }
301
+
302
+ [data-slot="poster-hero"][data-variant="page"] [data-slot="poster-hero-title"] {
303
+ max-width: 12em;
304
+ font-size: clamp(44px, 10.4vw, 168px);
305
+ font-weight: 500;
306
+ letter-spacing: -0.045em;
307
+ text-wrap: balance;
308
+ }
309
+
310
+ [data-slot="poster-hero-description"] {
311
+ max-width: 18em;
312
+ margin-top: var(--poster-space-l);
313
+ font-size: var(--poster-mid);
314
+ line-height: 1.16;
315
+ letter-spacing: -0.02em;
316
+ text-wrap: balance;
317
+ }
318
+
319
+ [data-slot="poster-hero"] [data-slot="poster-eyebrow"] {
320
+ margin-bottom: var(--poster-space-l);
321
+ }
322
+
323
+ [data-slot="poster-hero-actions"] {
324
+ display: flex;
325
+ flex-wrap: wrap;
326
+ align-items: center;
327
+ gap: 16px 32px;
328
+ margin-top: var(--poster-space-l);
329
+ }
330
+
331
+ [data-slot="poster-action"] {
332
+ display: inline-flex;
333
+ min-height: 44px;
334
+ align-items: center;
335
+ font-size: 12px;
336
+ font-weight: 700;
337
+ line-height: 1.2;
338
+ letter-spacing: 0.08em;
339
+ text-transform: uppercase;
340
+ white-space: nowrap;
341
+ color: inherit;
342
+ text-decoration: none;
343
+ text-underline-offset: 6px;
344
+ text-decoration-thickness: 1px;
345
+ }
346
+
347
+ [data-slot="poster-action"][data-variant="solid"] {
348
+ padding: 16px 22px;
349
+ background: var(--poster-ink);
350
+ color: var(--poster-paper);
351
+ transition: background-color 0.2s;
352
+ }
353
+
354
+ [data-slot="poster-action"][data-variant="solid"]:hover {
355
+ background: var(--poster-primary);
356
+ color: var(--poster-on-primary);
357
+ }
358
+
359
+ [data-slot="poster-action"][data-variant="quiet"] {
360
+ text-decoration-line: underline;
361
+ }
362
+
363
+ [data-slot="poster-action"][data-variant="quiet"]:hover {
364
+ color: var(--poster-primary);
365
+ }
366
+
367
+ [data-slot="poster-action"]:focus-visible {
368
+ outline: 2px solid var(--poster-primary);
369
+ outline-offset: 4px;
370
+ }
371
+
372
+ /* Switch: two halves, each with the page's own margin on its outer side. */
373
+ [data-slot="poster-switch"] {
374
+ display: grid;
375
+ grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
376
+ border-block: 1px solid var(--poster-ink);
377
+ }
378
+
379
+ [data-slot="poster-shell"] [data-slot="poster-switch-option"] {
380
+ position: relative;
381
+ isolation: isolate;
382
+ display: block;
383
+ min-width: 0;
384
+ overflow: hidden;
385
+ padding-top: clamp(20px, 3.4vw, 52px);
386
+ padding-bottom: clamp(22px, 3.6vw, 56px);
387
+ padding-left: var(--poster-gutter);
388
+ padding-right: var(--poster-gutter-end);
389
+ transition: color 0.25s;
390
+ }
391
+
392
+ [data-slot="poster-shell"] [data-slot="poster-switch-option"]:first-child {
393
+ padding-left: max(var(--poster-gutter), calc(100% - var(--poster-max) / 2));
394
+ }
395
+
396
+ [data-slot="poster-shell"] [data-slot="poster-switch-option"]:last-child {
397
+ padding-right: max(var(--poster-gutter-end), calc(100% - var(--poster-max) / 2));
398
+ }
399
+
400
+ [data-slot="poster-switch-option"] + [data-slot="poster-switch-option"] {
401
+ border-left: 1px solid var(--poster-ink);
402
+ }
403
+
404
+ [data-slot="poster-switch-option"]::before {
405
+ content: "";
406
+ position: absolute;
407
+ inset: 0;
408
+ z-index: -1;
409
+ background: var(--poster-primary);
410
+ transform: scaleY(0);
411
+ transform-origin: bottom;
412
+ transition: transform 0.3s cubic-bezier(0.2, 0.7, 0.2, 1);
413
+ }
414
+
415
+ [data-slot="poster-switch-option"]:not([aria-pressed="true"]):hover::before {
416
+ transform: scaleY(0.06);
417
+ }
418
+
419
+ [data-slot="poster-switch-option"][aria-pressed="true"] {
420
+ color: var(--poster-on-primary);
421
+ }
422
+
423
+ [data-slot="poster-switch-option"][aria-pressed="true"]::before {
424
+ transform: none;
425
+ }
426
+
427
+ [data-slot="poster-switch-title"] {
428
+ display: block;
429
+ font-weight: 500;
430
+ font-size: clamp(30px, 4.3vw, 66px);
431
+ line-height: 1;
432
+ letter-spacing: -0.045em;
433
+ }
434
+
435
+ [data-slot="poster-switch-hint"] {
436
+ display: block;
437
+ margin-top: clamp(8px, 1vw, 14px);
438
+ font-size: clamp(14px, 1.4vw, 20px);
439
+ line-height: 1.3;
440
+ text-wrap: balance;
441
+ }
442
+
443
+ /* Bands */
444
+ [data-slot="poster-band"] {
445
+ padding-block: var(--poster-space-band);
446
+ scroll-margin-top: calc(var(--poster-header) + env(safe-area-inset-top, 0px));
447
+ }
448
+
449
+ [data-slot="poster-band"][data-padding="loose"] {
450
+ padding-block: clamp(96px, 15.3vw, 232px);
451
+ }
452
+
453
+ [data-slot="poster-band"][data-padding="top"] {
454
+ padding-block: var(--poster-space-band) 0;
455
+ }
456
+
457
+ [data-slot="poster-band"][data-padding="end"] {
458
+ padding-block: var(--poster-space-band) clamp(24px, 2.8vw, 40px);
459
+ }
460
+
461
+ [data-slot="poster-band"][data-tone="ink"] {
462
+ background: var(--poster-ink);
463
+ color: var(--poster-paper);
464
+ }
465
+
466
+ [data-slot="poster-band"][data-tone="primary"] {
467
+ background: var(--poster-primary);
468
+ color: var(--poster-on-primary);
469
+ }
470
+
471
+ [data-slot="poster-eyebrow"] {
472
+ display: block;
473
+ margin-bottom: var(--poster-space-m);
474
+ }
475
+
476
+ [data-slot="poster-title"] {
477
+ font-weight: 500;
478
+ font-size: var(--poster-head);
479
+ line-height: 1;
480
+ letter-spacing: -0.045em;
481
+ }
482
+
483
+ [data-slot="poster-title"][data-size="punch"] {
484
+ font-size: var(--poster-punch);
485
+ line-height: 0.96;
486
+ }
487
+
488
+ [data-slot="poster-title"][data-wrap="balance"] {
489
+ text-wrap: balance;
490
+ }
491
+
492
+ [data-slot="poster-title"][data-size="end"] {
493
+ font-size: clamp(34px, 6.2vw, 96px);
494
+ line-height: 1;
495
+ }
496
+
497
+ :is([data-slot="poster-kicker"], [data-slot="poster-lead"]) {
498
+ font-size: var(--poster-large);
499
+ line-height: 1.1;
500
+ letter-spacing: -0.03em;
501
+ text-wrap: balance;
502
+ }
503
+
504
+ [data-slot="poster-kicker"] {
505
+ max-width: 22em;
506
+ margin-bottom: var(--poster-space-m);
507
+ }
508
+
509
+ [data-slot="poster-lead"] {
510
+ max-width: 19em;
511
+ margin-top: var(--poster-space-l);
512
+ }
513
+
514
+ [data-slot="poster-lead"]:first-child {
515
+ margin-top: 0;
516
+ }
517
+
518
+ [data-slot="poster-description"] {
519
+ max-width: 17em;
520
+ margin-top: var(--poster-space-l);
521
+ font-size: var(--poster-mid);
522
+ line-height: 1.16;
523
+ letter-spacing: -0.02em;
524
+ text-wrap: balance;
525
+ }
526
+
527
+ [data-slot="poster-after"] {
528
+ max-width: 17em;
529
+ margin-top: var(--poster-space-m);
530
+ font-size: var(--poster-mid);
531
+ line-height: 1.16;
532
+ letter-spacing: -0.02em;
533
+ }
534
+
535
+ [data-slot="poster-subhead"] {
536
+ max-width: 18em;
537
+ margin-top: var(--poster-space-2xl);
538
+ font-weight: 500;
539
+ font-size: var(--poster-large);
540
+ line-height: 1.04;
541
+ letter-spacing: -0.03em;
542
+ text-wrap: balance;
543
+ }
544
+
545
+ [data-slot="poster-statement"] {
546
+ margin-top: var(--poster-space-xl);
547
+ font-size: var(--poster-mid);
548
+ line-height: 1.16;
549
+ letter-spacing: -0.02em;
550
+ }
551
+
552
+ /* Calculator */
553
+ [data-slot="poster-calculator"] {
554
+ margin-top: var(--poster-space-xl);
555
+ }
556
+
557
+ :is([data-slot="poster-ranges"], [data-slot="poster-figures"]) {
558
+ display: grid;
559
+ grid-template-columns: repeat(2, minmax(0, 1fr));
560
+ gap: var(--poster-space-l) var(--poster-gap);
561
+ }
562
+
563
+ :is([data-slot="poster-range-label"], [data-slot="poster-figure-label"]) {
564
+ display: block;
565
+ }
566
+
567
+ [data-slot="poster-range-value"] {
568
+ display: block;
569
+ margin-top: clamp(8px, 1vw, 14px);
570
+ font-size: var(--poster-mid);
571
+ line-height: 1.1;
572
+ letter-spacing: -0.02em;
573
+ }
574
+
575
+ [data-slot="poster-range-input"] {
576
+ -webkit-appearance: none;
577
+ appearance: none;
578
+ display: block;
579
+ width: 100%;
580
+ height: 32px;
581
+ margin: 10px 0 0;
582
+ background: transparent;
583
+ color: inherit;
584
+ cursor: pointer;
585
+ }
586
+
587
+ [data-slot="poster-range-input"]::-webkit-slider-runnable-track {
588
+ height: 1px;
589
+ background: currentColor;
590
+ }
591
+
592
+ [data-slot="poster-range-input"]::-moz-range-track {
593
+ height: 1px;
594
+ background: currentColor;
595
+ }
596
+
597
+ [data-slot="poster-range-input"]::-webkit-slider-thumb {
598
+ -webkit-appearance: none;
599
+ width: 18px;
600
+ height: 18px;
601
+ margin-top: -9px;
602
+ border: 0;
603
+ border-radius: 0;
604
+ background: currentColor;
605
+ }
606
+
607
+ [data-slot="poster-range-input"]::-moz-range-thumb {
608
+ width: 18px;
609
+ height: 18px;
610
+ border: 0;
611
+ border-radius: 0;
612
+ background: currentColor;
613
+ }
614
+
615
+ [data-slot="poster-figures"] {
616
+ margin-top: var(--poster-space-xl);
617
+ padding-top: var(--poster-space-s);
618
+ border-top: 1px solid currentColor;
619
+ }
620
+
621
+ [data-slot="poster-figures"][data-columns="1"] {
622
+ grid-template-columns: minmax(0, 1fr);
623
+ }
624
+
625
+ [data-slot="poster-figure-value"] {
626
+ display: block;
627
+ margin-top: var(--poster-space-m);
628
+ font-weight: 400;
629
+ font-size: clamp(46px, 8vw, 128px);
630
+ line-height: 1;
631
+ letter-spacing: -0.045em;
632
+ overflow-wrap: anywhere;
633
+ }
634
+
635
+ [data-slot="poster-small-print"] {
636
+ max-width: 40em;
637
+ margin-top: var(--poster-space-l);
638
+ color: color-mix(in srgb, currentColor 80%, transparent);
639
+ font-size: 15px;
640
+ line-height: 1.45;
641
+ text-wrap: pretty;
642
+ }
643
+
644
+ @media (max-width: 640px) {
645
+ :is([data-slot="poster-ranges"], [data-slot="poster-figures"]) {
646
+ grid-template-columns: minmax(0, 1fr);
647
+ }
648
+ }
649
+
650
+ /* Columns */
651
+ [data-slot="poster-columns"] {
652
+ display: grid;
653
+ grid-template-columns: repeat(3, minmax(0, 1fr));
654
+ gap: var(--poster-space-l) var(--poster-gap);
655
+ margin-top: var(--poster-space-l);
656
+ }
657
+
658
+ [data-slot="poster-columns"][data-variant="labelled"] [data-slot="poster-column-heading"] {
659
+ display: block;
660
+ margin-bottom: var(--poster-space-s);
661
+ }
662
+
663
+ [data-slot="poster-columns"][data-variant="labelled"] [data-slot="poster-column-text"] {
664
+ font-size: var(--poster-copy);
665
+ line-height: 1.2;
666
+ letter-spacing: -0.015em;
667
+ text-wrap: balance;
668
+ }
669
+
670
+ [data-slot="poster-columns"][data-variant="titled"] {
671
+ margin-top: 0;
672
+ }
673
+
674
+ [data-slot="poster-columns"][data-variant="titled"] [data-slot="poster-column-heading"] {
675
+ font-weight: 400;
676
+ font-size: var(--poster-mid);
677
+ line-height: 1.1;
678
+ letter-spacing: -0.02em;
679
+ }
680
+
681
+ [data-slot="poster-columns"][data-variant="titled"] [data-slot="poster-column-text"] {
682
+ margin-top: var(--poster-space-s);
683
+ font-size: var(--poster-body);
684
+ line-height: 1.4;
685
+ }
686
+
687
+ /* Ticks: a ruled grid on the columns' own gap. */
688
+ [data-slot="poster-ticks"] {
689
+ display: grid;
690
+ grid-template-columns: repeat(4, minmax(0, 1fr));
691
+ column-gap: var(--poster-gap);
692
+ margin-top: var(--poster-space-l);
693
+ border-top: 1px solid currentColor;
694
+ }
695
+
696
+ [data-slot="poster-ticks"][data-spacing="tight"] {
697
+ margin-top: var(--poster-space-m);
698
+ }
699
+
700
+ [data-slot="poster-tick"] {
701
+ display: flex;
702
+ min-width: 0;
703
+ align-items: center;
704
+ gap: 12px;
705
+ padding-block: clamp(14px, 1.4vw, 20px);
706
+ border-bottom: 1px solid var(--poster-hairline);
707
+ font-size: var(--poster-body);
708
+ line-height: 1.25;
709
+ }
710
+
711
+ [data-slot="poster-tick"]::before {
712
+ content: "";
713
+ flex: none;
714
+ width: 10px;
715
+ height: 10px;
716
+ background: var(--poster-primary);
717
+ }
718
+
719
+ @media (max-width: 900px) {
720
+ [data-slot="poster-ticks"] {
721
+ grid-template-columns: repeat(2, minmax(0, 1fr));
722
+ }
723
+ }
724
+
725
+ @media (max-width: 760px) {
726
+ [data-slot="poster-columns"] {
727
+ grid-template-columns: minmax(0, 1fr);
728
+ }
729
+ }
730
+
731
+ /* Disclosure */
732
+ [data-slot="poster-disclosure"] {
733
+ margin-top: var(--poster-space-l);
734
+ border-top: 1px solid currentColor;
735
+ }
736
+
737
+ [data-slot="poster-disclosure-summary"] {
738
+ display: flex;
739
+ cursor: pointer;
740
+ list-style: none;
741
+ align-items: center;
742
+ justify-content: space-between;
743
+ gap: 16px;
744
+ padding-block: clamp(14px, 1.5vw, 20px);
745
+ }
746
+
747
+ [data-slot="poster-disclosure-summary"]::-webkit-details-marker {
748
+ display: none;
749
+ }
750
+
751
+ [data-slot="poster-disclosure-summary"]::after {
752
+ content: "+";
753
+ font-weight: 400;
754
+ font-size: 24px;
755
+ line-height: 1;
756
+ letter-spacing: 0;
757
+ }
758
+
759
+ [data-slot="poster-disclosure"][open] > [data-slot="poster-disclosure-summary"]::after {
760
+ content: "\2212";
761
+ }
762
+
763
+ [data-slot="poster-disclosure-body"] {
764
+ padding-bottom: var(--poster-space-s);
765
+ }
766
+
767
+ /* Facts and people: a label beside a line, on the four-column grid. */
768
+ :is([data-slot="poster-fact"], [data-slot="poster-person"]) {
769
+ display: grid;
770
+ grid-template-columns: repeat(4, minmax(0, 1fr));
771
+ align-items: baseline;
772
+ gap: 8px var(--poster-gap);
773
+ padding-block: clamp(16px, 1.9vw, 28px);
774
+ border-top: 1px solid currentColor;
775
+ }
776
+
777
+ :is([data-slot="poster-fact-detail"], [data-slot="poster-person-bio"]) {
778
+ grid-column: 2 / -1;
779
+ }
780
+
781
+ [data-slot="poster-fact-detail"] {
782
+ max-width: 30em;
783
+ font-size: var(--poster-copy);
784
+ line-height: 1.2;
785
+ letter-spacing: -0.015em;
786
+ }
787
+
788
+ [data-slot="poster-note"] {
789
+ max-width: 34em;
790
+ margin-top: var(--poster-space-m);
791
+ font-size: var(--poster-body);
792
+ line-height: 1.4;
793
+ }
794
+
795
+ /* Numbered steps */
796
+ [data-slot="poster-flow"] {
797
+ display: grid;
798
+ grid-template-columns: repeat(4, minmax(0, 1fr));
799
+ gap: var(--poster-space-m) var(--poster-gap);
800
+ counter-reset: poster-step;
801
+ }
802
+
803
+ [data-slot="poster-flow-step"] {
804
+ counter-increment: poster-step;
805
+ font-size: var(--poster-body);
806
+ line-height: 1.3;
807
+ }
808
+
809
+ [data-slot="poster-flow-step"]::before {
810
+ content: counter(poster-step, decimal-leading-zero);
811
+ display: block;
812
+ margin-bottom: var(--poster-space-s);
813
+ }
814
+
815
+ [data-slot="poster-steps"] {
816
+ display: grid;
817
+ grid-template-columns: repeat(3, minmax(0, 1fr));
818
+ gap: var(--poster-space-l) var(--poster-gap);
819
+ margin-top: var(--poster-space-xl);
820
+ counter-reset: poster-step;
821
+ }
822
+
823
+ [data-slot="poster-step"] {
824
+ min-width: 0;
825
+ counter-increment: poster-step;
826
+ padding-top: var(--poster-space-s);
827
+ border-top: 1px solid currentColor;
828
+ font-size: var(--poster-copy);
829
+ line-height: 1.16;
830
+ letter-spacing: -0.015em;
831
+ text-wrap: balance;
832
+ }
833
+
834
+ [data-slot="poster-step"]::before {
835
+ content: counter(poster-step, decimal-leading-zero);
836
+ display: block;
837
+ margin-bottom: var(--poster-space-l);
838
+ }
839
+
840
+ [data-slot="poster-steps"][data-layout="four"] {
841
+ grid-template-columns: repeat(4, minmax(0, 1fr));
842
+ }
843
+
844
+ [data-slot="poster-steps"][data-layout="four"] [data-slot="poster-step"]::before {
845
+ margin-bottom: var(--poster-space-m);
846
+ }
847
+
848
+ /* Call list */
849
+ [data-slot="poster-calls"] {
850
+ max-width: calc(var(--poster-mid) * 17);
851
+ margin-top: var(--poster-space-l);
852
+ border-top: 1px solid currentColor;
853
+ }
854
+
855
+ [data-slot="poster-call"] {
856
+ display: flex;
857
+ align-items: center;
858
+ justify-content: space-between;
859
+ gap: 16px;
860
+ padding-block: 12px;
861
+ border-bottom: 1px solid var(--poster-hairline);
862
+ font-size: var(--poster-body);
863
+ }
864
+
865
+ [data-slot="poster-call-action"] {
866
+ padding: 9px 18px;
867
+ background: var(--poster-on-primary);
868
+ color: var(--poster-primary);
869
+ }
870
+
871
+ /* Cost and copy */
872
+ [data-slot="poster-cost"] {
873
+ display: grid;
874
+ grid-template-columns: minmax(0, 1fr) auto;
875
+ align-items: end;
876
+ gap: var(--poster-space-m) var(--poster-gap);
877
+ margin-top: var(--poster-space-xl);
878
+ padding-top: var(--poster-space-s);
879
+ border-top: 1px solid currentColor;
880
+ }
881
+
882
+ [data-slot="poster-cost-label"] {
883
+ display: block;
884
+ margin-bottom: var(--poster-space-m);
885
+ }
886
+
887
+ [data-slot="poster-cost-statement"] {
888
+ max-width: 17em;
889
+ font-size: var(--poster-large);
890
+ line-height: 1.06;
891
+ letter-spacing: -0.03em;
892
+ text-wrap: balance;
893
+ }
894
+
895
+ [data-slot="poster-copy"] {
896
+ display: flex;
897
+ min-width: 0;
898
+ flex-wrap: wrap;
899
+ align-items: center;
900
+ gap: 12px 24px;
901
+ }
902
+
903
+ [data-slot="poster-copy"][data-placement="block"] {
904
+ margin-top: var(--poster-space-l);
905
+ }
906
+
907
+ [data-slot="poster-copy-text"] {
908
+ min-width: 0;
909
+ font-size: var(--poster-body);
910
+ user-select: all;
911
+ overflow-wrap: anywhere;
912
+ }
913
+
914
+ [data-slot="poster-shell"] [data-slot="poster-copy-button"] {
915
+ padding: 15px 22px;
916
+ background: var(--poster-ink);
917
+ color: var(--poster-paper);
918
+ transition: background-color 0.2s;
919
+ }
920
+
921
+ [data-slot="poster-shell"] [data-slot="poster-copy-button"]:hover {
922
+ background: var(--poster-primary);
923
+ color: var(--poster-on-primary);
924
+ }
925
+
926
+ /* People and the foot */
927
+ [data-slot="poster-people"] {
928
+ margin-top: var(--poster-space-xl);
929
+ }
930
+
931
+ [data-slot="poster-person-bio"] {
932
+ max-width: 24em;
933
+ font-weight: 400;
934
+ font-size: var(--poster-mid);
935
+ line-height: 1.16;
936
+ letter-spacing: -0.02em;
937
+ text-wrap: balance;
938
+ }
939
+
940
+ [data-slot="poster-footnote"] {
941
+ display: flex;
942
+ flex-wrap: wrap;
943
+ justify-content: space-between;
944
+ gap: 8px 24px;
945
+ margin-top: var(--poster-space-2xl);
946
+ padding-top: var(--poster-space-s);
947
+ border-top: 1px solid var(--poster-hairline);
948
+ }
949
+
950
+ @media (max-width: 760px) {
951
+ :is([data-slot="poster-fact"], [data-slot="poster-person"]) {
952
+ grid-template-columns: minmax(0, 1fr);
953
+ }
954
+
955
+ :is([data-slot="poster-fact-detail"], [data-slot="poster-person-bio"]) {
956
+ grid-column: auto;
957
+ }
958
+
959
+ [data-slot="poster-flow"] {
960
+ grid-template-columns: repeat(2, minmax(0, 1fr));
961
+ }
962
+
963
+ :is([data-slot="poster-steps"], [data-slot="poster-cost"]) {
964
+ grid-template-columns: minmax(0, 1fr);
965
+ }
966
+
967
+ [data-slot="poster-step"]::before {
968
+ margin-bottom: var(--poster-space-s);
969
+ }
970
+ }
971
+
972
+ /* Column links and ruled columns */
973
+ [data-slot="poster-column-link"] {
974
+ display: inline-block;
975
+ margin-top: var(--poster-space-s);
976
+ padding-block: 4px;
977
+ text-decoration: underline;
978
+ text-decoration-thickness: 1px;
979
+ text-underline-offset: 5px;
980
+ }
981
+
982
+ [data-slot="poster-column-link"]:hover {
983
+ text-decoration-thickness: 2px;
984
+ }
985
+
986
+ [data-slot="poster-columns"][data-variant="ruled"] {
987
+ margin-top: var(--poster-space-xl);
988
+ }
989
+
990
+ [data-slot="poster-columns"][data-variant="ruled"] [data-slot="poster-column"] {
991
+ padding-top: var(--poster-space-s);
992
+ border-top: 1px solid currentColor;
993
+ }
994
+
995
+ [data-slot="poster-columns"][data-variant="ruled"] [data-slot="poster-column-text"] {
996
+ margin-top: var(--poster-space-l);
997
+ font-size: var(--poster-copy);
998
+ line-height: 1.2;
999
+ letter-spacing: -0.015em;
1000
+ text-wrap: balance;
1001
+ }
1002
+
1003
+ /* Links to other pages */
1004
+ [data-slot="poster-more-link"] {
1005
+ display: flex;
1006
+ max-width: calc(var(--poster-mid) * 17);
1007
+ align-items: center;
1008
+ justify-content: space-between;
1009
+ gap: 16px;
1010
+ margin-top: var(--poster-space-l);
1011
+ padding-block: clamp(14px, 1.5vw, 20px);
1012
+ border-top: 1px solid currentColor;
1013
+ border-bottom: 1px solid var(--poster-hairline);
1014
+ text-decoration: none;
1015
+ }
1016
+
1017
+ [data-slot="poster-more-link"]::after {
1018
+ content: "+";
1019
+ font-weight: 400;
1020
+ font-size: 24px;
1021
+ line-height: 1;
1022
+ letter-spacing: 0;
1023
+ transition: transform 0.25s;
1024
+ }
1025
+
1026
+ [data-slot="poster-more-link"]:hover::after {
1027
+ transform: rotate(90deg);
1028
+ }
1029
+
1030
+ [data-slot="poster-calls"] + [data-slot="poster-more-link"] {
1031
+ margin-top: var(--poster-space-m);
1032
+ }
1033
+
1034
+ [data-slot="poster-next-link"] {
1035
+ display: block;
1036
+ margin-top: var(--poster-space-2xl);
1037
+ padding-top: var(--poster-space-s);
1038
+ border-top: 1px solid currentColor;
1039
+ font-size: var(--poster-head);
1040
+ font-weight: 500;
1041
+ line-height: 1;
1042
+ letter-spacing: -0.045em;
1043
+ text-decoration: none;
1044
+ text-wrap: balance;
1045
+ }
1046
+
1047
+ [data-slot="poster-next-link"]:hover {
1048
+ text-decoration: underline;
1049
+ text-decoration-thickness: 0.04em;
1050
+ text-underline-offset: 0.1em;
1051
+ }
1052
+
1053
+ [data-slot="poster-next-label"] {
1054
+ display: block;
1055
+ margin-bottom: var(--poster-space-l);
1056
+ }
1057
+
1058
+ [data-slot="poster-text-link"] {
1059
+ text-decoration: underline;
1060
+ }
1061
+
1062
+ /* A break between sentences on a wider screen: an empty block, so each part
1063
+ * either side is a block of its own, balanced alone. */
1064
+ [data-slot="poster-break"] {
1065
+ display: none;
1066
+ }
1067
+
1068
+ @media (min-width: 760px) {
1069
+ [data-slot="poster-break"] {
1070
+ display: block;
1071
+ }
1072
+ }
1073
+
1074
+ /* Quotes, figures and claims */
1075
+ [data-slot="poster-quote"] {
1076
+ max-width: 15em;
1077
+ margin: 0;
1078
+ font-size: var(--poster-head);
1079
+ font-weight: 500;
1080
+ line-height: 1.02;
1081
+ letter-spacing: -0.04em;
1082
+ text-wrap: balance;
1083
+ }
1084
+
1085
+ [data-slot="poster-quote"][data-size="small"] {
1086
+ max-width: 18em;
1087
+ margin-top: var(--poster-space-xl);
1088
+ font-size: var(--poster-large);
1089
+ font-weight: 400;
1090
+ line-height: 1.12;
1091
+ letter-spacing: -0.03em;
1092
+ }
1093
+
1094
+ [data-slot="poster-quote-by"] {
1095
+ margin-top: var(--poster-space-m);
1096
+ }
1097
+
1098
+ [data-slot="poster-stats"] {
1099
+ display: grid;
1100
+ grid-template-columns: repeat(4, minmax(0, 1fr));
1101
+ gap: var(--poster-space-l) var(--poster-gap);
1102
+ }
1103
+
1104
+ [data-slot="poster-stats"][data-columns="2"] {
1105
+ grid-template-columns: repeat(2, minmax(0, 1fr));
1106
+ }
1107
+
1108
+ [data-slot="poster-stat"] {
1109
+ min-width: 0;
1110
+ padding-top: var(--poster-space-s);
1111
+ border-top: 1px solid currentColor;
1112
+ }
1113
+
1114
+ [data-slot="poster-stat-value"] {
1115
+ font-size: var(--poster-large);
1116
+ font-weight: 500;
1117
+ line-height: 1;
1118
+ letter-spacing: -0.04em;
1119
+ }
1120
+
1121
+ [data-slot="poster-stat-label"] {
1122
+ margin-top: var(--poster-space-s);
1123
+ font-size: var(--poster-body);
1124
+ line-height: 1.3;
1125
+ }
1126
+
1127
+ [data-slot="poster-claims"] {
1128
+ display: grid;
1129
+ gap: 0.3em;
1130
+ margin-top: var(--poster-space-xl);
1131
+ font-size: var(--poster-large);
1132
+ line-height: 1.1;
1133
+ letter-spacing: -0.03em;
1134
+ }
1135
+
1136
+ [data-slot="poster-claims"] [data-slot="poster-text-link"] {
1137
+ text-underline-offset: 0.12em;
1138
+ text-decoration-thickness: 1px;
1139
+ }
1140
+
1141
+ @media (max-width: 900px) {
1142
+ [data-slot="poster-steps"][data-layout="four"],
1143
+ [data-slot="poster-stats"] {
1144
+ grid-template-columns: repeat(2, minmax(0, 1fr));
1145
+ }
1146
+ }
1147
+
1148
+ /* A mock-up of a product's screen */
1149
+ [data-slot="poster-screen"] {
1150
+ margin-top: var(--poster-space-xl);
1151
+ border: 1px solid var(--poster-ink);
1152
+ background: var(--poster-paper);
1153
+ color: var(--poster-ink);
1154
+ font-size: 16px;
1155
+ line-height: 1.35;
1156
+ }
1157
+
1158
+ [data-slot="poster-screen-bar"] {
1159
+ display: flex;
1160
+ justify-content: space-between;
1161
+ gap: 16px;
1162
+ padding: 14px clamp(16px, 1.7vw, 24px);
1163
+ border-bottom: 1px solid var(--poster-ink);
1164
+ font-size: 14px;
1165
+ }
1166
+
1167
+ [data-slot="poster-screen-tabs"] {
1168
+ display: flex;
1169
+ flex-wrap: wrap;
1170
+ gap: 24px;
1171
+ padding: 12px clamp(16px, 1.7vw, 24px);
1172
+ border-bottom: 1px solid var(--poster-ink);
1173
+ font-size: 14px;
1174
+ }
1175
+
1176
+ [data-slot="poster-screen-tabs"] b {
1177
+ font-weight: 700;
1178
+ box-shadow: 0 13px 0 -11px var(--poster-ink);
1179
+ }
1180
+
1181
+ [data-slot="poster-screen-split"] {
1182
+ display: grid;
1183
+ grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
1184
+ }
1185
+
1186
+ [data-slot="poster-screen-split"][data-ratio="4:8"] {
1187
+ grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
1188
+ }
1189
+
1190
+ [data-slot="poster-screen-split"] > * {
1191
+ min-width: 0;
1192
+ padding: clamp(16px, 2.2vw, 32px);
1193
+ }
1194
+
1195
+ [data-slot="poster-screen-split"] > * + * {
1196
+ border-left: 1px solid var(--poster-ink);
1197
+ }
1198
+
1199
+ [data-slot="poster-screen-split"] > [data-slot="poster-screen-queue"] {
1200
+ padding: 0;
1201
+ }
1202
+
1203
+ [data-slot="poster-screen-message"] {
1204
+ padding: 12px 14px;
1205
+ background: var(--poster-wash);
1206
+ }
1207
+
1208
+ [data-slot="poster-screen-message"] small {
1209
+ display: block;
1210
+ margin-bottom: 4px;
1211
+ color: var(--poster-mute);
1212
+ font-size: 14px;
1213
+ }
1214
+
1215
+ [data-slot="poster-screen-message"][data-variant="asked"] {
1216
+ margin-top: 14px;
1217
+ border: 1px solid var(--poster-ink);
1218
+ background: none;
1219
+ }
1220
+
1221
+ :is([data-slot="poster-screen-trace"], [data-slot="poster-screen-evidence"]) {
1222
+ display: grid;
1223
+ gap: 6px;
1224
+ }
1225
+
1226
+ [data-slot="poster-screen-trace"] {
1227
+ margin-top: 14px;
1228
+ font-size: 14px;
1229
+ }
1230
+
1231
+ [data-slot="poster-screen-evidence"] {
1232
+ margin-top: 16px;
1233
+ }
1234
+
1235
+ :is([data-slot="poster-screen-trace"], [data-slot="poster-screen-evidence"]) li {
1236
+ display: flex;
1237
+ align-items: center;
1238
+ gap: 8px;
1239
+ }
1240
+
1241
+ :is([data-slot="poster-screen-trace"], [data-slot="poster-screen-evidence"]) li::before {
1242
+ content: "";
1243
+ flex: none;
1244
+ width: 9px;
1245
+ height: 9px;
1246
+ background: var(--poster-ink);
1247
+ }
1248
+
1249
+ [data-slot="poster-screen-evidence"] li::before {
1250
+ background: var(--poster-primary);
1251
+ }
1252
+
1253
+ [data-slot="poster-screen-lead"] {
1254
+ margin-bottom: 12px;
1255
+ font-size: 20px;
1256
+ }
1257
+
1258
+ [data-slot="poster-screen-person"] {
1259
+ display: grid;
1260
+ grid-template-columns: 36px minmax(0, 1fr) auto;
1261
+ gap: 12px;
1262
+ padding-block: 12px;
1263
+ border-top: 1px solid var(--poster-ink);
1264
+ }
1265
+
1266
+ [data-slot="poster-initials"] {
1267
+ display: grid;
1268
+ width: 36px;
1269
+ height: 36px;
1270
+ place-items: center;
1271
+ background: var(--poster-ink);
1272
+ color: var(--poster-paper);
1273
+ font-size: 14px;
1274
+ font-weight: 600;
1275
+ }
1276
+
1277
+ [data-slot="poster-screen-person"] b {
1278
+ display: block;
1279
+ font-weight: 600;
1280
+ }
1281
+
1282
+ [data-slot="poster-screen-person"] :is(span:not([data-slot]), em) {
1283
+ display: block;
1284
+ font-size: 14px;
1285
+ font-style: normal;
1286
+ }
1287
+
1288
+ [data-slot="poster-screen-person"] em {
1289
+ color: var(--poster-mute);
1290
+ }
1291
+
1292
+ [data-slot="poster-grade"] {
1293
+ display: inline-grid;
1294
+ flex: none;
1295
+ width: 26px;
1296
+ height: 26px;
1297
+ place-items: center;
1298
+ border: 1px solid var(--poster-ink);
1299
+ font-size: 14px;
1300
+ font-weight: 700;
1301
+ }
1302
+
1303
+ [data-slot="poster-grade"][data-top] {
1304
+ border-color: var(--poster-primary);
1305
+ background: var(--poster-primary);
1306
+ color: var(--poster-on-primary);
1307
+ }
1308
+
1309
+ [data-slot="poster-screen-queue-item"] {
1310
+ display: grid;
1311
+ grid-template-columns: minmax(0, 1fr) auto;
1312
+ align-items: center;
1313
+ gap: 0 12px;
1314
+ padding: 12px 16px;
1315
+ border-bottom: 1px solid var(--poster-ink);
1316
+ }
1317
+
1318
+ [data-slot="poster-screen-queue-item"][data-selected] {
1319
+ background: var(--poster-wash);
1320
+ }
1321
+
1322
+ [data-slot="poster-screen-queue-item"] b {
1323
+ font-weight: 600;
1324
+ }
1325
+
1326
+ [data-slot="poster-screen-queue-item"] span:not([data-slot]) {
1327
+ grid-column: 1;
1328
+ color: var(--poster-mute);
1329
+ font-size: 14px;
1330
+ }
1331
+
1332
+ [data-slot="poster-screen-queue-item"] [data-slot="poster-grade"] {
1333
+ grid-column: 2;
1334
+ grid-row: 1 / 3;
1335
+ }
1336
+
1337
+ [data-slot="poster-screen-detail"] h3 {
1338
+ margin: 0;
1339
+ font-weight: 500;
1340
+ font-size: var(--poster-mid);
1341
+ letter-spacing: -0.02em;
1342
+ }
1343
+
1344
+ [data-slot="poster-screen-detail-line"] {
1345
+ margin-top: 6px;
1346
+ color: var(--poster-mute);
1347
+ }
1348
+
1349
+ [data-slot="poster-screen-decide"] {
1350
+ display: flex;
1351
+ flex-wrap: wrap;
1352
+ gap: 8px;
1353
+ margin-top: 24px;
1354
+ font-size: 14px;
1355
+ font-weight: 700;
1356
+ }
1357
+
1358
+ [data-slot="poster-screen-decide"] b {
1359
+ padding: 11px 18px;
1360
+ background: var(--poster-primary);
1361
+ color: var(--poster-on-primary);
1362
+ font-weight: 700;
1363
+ }
1364
+
1365
+ [data-slot="poster-screen-decide"] span {
1366
+ padding: 10px 16px;
1367
+ border: 1px solid var(--poster-ink);
1368
+ }
1369
+
1370
+ [data-slot="poster-screen-row"] {
1371
+ display: grid;
1372
+ grid-template-columns: minmax(0, 3fr) minmax(0, 6fr) auto 96px;
1373
+ align-items: center;
1374
+ gap: 14px;
1375
+ padding: 14px clamp(16px, 1.7vw, 24px);
1376
+ border-bottom: 1px solid var(--poster-ink);
1377
+ }
1378
+
1379
+ [data-slot="poster-screen-row"]:last-child {
1380
+ border-bottom: 0;
1381
+ }
1382
+
1383
+ [data-slot="poster-screen-row"] b {
1384
+ font-weight: 600;
1385
+ }
1386
+
1387
+ [data-slot="poster-screen-row"] span:not([data-slot]) {
1388
+ font-size: 14px;
1389
+ }
1390
+
1391
+ [data-slot="poster-screen-row"] em {
1392
+ padding: 9px 8px;
1393
+ background: var(--poster-primary);
1394
+ color: var(--poster-on-primary);
1395
+ font-size: 14px;
1396
+ font-style: normal;
1397
+ font-weight: 700;
1398
+ text-align: center;
1399
+ }
1400
+
1401
+ [data-slot="poster-screen-row"] em[data-needs-you] {
1402
+ padding: 8px;
1403
+ border: 1px solid var(--poster-ink);
1404
+ background: none;
1405
+ color: var(--poster-ink);
1406
+ }
1407
+
1408
+ [data-slot="poster-mock-note"] {
1409
+ margin-top: 12px;
1410
+ color: color-mix(in srgb, currentColor 62%, transparent);
1411
+ font-size: 14px;
1412
+ }
1413
+
1414
+ @media (max-width: 760px) {
1415
+ [data-slot="poster-screen-split"],
1416
+ [data-slot="poster-screen-split"][data-ratio="4:8"] {
1417
+ grid-template-columns: minmax(0, 1fr);
1418
+ }
1419
+
1420
+ [data-slot="poster-screen-split"] > * + * {
1421
+ border-left: 0;
1422
+ border-top: 1px solid var(--poster-ink);
1423
+ }
1424
+ }
1425
+
1426
+ @media (max-width: 640px) {
1427
+ [data-slot="poster-screen-row"] {
1428
+ grid-template-columns: minmax(0, 1fr) auto;
1429
+ }
1430
+
1431
+ [data-slot="poster-screen-row"] span:not([data-slot]) {
1432
+ grid-column: 1 / -1;
1433
+ grid-row: 2;
1434
+ }
1435
+
1436
+ [data-slot="poster-screen-row"] em {
1437
+ grid-column: 1 / -1;
1438
+ grid-row: 3;
1439
+ }
1440
+ }
1441
+
1442
+ @media (prefers-reduced-motion: reduce) {
1443
+ [data-slot="poster-shell"] *,
1444
+ [data-slot="poster-shell"] *::before,
1445
+ [data-slot="poster-shell"] *::after {
1446
+ transition: none !important;
1447
+ }
1448
+ }
1449
+ }