Changes for page Public Web Site

Last modified by Agnease on 2026/07/03 16:14

From version 28.28
edited by Agnease
on 2026/07/03 13:25
Change comment: There is no comment for this version
To version 26.2
edited by Agnease
on 2026/07/01 17:06
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -2,44 +2,44 @@
2 2  #macro (displayPublicContent)
3 3   #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome'))
4 4   {{html clean="false"}}
5 - <section class="hero hero-saas" id="top">
6 - <div class="container">
7 - <div class="hero-layout">
8 - <div class="hero-copy">
9 - <h1>Professional XWiki consulting <span>and engineering</span></h1>
5 + <section class="hero hero-saas" id="top">
6 + <div class="container">
7 + <div class="hero-layout">
8 + <div class="hero-copy">
9 + <h1>Professional XWiki consulting <span>and engineering</span></h1>
10 10  
11 - <p class="lead">
12 - Agnease helps organizations upgrade, maintain, secure and extend production XWiki platforms with practical engineering support, custom development, integrations and long-term care.
13 - </p>
11 + <p class="lead">
12 + Agnease helps organizations upgrade, maintain, secure and extend production XWiki platforms with practical engineering support, custom development, integrations and long-term care.
13 + </p>
14 14  
15 - <ul class="benefits">
16 - <li>XWiki LTS upgrades</li>
17 - <li>Maintenance and support</li>
18 - <li>Custom XWiki development</li>
19 - <li>Migrations and integrations</li>
20 - </ul>
15 + <ul class="benefits">
16 + <li>XWiki LTS upgrades</li>
17 + <li>Maintenance and support</li>
18 + <li>Custom XWiki development</li>
19 + <li>Migrations and integrations</li>
20 + </ul>
21 21  
22 - <div class="hero-actions" id="hero-cta">
23 - <a class="btn btn-primary" href="https://calendly.com/alex-agnease/30min?back=1&month=2026-06">
24 - Book a free discussion
25 - </a>
26 - <a class="btn btn-secondary" href="$xwiki.getURL('services.WebHome')">View XWiki services</a>
27 - </div>
22 + <div class="hero-actions" id="hero-cta">
23 + <a class="btn btn-primary" href="https://calendly.com/alex-agnease/30min?back=1&month=2026-06">
24 + Book a free discussion
25 + </a>
26 + <a class="btn btn-secondary" href="$xwiki.getURL('services.WebHome')">View XWiki services</a>
28 28   </div>
28 + </div>
29 29  
30 - <div class="hero-image-wrapper">
31 - <img
32 - class="hero-image"
33 - src="$xwiki.getDocument('PublicWebSite.WebHome').getAttachmentURL('agnease-xwiki-hero.png')"
34 - alt="Illustration of a professional XWiki platform dashboard with upgrade, security and maintenance elements"
35 - width="1200"
36 - height="900"
37 - loading="eager"
38 - />
39 - </div>
30 + <div class="hero-image-wrapper">
31 + <img
32 + class="hero-image"
33 + src="$doc.getAttachmentURL('agnease-xwiki-hero.png')"
34 + alt="Illustration of a professional XWiki platform dashboard with upgrade, security and maintenance elements"
35 + width="1200"
36 + height="900"
37 + loading="eager"
38 + />
40 40   </div>
41 41   </div>
42 - </section>
41 + </div>
42 + </section>
43 43  #*
44 44   <section class="hero hero-centered" aria-labelledby="hero-title">
45 45   <div class="container hero-inner">
... ... @@ -149,9 +149,9 @@
149 149   </div>
150 150   </section>
151 151  
152 - <section class="contrast-band" aria-labelledby="industry-trust-title">
152 + <section class="industry-trust-section" aria-labelledby="industry-trust-title">
153 153   <div class="container">
154 - <div class="contrast-panel">
154 + <div class="industry-trust-panel">
155 155   <h2 id="industry-trust-title">Trusted XWiki expertise for business-critical platforms</h2>
156 156  
157 157   <p class="section-intro">
... ... @@ -159,7 +159,7 @@
159 159   government institutions, transportation, software development, compliance programs and regulated environments.
160 160   </p>
161 161  
162 - <div class="contrast-tags" aria-label="Industries and environments supported">
162 + <div class="industry-tags" aria-label="Industries and environments supported">
163 163   <span>Healthcare</span>
164 164   <span>Financial services</span>
165 165   <span>Scientific research</span>
... ... @@ -170,7 +170,7 @@
170 170   <span>Regulated environments</span>
171 171   </div>
172 172  
173 - <p class="contrast-support">
173 + <p class="industry-support">
174 174   Organizations rely on these platforms to manage documentation, workflows, compliance processes,
175 175   research knowledge and critical business information. From upgrades and authentication integrations
176 176   to workflow systems and long-term maintenance, Agnease helps keep XWiki secure, stable and ready for the future.
XWiki.StyleSheetExtension[0]
code
... ... @@ -1,20 +1,8 @@
1 1  /* ========== Agnease Public Website ========== */
2 -/*
2 +
3 3  @brand: #00937D;
4 4  @brand-strong: #007B6A;
5 5  @brand-soft: #E7FFF8;
6 -@brand-bg: #F4FCFA;
7 -@text: #2D3A34;
8 -@muted: #5B6B64;
9 -@line: #E4ECE9;
10 -@radius: 16px;
11 -@shadow-sm: 0 6px 20px rgba(0, 0, 0, .06);
12 -@shadow: 0 12px 36px rgba(0, 0, 0, .08);
13 -@maxw: 1140px;
14 -*/
15 -@brand: #00937D;
16 -@brand-strong: #007B6A;
17 -@brand-soft: #E7FFF8;
18 18  @brand-bg: #F7F9FC;
19 19  @text: #07182D;
20 20  @text-soft: #10243D;
... ... @@ -23,32 +23,50 @@
23 23  @radius: 18px;
24 24  @shadow-sm: 0 18px 45px rgba(15, 23, 42, .06);
25 25  @shadow: 0 30px 80px rgba(15, 23, 42, .12);
26 -@maxw: 1140px;
14 +@maxw: 1240px;
27 27  
28 -@section-padding: 30px 0;
29 -@section-padding-mobile: 28px 0;
16 +@section-padding: 42px 0;
17 +@section-padding-mobile: 34px 0;
30 30  
31 31  /* ========== Base ========== */
32 32  
21 +html {
22 + min-height: 100%;
23 + scroll-behavior: smooth;
24 +}
25 +
26 +body {
27 + min-height: 100%;
28 + color: @text;
29 + overflow-x: hidden;
30 + background:
31 + radial-gradient(circle at 12% 8%, rgba(0, 147, 125, 0.08) 0, transparent 26%),
32 + radial-gradient(circle at 90% 28%, rgba(7, 24, 45, 0.05) 0, transparent 30%),
33 + linear-gradient(180deg, #fff 0, @brand-bg 42%, #fff 100%) !important;
34 + background-attachment: fixed;
35 +}
36 +
33 33  #mainContentArea {
34 - padding: 0;
38 + padding: 0 !important;
39 + overflow-x: hidden;
40 + background: transparent !important;
41 + background-image: none !important;
35 35  }
36 36  
37 37  .container {
45 + width: 100%;
38 38   max-width: @maxw;
39 39   margin-left: auto;
40 40   margin-right: auto;
41 - padding-left: 18px;
42 - padding-right: 18px;
49 + padding-left: 24px;
50 + padding-right: 24px;
51 + box-sizing: border-box;
43 43  }
44 44  
45 -html {
46 - scroll-behavior: smooth;
47 -}
48 -
49 49  section {
50 50   padding: @section-padding;
51 - border-top: 1px solid @line;
56 + border-top: 1px solid fade(@line, 65%);
57 + background: transparent;
52 52  
53 53   &:first-of-type {
54 54   border-top: none;
... ... @@ -67,8 +67,10 @@
67 67  }
68 68  
69 69  h2 {
76 + max-width: 820px;
77 + margin: 0 auto 12px;
70 70   text-align: center;
71 - margin-top: 0;
79 + line-height: 1.24;
72 72  }
73 73  
74 74  .lead {
... ... @@ -79,11 +79,11 @@
79 79  
80 80  .section-intro {
81 81   max-width: 760px;
82 - margin: 0 auto 22px;
83 - text-align: center;
90 + margin: 0 auto 24px;
84 84   color: @muted;
92 + text-align: center;
85 85   font-size: 16px;
86 - line-height: 1.55;
94 + line-height: 1.6;
87 87  }
88 88  
89 89  a {
... ... @@ -95,15 +95,42 @@
95 95   }
96 96  }
97 97  
98 -/* ========== Header / Navigation ========== */
106 +/* ========== XWiki / Bootstrap Header Override ========== */
99 99  
108 +.navbar-default {
109 + background: fade(#fff, 72%) !important;
110 + background-image: none !important;
111 + border-color: fade(@line, 70%) !important;
112 + box-shadow: none !important;
113 + backdrop-filter: blur(14px);
114 +}
115 +
116 +.navbar-default .navbar-collapse,
117 +.navbar-default .navbar-form {
118 + border-color: fade(@line, 70%) !important;
119 +}
120 +
121 +.navbar-default .navbar-nav > li > a,
122 +.navbar-default .navbar-brand {
123 + color: @text !important;
124 +}
125 +
126 +.navbar-default .navbar-nav > li > a:hover,
127 +.navbar-default .navbar-nav > li > a:focus,
128 +.navbar-default .navbar-brand:hover,
129 +.navbar-default .navbar-brand:focus {
130 + color: @brand !important;
131 +}
132 +
133 +/* ========== Optional Custom Header / Navigation ========== */
134 +
100 100  .site-header {
101 101   position: sticky;
102 102   top: 0;
103 103   z-index: 1000;
104 - background: fade(#fff, 96%);
105 - border-bottom: 1px solid fade(@line, 85%);
106 - backdrop-filter: blur(8px);
139 + background: fade(#fff, 72%);
140 + border-bottom: 1px solid fade(@line, 70%);
141 + backdrop-filter: blur(14px);
107 107  }
108 108  
109 109  .header-inner {
... ... @@ -123,7 +123,7 @@
123 123   a {
124 124   color: @text;
125 125   text-decoration: none;
126 - font-weight: 600;
161 + font-weight: 700;
127 127  
128 128   &:hover,
129 129   &:focus {
... ... @@ -134,16 +134,16 @@
134 134  
135 135   .nav-cta {
136 136   color: #fff;
137 - background: @brand;
138 - border: 1px solid @brand;
139 - border-radius: 6px;
172 + background: @text;
173 + border: 1px solid @text;
174 + border-radius: 10px;
140 140   padding: 8px 14px;
141 141  
142 142   &:hover,
143 143   &:focus {
144 144   color: #fff;
145 - background: @brand-strong;
146 - border-color: @brand-strong;
180 + background: @text-soft;
181 + border-color: @text-soft;
147 147   }
148 148   }
149 149  }
... ... @@ -150,24 +150,44 @@
150 150  
151 151  /* ========== Buttons ========== */
152 152  
153 -/*.btn-primary {
154 - background: @brand;
155 - border-color: @brand;
188 +.btn-primary,
189 +.btn-secondary {
190 + display: inline-flex;
191 + align-items: center;
192 + justify-content: center;
193 + min-height: 40px;
194 + padding: 9px 16px;
195 + border-radius: 10px;
196 + font-weight: 800;
197 + text-decoration: none;
198 +}
199 +
200 +.btn-primary {
201 + background: @text;
202 + border-color: @text;
156 156   color: #fff;
157 157  
158 158   &:hover,
159 159   &:focus {
160 - background: @brand-strong;
161 - border-color: @brand-strong;
207 + background: @text-soft;
208 + border-color: @text-soft;
162 162   color: #fff;
210 + text-decoration: none;
163 163   }
164 164  }
165 -*/
213 +
166 166  .btn-secondary {
167 167   color: @text;
168 168   background: #fff;
169 - border: 1px solid fade(@text, 35%);
217 + border: 1px solid fade(@text, 24%);
170 170  
219 + &:hover,
220 + &:focus {
221 + color: @text;
222 + background: #F8FAFC;
223 + border-color: fade(@text, 42%);
224 + text-decoration: none;
225 + }
171 171  }
172 172  
173 173  /* ========== Hero ========== */
... ... @@ -174,15 +174,14 @@
174 174  
175 175  .hero {
176 176   overflow: hidden;
177 - background-repeat: no-repeat;
178 - background-attachment: scroll;
232 + background: transparent;
179 179  
180 180   &.hero-centered {
181 - text-align: center;
235 + min-height: 330px;
182 182   display: flex;
183 183   align-items: center;
184 184   justify-content: center;
185 - min-height: 330px;
239 + text-align: center;
186 186   }
187 187  
188 188   .hero-inner {
... ... @@ -202,9 +202,9 @@
202 202  
203 203   .lead {
204 204   max-width: 820px;
259 + margin-top: 12px;
205 205   font-size: 19px;
206 206   line-height: 1.55;
207 - margin-top: 12px;
208 208   }
209 209  
210 210   .benefits {
... ... @@ -228,14 +228,15 @@
228 228   display: inline-flex;
229 229   align-items: center;
230 230   gap: 8px;
231 - color: @brand;
285 + width: fit-content;
286 + color: @brand-strong;
232 232   background: fade(@brand, 8%);
233 - border: 1px solid fade(@brand, 18%);
288 + border: 1px solid fade(@brand, 22%);
234 234   border-radius: 999px;
235 235   padding: 6px 12px;
236 236   margin-bottom: 14px;
237 237   font-size: 13px;
238 - font-weight: 700;
293 + font-weight: 800;
239 239  }
240 240  
241 241  .hero-actions,
... ... @@ -247,113 +247,136 @@
247 247   margin-top: 22px;
248 248  }
249 249  
250 -/* ========== Contrast Band ========== */
305 +/* ========== SaaS Hero With Attached Image ========== */
251 251  
252 -.contrast-band {
253 - position: relative;
254 - overflow: hidden;
255 - padding: 54px 0;
256 - border-top: 0;
257 - background:
258 - radial-gradient(circle at 18% 18%, fade(@brand, 22%) 0%, transparent 28%),
259 - radial-gradient(circle at 86% 12%, fade(@brand, 16%) 0%, transparent 30%),
260 - linear-gradient(135deg, @text 0%, @text-soft 100%);
261 - color: #fff;
307 +.hero.hero-saas {
308 + min-height: auto;
309 + padding: 60px 0 34px;
310 + display: flex;
311 + align-items: center;
312 + background: transparent;
313 +}
262 262  
263 - /*
264 - * Full-bleed background without changing layout width.
265 - * This extends the dark surface beyond a fixed-width parent
266 - * without using 100vw or negative margins.
267 - */
268 - box-shadow: 0 0 0 100vmax @text;
269 - clip-path: inset(0 -100vmax);
315 +.hero-layout {
316 + max-width: 1120px;
317 + margin: 0 auto;
318 + display: grid;
319 + grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
320 + gap: 56px;
321 + align-items: center;
270 270  }
271 271  
272 -.contrast-band::before {
273 - content: "";
274 - position: absolute;
275 - inset: 0;
276 - background:
277 - linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px),
278 - linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px);
279 - background-size: 52px 52px;
280 - opacity: .38;
281 - pointer-events: none;
324 +.hero-copy {
325 + min-width: 0;
326 + text-align: left;
282 282  }
283 283  
284 -.contrast-band .container {
285 - position: relative;
286 - z-index: 1;
329 +.hero.hero-saas h1 {
330 + max-width: 640px;
331 + margin: 0 0 26px;
332 + font-size: 60px;
333 + font-weight: 800;
334 + line-height: 1;
335 + letter-spacing: -3px;
287 287  }
288 288  
289 -.contrast-panel {
290 - max-width: 1040px;
291 - margin: 0 auto;
292 - text-align: center;
338 +.hero.hero-saas h1 span {
339 + color: @brand;
293 293  }
294 294  
295 -.contrast-band h2 {
296 - max-width: 860px;
297 - margin: 0 auto 12px;
298 - color: #fff;
342 +.hero.hero-saas .lead {
343 + max-width: 590px;
344 + margin: 0 0 28px;
345 + color: #334155;
346 + text-align: left;
347 + font-size: 18px;
348 + line-height: 1.6;
299 299  }
300 300  
301 -.contrast-band .section-intro {
302 - max-width: 840px;
303 - margin: 0 auto 26px;
304 - color: #D9E3EE;
351 +.hero.hero-saas .benefits {
352 + max-width: 620px;
353 + margin: 0 0 30px;
354 + padding: 0;
355 + display: grid;
356 + grid-template-columns: repeat(2, minmax(0, 1fr));
357 + gap: 10px 24px;
358 + list-style: none;
359 + color: #475569;
360 + font-size: 15px;
361 + text-align: left;
305 305  }
306 306  
307 -.contrast-tags {
308 - max-width: 940px;
309 - margin: 0 auto;
310 - display: flex;
311 - flex-wrap: wrap;
312 - justify-content: center;
313 - gap: 10px;
364 +.hero.hero-saas .benefits li {
365 + display: grid;
366 + grid-template-columns: 18px minmax(0, 1fr);
367 + column-gap: 8px;
368 + align-items: start;
369 + margin: 0;
370 + line-height: 1.45;
314 314  }
315 315  
316 -.contrast-tags span {
317 - display: inline-flex;
318 - align-items: center;
319 - padding: 8px 13px;
320 - border: 1px solid fade(#fff, 18%);
321 - border-radius: 999px;
322 - background: fade(#fff, 8%);
323 - color: #F8FAFC;
324 - font-size: 13px;
325 - font-weight: 700;
326 - line-height: 1.2;
373 +.hero.hero-saas .benefits li::before {
374 + content: "✓";
375 + display: block;
376 + width: 18px;
377 + color: @brand;
378 + font-weight: 900;
379 + line-height: 1.45;
380 + text-align: left;
381 + margin: 0;
327 327  }
328 328  
329 -.contrast-tags span::before {
330 - content: "";
331 - width: 7px;
332 - height: 7px;
333 - margin-right: 8px;
334 - border-radius: 50%;
335 - background: @brand;
336 - box-shadow: 0 0 0 4px fade(@brand, 18%);
384 +.hero.hero-saas .hero-actions,
385 +.hero.hero-saas #hero-cta {
386 + justify-content: flex-start;
387 + margin-top: 0;
337 337  }
338 338  
339 -.contrast-support {
340 - max-width: 860px;
341 - margin: 30px auto 0;
342 - color: #D9E3EE;
343 - text-align: center;
344 - font-size: 15px;
345 - line-height: 1.7;
390 +.hero-image-wrapper {
391 + min-width: 0;
392 + display: flex;
393 + justify-content: center;
394 + align-items: center;
346 346  }
347 347  
348 -@media (max-width: 640px) {
349 - .contrast-band {
350 - padding: 40px 0;
397 +.hero-image {
398 + display: block;
399 + width: 100%;
400 + max-width: 620px;
401 + height: auto;
402 + border: 0;
403 +}
404 +
405 +/* ========== Trust Strip ========== */
406 +
407 +.trust-strip {
408 + padding: 18px 0;
409 + border-top: 1px solid fade(@line, 70%);
410 + border-bottom: 1px solid fade(@line, 70%);
411 + background: transparent;
412 +
413 + ul {
414 + max-width: 960px;
415 + margin: 0 auto;
416 + padding: 0 24px;
417 + list-style: none;
418 + display: flex;
419 + justify-content: center;
420 + gap: 22px;
421 + flex-wrap: wrap;
422 + color: @muted;
423 + font-size: 13px;
351 351   }
352 352  
353 - .contrast-tags span {
354 - font-size: 12px;
355 - padding: 8px 11px;
426 + li {
427 + display: flex;
428 + align-items: center;
429 + gap: 7px;
356 356   }
431 +
432 + i {
433 + color: @brand;
434 + }
357 357  }
358 358  
359 359  /* ========== Reusable Grids ========== */
... ... @@ -364,7 +364,7 @@
364 364  .resource-grid,
365 365  .widgets {
366 366   display: grid;
367 - grid-gap: 18px;
445 + grid-gap: 22px;
368 368   margin-left: auto;
369 369   margin-right: auto;
370 370  }
... ... @@ -374,19 +374,19 @@
374 374  .services-grid {
375 375   grid-template-columns: repeat(3, minmax(0, 1fr));
376 376   max-width: 1040px;
377 - margin-top: 22px;
455 + margin-top: 24px;
378 378  }
379 379  
380 380  .resource-grid {
381 381   grid-template-columns: repeat(2, minmax(0, 1fr));
382 382   max-width: 1040px;
383 - margin-top: 22px;
461 + margin-top: 24px;
384 384  }
385 385  
386 386  .widgets {
387 387   grid-template-columns: repeat(4, minmax(0, 1fr));
388 388   max-width: 1040px;
389 - margin-top: 20px;
467 + margin-top: 22px;
390 390  }
391 391  
392 392  .card-grid > *,
... ... @@ -402,7 +402,19 @@
402 402  .widget,
403 403  .pathway-card,
404 404  .service-card,
405 -.resource-card {
483 +.resource-card,
484 +.product-card,
485 +.product-summary-card,
486 +.product-info-card,
487 +.product-feature,
488 +.product-gallery-panel,
489 +.process-list li,
490 +.resource-sidebar,
491 +.cta-panel,
492 +.resource-inline-cta,
493 +.resource-note,
494 +.resource-cta {
495 + background: #fff;
406 406   border: 1px solid @line;
407 407   border-radius: @radius;
408 408   box-shadow: @shadow-sm;
... ... @@ -460,12 +460,13 @@
460 460   .pathway-icon {
461 461   width: 52px;
462 462   height: 52px;
463 - border-radius: 50%;
553 + border-radius: 16px;
464 464   display: flex;
465 465   align-items: center;
466 466   justify-content: center;
467 467   color: @brand;
468 468   background: fade(@brand, 10%);
559 + border: 1px solid fade(@brand, 18%);
469 469   font-size: 19px;
470 470   flex-shrink: 0;
471 471   }
... ... @@ -512,6 +512,59 @@
512 512   }
513 513  }
514 514  
606 +/* ========== Industry Trust Section ========== */
607 +
608 +.industry-trust-section {
609 + background: transparent;
610 +
611 + .industry-trust-panel {
612 + max-width: 1040px;
613 + margin: 0 auto;
614 + padding: 30px 28px;
615 + text-align: center;
616 + }
617 +
618 + h2 {
619 + margin-bottom: 12px;
620 + }
621 +
622 + .section-intro {
623 + margin-bottom: 20px;
624 + max-width: 820px;
625 + }
626 +
627 + .industry-tags {
628 + max-width: 880px;
629 + margin: 0 auto;
630 + display: flex;
631 + flex-wrap: wrap;
632 + justify-content: center;
633 + gap: 10px;
634 + }
635 +
636 + .industry-tags span {
637 + display: inline-flex;
638 + align-items: center;
639 + padding: 7px 12px;
640 + border: 1px solid fade(@brand, 20%);
641 + border-radius: 999px;
642 + background: #fff;
643 + color: @text;
644 + font-size: 13px;
645 + font-weight: 700;
646 + line-height: 1.2;
647 + box-shadow: 0 8px 20px rgba(15, 23, 42, .04);
648 + }
649 +
650 + .industry-support {
651 + max-width: 820px;
652 + margin: 22px auto 0;
653 + color: @muted;
654 + font-size: 16px;
655 + line-height: 1.6;
656 + }
657 +}
658 +
515 515  /* ========== Services ========== */
516 516  
517 517  .services {
... ... @@ -524,6 +524,7 @@
524 524   align-items: flex-start;
525 525   gap: 16px;
526 526   padding: 22px;
671 + background: #fff;
527 527   border: 1px solid @line;
528 528   border-radius: @radius;
529 529   box-shadow: @shadow-sm;
... ... @@ -531,7 +531,7 @@
531 531   .service-icon {
532 532   width: 46px;
533 533   height: 46px;
534 - border-radius: 50%;
679 + border-radius: 14px;
535 535   display: flex;
536 536   align-items: center;
537 537   justify-content: center;
... ... @@ -538,6 +538,7 @@
538 538   font-size: 18px;
539 539   color: @brand;
540 540   background: fade(@brand, 10%);
686 + border: 1px solid fade(@brand, 18%);
541 541   flex-shrink: 0;
542 542   margin-top: 2px;
543 543   }
... ... @@ -575,8 +575,7 @@
575 575  /* ========== Split / Process Section ========== */
576 576  
577 577  .split-section {
578 - background:
579 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 65%);
724 + background: transparent;
580 580  }
581 581  
582 582  .split-grid {
... ... @@ -611,9 +611,6 @@
611 611   position: relative;
612 612   padding: 16px 16px 16px 58px;
613 613   margin-bottom: 12px;
614 - border: 1px solid @line;
615 - border-radius: @radius;
616 - box-shadow: @shadow-sm;
617 617   color: @muted;
618 618   line-height: 1.5;
619 619  
... ... @@ -643,8 +643,9 @@
643 643  
644 644  /* ========== Resources ========== */
645 645  
646 -.resource-strip {
647 - background: @brand-bg;
788 +.resource-strip,
789 +.homepage-resource-strip {
790 + background: transparent;
648 648  }
649 649  
650 650  .resource-card {
... ... @@ -672,9 +672,6 @@
672 672  /* ========== Homepage Resource Strip ========== */
673 673  
674 674  .homepage-resource-strip {
675 - background:
676 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 70%);
677 -
678 678   .resource-grid {
679 679   max-width: 1040px;
680 680   margin: 22px auto 0;
... ... @@ -720,30 +720,10 @@
720 720   }
721 721  }
722 722  
723 -@media (max-width: 980px) {
724 - .homepage-resource-strip {
725 - .resource-grid {
726 - grid-template-columns: 1fr;
727 - }
728 - }
729 -}
730 -
731 -@media (max-width: 640px) {
732 - .homepage-resource-strip {
733 - .resource-card {
734 - padding: 22px;
735 - }
736 -
737 - .resource-card h4 {
738 - font-size: 19px;
739 - }
740 - }
741 -}
742 -
743 743  /* ========== CTA ========== */
744 744  
745 -#mainContentArea .cta-section {
746 - padding: 44px 0 56px;
865 +.cta-section {
866 + padding: @section-padding;
747 747  
748 748   .contact-inline {
749 749   margin: 0;
... ... @@ -755,70 +755,22 @@
755 755   }
756 756  }
757 757  
758 -#mainContentArea .cta-panel {
759 - position: relative;
760 - overflow: hidden;
761 - max-width: 1040px;
878 +.cta-panel {
879 + max-width: 860px;
762 762   margin: 0 auto;
763 - padding: 48px 40px;
764 - border: 0;
765 - border-radius: 26px;
766 - background:
767 - radial-gradient(circle at 88% 10%, fade(@brand, 24%) 0%, transparent 30%),
768 - linear-gradient(135deg, @text 0%, @text-soft 100%);
769 - color: #fff;
770 - box-shadow: @shadow;
881 + padding: 32px;
771 771   text-align: center;
772 -}
773 773  
774 -#mainContentArea .cta-panel::before {
775 - content: "";
776 - position: absolute;
777 - inset: 0;
778 - background:
779 - linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px),
780 - linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px);
781 - background-size: 48px 48px;
782 - opacity: .4;
783 - pointer-events: none;
784 -}
884 + h2 {
885 + margin-top: 0;
886 + }
785 785  
786 -#mainContentArea .cta-panel h2,
787 -#mainContentArea .cta-panel p,
788 -#mainContentArea .cta-panel .btn {
789 - position: relative;
790 - z-index: 1;
888 + p {
889 + color: @muted;
890 + line-height: 1.55;
891 + }
791 791  }
792 792  
793 -#mainContentArea .cta-panel h2 {
794 - max-width: 760px;
795 - margin: 0 auto 16px;
796 - color: #fff;
797 -}
798 -
799 -#mainContentArea .cta-panel p {
800 - max-width: 760px;
801 - margin: 0 auto 28px;
802 - color: #DBE4EF;
803 - font-size: 16px;
804 - line-height: 1.6;
805 -}
806 -
807 -#mainContentArea .cta-panel .btn-primary {
808 - border-color: #fff;
809 - background: #fff;
810 - color: @text;
811 - box-shadow: 0 18px 42px rgba(0, 0, 0, .18);
812 -}
813 -
814 -#mainContentArea .cta-panel .btn-primary:hover,
815 -#mainContentArea .cta-panel .btn-primary:focus {
816 - border-color: #fff;
817 - background: #fff;
818 - color: @brand-strong;
819 - text-decoration: none;
820 -}
821 -
822 822  .resource-inline-cta {
823 823   display: flex;
824 824   align-items: center;
... ... @@ -826,10 +826,6 @@
826 826   gap: 22px;
827 827   margin: 30px 0;
828 828   padding: 20px 22px;
829 - border: 1px solid fade(@brand, 22%);
830 - border-radius: @radius;
831 - background: @brand-bg;
832 - box-shadow: @shadow-sm;
833 833  
834 834   p {
835 835   margin: 0;
... ... @@ -846,129 +846,17 @@
846 846   }
847 847  }
848 848  
849 -@media (max-width: 767px) {
850 - .resource-inline-cta {
851 - display: block;
852 - text-align: center;
853 -
854 - p {
855 - margin-bottom: 14px;
856 - }
857 -
858 - .btn {
859 - display: inline-block;
860 - margin-left: auto;
861 - margin-right: auto;
862 - }
863 - }
864 -}
865 -
866 -/* ========== Responsive ========== */
867 -
868 -@media (max-width: 980px) {
869 - .widgets,
870 - .pathways,
871 - .services-grid,
872 - .resource-grid {
873 - grid-template-columns: repeat(2, minmax(0, 1fr));
874 - }
875 -
876 - .split-grid {
877 - grid-template-columns: 1fr;
878 - }
879 -
880 - .split-copy h2 {
881 - text-align: center;
882 - }
883 -}
884 -
885 -@media (max-width: 760px) {
886 - section[id] {
887 - scroll-margin-top: 132px;
888 - }
889 -
890 - .header-inner {
891 - min-height: auto;
892 - padding-top: 14px;
893 - padding-bottom: 14px;
894 - flex-direction: column;
895 - align-items: center;
896 - gap: 12px;
897 - }
898 -
899 - .site-nav {
900 - width: 100%;
901 - justify-content: center;
902 - flex-wrap: wrap;
903 - gap: 10px 16px;
904 - font-size: 14px;
905 -
906 - .nav-cta {
907 - padding: 7px 12px;
908 - }
909 - }
910 -
911 - .hero.hero-centered {
912 - min-height: 280px;
913 - }
914 -
915 - .hero {
916 - .lead {
917 - font-size: 17px;
918 - }
919 -
920 - .benefits {
921 - gap: 4px 10px;
922 -
923 - li + li::before {
924 - content: none;
925 - }
926 - }
927 - }
928 -}
929 -
930 -@media (max-width: 640px) {
931 - section {
932 - padding: @section-padding-mobile;
933 - }
934 -
935 - .widgets,
936 - .pathways,
937 - .services-grid,
938 - .resource-grid {
939 - grid-template-columns: 1fr;
940 - }
941 -
942 - .pathway-card,
943 - .services .service,
944 - .resource-card,
945 - .widget {
946 - padding: 20px;
947 - }
948 -
949 - .services .service {
950 - gap: 14px;
951 - }
952 -
953 - #mainContentArea .cta-panel {
954 - padding: 30px 22px;
955 - border-radius: 20px;
956 - }
957 -
958 - #mainContentArea .cta-panel .btn-primary {
959 - width: 100%;
960 - }
961 -}
962 -
963 963  /* ========== Resource / Article Pages ========== */
964 964  
965 965  .resource-page {
966 966   padding-top: 0;
921 + background: transparent;
967 967  }
968 968  
969 969  .resource-header {
970 970   padding: @section-padding;
971 971   border-top: none;
927 + background: transparent;
972 972  
973 973   h1 {
974 974   margin: 0 auto 14px;
... ... @@ -1036,7 +1036,6 @@
1036 1036  
1037 1037  .resource-note {
1038 1038   border-left: 4px solid @brand;
1039 - background: @brand-bg;
1040 1040   padding: 16px 18px;
1041 1041   margin: 22px 0;
1042 1042   border-radius: 0 @radius @radius 0;
... ... @@ -1113,10 +1113,7 @@
1113 1113   margin-bottom: 28px;
1114 1114   position: sticky;
1115 1115   top: 96px;
1116 - border: 1px solid @line;
1117 - border-radius: @radius;
1118 1118   padding: 18px;
1119 - box-shadow: @shadow-sm;
1120 1120  
1121 1121   h4 {
1122 1122   margin: 0 0 10px;
... ... @@ -1147,9 +1147,6 @@
1147 1147   max-width: 820px;
1148 1148   margin: 42px auto 0;
1149 1149   padding: 28px 30px;
1150 - border: 1px solid fade(@brand, 20%);
1151 - border-radius: @radius;
1152 - background: @brand-bg;
1153 1153  
1154 1154   h3 {
1155 1155   margin-top: 0;
... ... @@ -1174,26 +1174,6 @@
1174 1174   display: flow-root;
1175 1175  }
1176 1176  
1177 -@media (max-width: 767px) {
1178 - .resource-cta {
1179 - padding: 24px 20px;
1180 - }
1181 -}
1182 -
1183 -@media (max-width: 900px) {
1184 - .resource-layout {
1185 - padding-top: 22px;
1186 - }
1187 -
1188 - .resource-sidebar {
1189 - float: none;
1190 - width: 100%;
1191 - margin-left: 0;
1192 - margin-bottom: 24px;
1193 - position: static;
1194 - }
1195 -}
1196 -
1197 1197  /* ========== Products / Extensions Pages ========== */
1198 1198  
1199 1199  .product-index-section {
... ... @@ -1214,9 +1214,6 @@
1214 1214  
1215 1215  .product-card {
1216 1216   position: relative;
1217 - border: 1px solid @line;
1218 - border-radius: @radius;
1219 - box-shadow: @shadow-sm;
1220 1220   padding: 32px;
1221 1221   display: grid;
1222 1222   grid-template-columns: 70px 1fr;
... ... @@ -1235,7 +1235,7 @@
1235 1235   .product-card-icon {
1236 1236   width: 58px;
1237 1237   height: 58px;
1238 - border-radius: 50%;
1164 + border-radius: 16px;
1239 1239   background: fade(@brand, 10%);
1240 1240   border: 1px solid fade(@brand, 22%);
1241 1241   color: @brand;
... ... @@ -1324,30 +1324,6 @@
1324 1324   }
1325 1325  }
1326 1326  
1327 -@media (max-width: 640px) {
1328 - .product-card {
1329 - grid-template-columns: 1fr;
1330 - padding: 26px 22px;
1331 - text-align: left;
1332 -
1333 - &:before {
1334 - width: 4px;
1335 - }
1336 -
1337 - .product-card-icon {
1338 - margin-bottom: 2px;
1339 - }
1340 -
1341 - h3 {
1342 - font-size: 22px;
1343 - }
1344 - }
1345 -
1346 - .product-card-actions {
1347 - gap: 12px;
1348 - }
1349 -}
1350 -
1351 1351  /* ========== Individual Product Pages ========== */
1352 1352  
1353 1353  .product-layout {
... ... @@ -1359,15 +1359,6 @@
1359 1359   align-items: start;
1360 1360  }
1361 1361  
1362 -.product-summary-card,
1363 -.product-info-card,
1364 -.product-feature,
1365 -.product-gallery-panel {
1366 - border: 1px solid @line;
1367 - border-radius: @radius;
1368 - box-shadow: @shadow-sm;
1369 -}
1370 -
1371 1371  .product-summary-card {
1372 1372   padding: 28px;
1373 1373  
... ... @@ -1444,8 +1444,9 @@
1444 1444   .feature-icon {
1445 1445   width: 46px;
1446 1446   height: 46px;
1447 - border-radius: 50%;
1340 + border-radius: 14px;
1448 1448   background: fade(@brand, 10%);
1342 + border: 1px solid fade(@brand, 18%);
1449 1449   color: @brand;
1450 1450   display: flex;
1451 1451   align-items: center;
... ... @@ -1478,16 +1478,16 @@
1478 1478  }
1479 1479  
1480 1480  /* Keep the default XWiki gallery style.
1481 - Only add spacing before it and center it. */
1375 + Only set size, top spacing and centering. */
1482 1482  .gallery.xGallery {
1483 1483   margin: 25px auto;
1484 1484   width: 920px;
1379 + max-width: 100%;
1485 1485   height: 518px;
1486 1486  }
1487 1487  
1488 1488  .product-section-muted {
1489 - background:
1490 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 65%);
1384 + background: transparent;
1491 1491  }
1492 1492  
1493 1493  /* Compact process list when used inside a product card. */
... ... @@ -1546,387 +1546,296 @@
1546 1546   justify-content: center;
1547 1547  }
1548 1548  
1549 -@media (max-width: 980px) {
1550 - .product-layout,
1551 - .product-feature-grid {
1552 - grid-template-columns: 1fr;
1553 - }
1443 +/* ========== Resources Index ========== */
1554 1554  
1555 - .product-summary-card h2 {
1556 - text-align: center;
1445 +.resources-index-page {
1446 + background: transparent;
1447 +
1448 + .services-grid {
1449 + grid-template-columns: repeat(2, minmax(0, 1fr));
1557 1557   }
1558 1558  }
1559 1559  
1560 -@media (max-width: 640px) {
1561 - .product-card {
1453 +/* ========== Responsive ========== */
1454 +
1455 +@media (max-width: 1100px) {
1456 + .hero-layout {
1457 + max-width: 760px;
1562 1562   grid-template-columns: 1fr;
1563 - padding: 22px;
1564 - text-align: left;
1459 + gap: 34px;
1460 + }
1565 1565  
1566 - .product-card-icon {
1567 - margin-bottom: 2px;
1568 - }
1462 + .hero-copy {
1463 + order: 1;
1464 + text-align: center;
1569 1569   }
1570 1570  
1571 - .product-summary-card,
1572 - .product-info-card,
1573 - .product-feature,
1574 - .product-gallery-panel {
1575 - padding: 20px;
1467 + .hero-image-wrapper {
1468 + order: 2;
1576 1576   }
1577 1577  
1578 - .product-feature {
1579 - .card-heading,
1580 - .feature-heading {
1581 - gap: 12px;
1582 - }
1471 + .hero.hero-saas h1 {
1472 + margin-left: auto;
1473 + margin-right: auto;
1474 + text-align: center;
1475 + }
1583 1583  
1584 - .feature-icon {
1585 - width: 42px;
1586 - height: 42px;
1587 - font-size: 16px;
1588 - }
1477 + .hero.hero-saas .lead {
1478 + margin-left: auto;
1479 + margin-right: auto;
1480 + text-align: center;
1589 1589   }
1590 1590  
1591 - .gallery.xGallery {
1592 - margin-top: 22px !important;
1483 + .hero.hero-saas .benefits {
1484 + margin-left: auto;
1485 + margin-right: auto;
1593 1593   }
1594 1594  
1595 - .product-gallery-caption {
1596 - margin-top: 10px;
1597 - padding: 0 14px;
1488 + .hero.hero-saas .hero-actions,
1489 + .hero.hero-saas #hero-cta {
1490 + justify-content: center;
1598 1598   }
1599 1599  
1600 - .product-summary-card .process-list li {
1601 - padding-left: 46px;
1493 + .hero-image {
1494 + max-width: 620px;
1602 1602   }
1603 1603  }
1604 1604  
1605 -/* ========== Resources Index ========== */
1498 +@media (max-width: 980px) {
1499 + .widgets,
1500 + .pathways,
1501 + .services-grid,
1502 + .resource-grid {
1503 + grid-template-columns: repeat(2, minmax(0, 1fr));
1504 + }
1606 1606  
1607 -.resources-index-page {
1506 + .split-grid,
1507 + .product-layout,
1508 + .product-feature-grid {
1509 + grid-template-columns: 1fr;
1510 + }
1608 1608  
1609 - .services-grid {
1610 - grid-template-columns: repeat(2, minmax(0, 1fr));
1512 + .split-copy h2,
1513 + .product-summary-card h2 {
1514 + text-align: center;
1611 1611   }
1612 -}
1613 1613  
1614 -@media (max-width: 980px) {
1615 - .resources-index-page {
1616 - .services-grid {
1517 + .homepage-resource-strip {
1518 + .resource-grid {
1617 1617   grid-template-columns: 1fr;
1618 1618   }
1619 1619   }
1620 -}
1621 1621  
1622 -@media (max-width: 767px) {
1623 1623   .resources-index-page {
1624 - padding: @section-padding-mobile;
1524 + .services-grid {
1525 + grid-template-columns: 1fr;
1526 + }
1625 1625   }
1626 1626  }
1627 1627  
1628 -.resource-faq-item {
1629 - border-bottom: 1px solid @line;
1630 - padding: 12px 0;
1631 -
1632 - summary {
1633 - cursor: pointer;
1634 - font-weight: 700;
1635 - color: @text;
1530 +@media (max-width: 900px) {
1531 + .resource-layout {
1532 + padding-top: 22px;
1636 1636   }
1637 1637  
1638 - p {
1639 - margin: 10px 0 4px;
1640 - color: @muted;
1535 + .resource-sidebar {
1536 + float: none;
1537 + width: 100%;
1538 + margin-left: 0;
1539 + margin-bottom: 24px;
1540 + position: static;
1641 1641   }
1642 1642  }
1643 1643  
1644 -/* ========== Global Theme Background ========== */
1544 +@media (max-width: 767px) {
1545 + section[id] {
1546 + scroll-margin-top: 132px;
1547 + }
1645 1645  
1646 -html,
1647 -body {
1648 - min-height: 100%;
1649 -}
1549 + .header-inner {
1550 + min-height: auto;
1551 + padding-top: 14px;
1552 + padding-bottom: 14px;
1553 + flex-direction: column;
1554 + align-items: center;
1555 + gap: 12px;
1556 + }
1650 1650  
1651 -body {
1652 - color: @text;
1653 - background:
1654 - radial-gradient(circle at 12% 8%, rgba(0, 147, 125, 0.08) 0, transparent 26%),
1655 - radial-gradient(circle at 90% 28%, rgba(7, 24, 45, 0.05) 0, transparent 30%),
1656 - linear-gradient(180deg, #fff 0, @brand-bg 42%, #fff 100%) !important;
1657 - background-attachment: fixed;
1658 -}
1558 + .site-nav {
1559 + width: 100%;
1560 + justify-content: center;
1561 + flex-wrap: wrap;
1562 + gap: 10px 16px;
1563 + font-size: 14px;
1659 1659  
1660 -#mainContentArea {
1661 - padding: 0;
1662 - overflow-x: hidden;
1663 -}
1565 + .nav-cta {
1566 + padding: 7px 12px;
1567 + }
1568 + }
1664 1664  
1665 -/* ========== Main Page Hero / SaaS Layout ========== */
1570 + .hero.hero-centered {
1571 + min-height: 280px;
1572 + }
1666 1666  
1667 -#mainContentArea .hero.hero-saas {
1668 - min-height: auto;
1669 - padding: 60px 0 34px;
1670 - display: flex;
1671 - align-items: center;
1672 - overflow: hidden;
1673 - background: transparent;
1674 -}
1574 + .resource-inline-cta {
1575 + display: block;
1576 + text-align: center;
1675 1675  
1676 -#mainContentArea .hero-layout {
1677 - max-width: 1120px;
1678 - margin: 0 auto;
1679 - display: grid;
1680 - grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
1681 - gap: 56px;
1682 - align-items: center;
1683 -}
1578 + p {
1579 + margin-bottom: 14px;
1580 + }
1684 1684  
1685 -#mainContentArea .hero-copy {
1686 - min-width: 0;
1687 - text-align: left;
1688 -}
1582 + .btn {
1583 + display: inline-block;
1584 + margin-left: auto;
1585 + margin-right: auto;
1586 + }
1587 + }
1689 1689  
1690 -#mainContentArea .hero.hero-saas h1 {
1691 - max-width: 640px;
1692 - margin: 0 0 26px;
1693 - font-size: 60px;
1694 - font-weight: 800;
1695 - line-height: 1;
1696 - letter-spacing: -3px;
1697 -}
1589 + .resource-cta {
1590 + padding: 24px 20px;
1591 + }
1698 1698  
1699 -#mainContentArea .hero.hero-saas h1 span {
1700 - color: @brand;
1593 + .resources-index-page {
1594 + padding: @section-padding-mobile;
1595 + }
1701 1701  }
1702 1702  
1703 -#mainContentArea .hero.hero-saas .lead {
1704 - max-width: 590px;
1705 - margin: 0 0 28px;
1706 - color: #334155;
1707 - text-align: left;
1708 - font-size: 18px;
1709 - line-height: 1.6;
1710 -}
1598 +@media (max-width: 640px) {
1599 + section {
1600 + padding: @section-padding-mobile;
1601 + }
1711 1711  
1712 -#mainContentArea .hero.hero-saas .benefits {
1713 - max-width: 620px;
1714 - margin: 0 0 30px;
1715 - padding: 0;
1716 - display: grid;
1717 - grid-template-columns: repeat(2, minmax(0, 1fr));
1718 - gap: 10px 24px;
1719 - list-style: none;
1720 - color: #475569;
1721 - font-size: 15px;
1722 - text-align: left;
1723 -}
1603 + .container {
1604 + padding-left: 18px;
1605 + padding-right: 18px;
1606 + }
1724 1724  
1725 -#mainContentArea .hero.hero-saas .benefits li {
1726 - display: grid;
1727 - grid-template-columns: 18px minmax(0, 1fr);
1728 - column-gap: 8px;
1729 - align-items: start;
1730 - margin: 0;
1731 - line-height: 1.45;
1732 -}
1733 -
1734 -#mainContentArea .hero.hero-saas .benefits li::before {
1735 - content: "✓";
1736 - display: block;
1737 - width: 18px;
1738 - color: @brand;
1739 - font-weight: 900;
1740 - line-height: 1.45;
1741 - text-align: left;
1742 - margin: 0;
1743 -}
1744 -
1745 -#mainContentArea .hero.hero-saas .hero-actions,
1746 -#mainContentArea .hero.hero-saas #hero-cta {
1747 - display: flex;
1748 - flex-wrap: wrap;
1749 - justify-content: flex-start;
1750 - gap: 12px;
1751 - margin-top: 0;
1752 -}
1753 -
1754 -#mainContentArea .hero-image-wrapper {
1755 - min-width: 0;
1756 - display: flex;
1757 - justify-content: center;
1758 - align-items: center;
1759 -}
1760 -
1761 -#mainContentArea .hero-image {
1762 - display: block;
1763 - width: 100%;
1764 - max-width: 620px;
1765 - height: auto;
1766 - border: 0;
1767 -}
1768 -
1769 -/* ========== Main Page Hero Responsive ========== */
1770 -
1771 -@media (max-width: 1100px) {
1772 - #mainContentArea .hero-layout {
1773 - max-width: 760px;
1608 + .widgets,
1609 + .pathways,
1610 + .services-grid,
1611 + .resource-grid,
1612 + .hero.hero-saas .benefits {
1774 1774   grid-template-columns: 1fr;
1775 - gap: 34px;
1776 1776   }
1777 1777  
1778 - #mainContentArea .hero-copy {
1779 - order: 1;
1780 - text-align: center;
1616 + .pathway-card,
1617 + .services .service,
1618 + .resource-card,
1619 + .widget,
1620 + .product-summary-card,
1621 + .product-info-card,
1622 + .product-feature,
1623 + .product-gallery-panel {
1624 + padding: 20px;
1781 1781   }
1782 1782  
1783 - #mainContentArea .hero-image-wrapper {
1784 - order: 2;
1627 + .services .service {
1628 + gap: 14px;
1785 1785   }
1786 1786  
1787 - #mainContentArea .hero.hero-saas h1 {
1788 - margin-left: auto;
1789 - margin-right: auto;
1790 - text-align: center;
1631 + .cta-panel {
1632 + padding: 24px 20px;
1791 1791   }
1792 1792  
1793 - #mainContentArea .hero.hero-saas .lead {
1794 - margin-left: auto;
1795 - margin-right: auto;
1796 - text-align: center;
1797 - }
1635 + .industry-trust-section {
1636 + .industry-trust-panel {
1637 + padding: 24px 18px;
1638 + }
1798 1798  
1799 - #mainContentArea .hero.hero-saas .benefits {
1800 - margin-left: auto;
1801 - margin-right: auto;
1802 - }
1640 + .industry-tags {
1641 + gap: 8px;
1642 + }
1803 1803  
1804 - #mainContentArea .hero.hero-saas .hero-actions,
1805 - #mainContentArea .hero.hero-saas #hero-cta {
1806 - justify-content: center;
1644 + .industry-tags span {
1645 + font-size: 12px;
1646 + padding: 6px 10px;
1647 + }
1807 1807   }
1808 1808  
1809 - #mainContentArea .hero-image {
1810 - max-width: 620px;
1650 + .homepage-resource-strip {
1651 + .resource-card {
1652 + padding: 22px;
1653 + }
1654 +
1655 + .resource-card h4 {
1656 + font-size: 19px;
1657 + }
1811 1811   }
1812 -}
1813 1813  
1814 -@media (max-width: 640px) {
1815 - #mainContentArea .hero.hero-saas {
1660 + .hero.hero-saas {
1816 1816   padding: 42px 0 28px;
1817 1817   }
1818 1818  
1819 - #mainContentArea .hero-layout {
1820 - gap: 28px;
1821 - }
1822 -
1823 - #mainContentArea .hero.hero-saas h1 {
1664 + .hero.hero-saas h1 {
1824 1824   font-size: 42px;
1825 1825   letter-spacing: -1.5px;
1826 1826   }
1827 1827  
1828 - #mainContentArea .hero.hero-saas .lead {
1669 + .hero.hero-saas .lead {
1829 1829   font-size: 17px;
1830 1830   }
1831 1831  
1832 - #mainContentArea .hero.hero-saas .benefits {
1833 - grid-template-columns: 1fr;
1673 + .hero-layout {
1674 + gap: 28px;
1834 1834   }
1835 1835  
1836 - #mainContentArea .hero-image {
1677 + .hero-image {
1837 1837   max-width: 100%;
1838 1838   }
1839 -}
1840 1840  
1841 -/* ========== Accessibility / Contrast Improvements ========== */
1681 + .hero .benefits {
1682 + gap: 4px 10px;
1683 + }
1842 1842  
1843 -/* Make the global background softer and less distracting. */
1844 -body {
1845 - background:
1846 - radial-gradient(circle at 12% 8%, rgba(0, 147, 125, 0.035) 0, transparent 26%),
1847 - radial-gradient(circle at 90% 28%, rgba(7, 24, 45, 0.025) 0, transparent 30%),
1848 - linear-gradient(180deg, #fff 0, @brand-bg 42%, #fff 100%) !important;
1849 - background-attachment: scroll;
1850 -}
1685 + .product-card {
1686 + grid-template-columns: 1fr;
1687 + padding: 26px 22px;
1688 + text-align: left;
1851 1851  
1852 -/* Keep the article area readable while preserving the page background around it. */
1853 -#mainContentArea .resource-layout {
1854 - padding: 28px;
1855 - border: 1px solid fade(@line, 85%);
1856 - border-radius: @radius;
1857 - background: rgba(255, 255, 255, .88);
1858 - box-shadow: @shadow-sm;
1859 -}
1690 + &:before {
1691 + width: 4px;
1692 + }
1860 1860  
1861 -/* Ensure all reusable cards have a real surface, not transparent over the gradient. */
1862 -#mainContentArea .widget,
1863 -#mainContentArea .pathway-card,
1864 -#mainContentArea .service-card,
1865 -#mainContentArea .resource-card,
1866 -#mainContentArea .services .service,
1867 -#mainContentArea .product-card,
1868 -#mainContentArea .product-feature,
1869 -#mainContentArea .product-summary-card,
1870 -#mainContentArea .product-info-card {
1871 - background: #fff;
1872 -}
1694 + .product-card-icon {
1695 + margin-bottom: 2px;
1696 + }
1873 1873  
1874 -/* Make notes more readable and visually stronger. */
1875 -#mainContentArea .resource-note {
1876 - border: 1px solid fade(@brand, 18%);
1877 - border-left: 4px solid @brand;
1878 - background: #fff;
1879 - box-shadow: 0 10px 28px rgba(15, 23, 42, .045);
1880 -}
1698 + h3 {
1699 + font-size: 22px;
1700 + }
1701 + }
1881 1881  
1882 -/* Keep the sidebar clearly separated from the background. */
1883 -#mainContentArea .resource-sidebar {
1884 - background: #fff;
1885 -}
1703 + .product-card-actions {
1704 + gap: 12px;
1705 + }
1886 1886  
1887 -/* Make CTA panels stand out more clearly. */
1888 -#mainContentArea .resource-cta,
1889 -#mainContentArea .resource-inline-cta {
1890 - background: #fff;
1891 -}
1707 + .product-feature {
1708 + .card-heading,
1709 + .feature-heading {
1710 + gap: 12px;
1711 + }
1892 1892  
1893 -/* Improve table readability on long resource pages. */
1894 -#mainContentArea .resource-content table {
1895 - background: #fff;
1896 -}
1713 + .feature-icon {
1714 + width: 42px;
1715 + height: 42px;
1716 + font-size: 16px;
1717 + }
1718 + }
1897 1897  
1898 -#mainContentArea .resource-content table th {
1899 - color: @text;
1900 - background: #F8FAFC;
1901 -}
1720 + .gallery.xGallery {
1721 + width: 100%;
1722 + height: 56vw;
1723 + max-height: 360px;
1724 + margin-top: 22px !important;
1725 + }
1902 1902  
1903 -#mainContentArea .resource-content table td {
1904 - color: @text-soft;
1905 -}
1906 -
1907 -/* Slightly improve paragraph/list contrast in long articles. */
1908 -#mainContentArea .resource-content p,
1909 -#mainContentArea .resource-content li {
1910 - color: @text-soft;
1911 -}
1912 -
1913 -#mainContentArea .resource-content .resource-note p,
1914 -#mainContentArea .resource-content .resource-checklist li,
1915 -#mainContentArea .resource-content .process-list li {
1916 - color: @muted;
1917 -}
1918 -
1919 -@media (max-width: 900px) {
1920 - #mainContentArea .resource-layout {
1921 - padding: 22px;
1727 + .product-gallery-caption {
1728 + margin-top: 10px;
1729 + padding: 0 14px;
1922 1922   }
1923 -}
1924 1924  
1925 -@media (max-width: 640px) {
1926 - #mainContentArea .resource-layout {
1927 - padding: 18px;
1928 - border-radius: 14px;
1732 + .product-summary-card .process-list li {
1733 + padding-left: 46px;
1929 1929   }
1930 1930  }
1931 -
1932 -