Changes for page Public Web Site

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

From version 28.43
edited by Agnease
on 2026/07/03 14:22
Change comment: There is no comment for this version
To version 26.4
edited by Agnease
on 2026/07/01 17:07
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>
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>
40 40   </div>
29 +$doc.getAttachmentURL('agnease-xwiki-hero.png')
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 + />
39 + </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,128 +247,138 @@
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 - z-index: 0;
255 - overflow: visible; /* allow pseudo-element to escape */
256 - padding: 54px 0;
257 - border-top: 0;
258 - 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 +}
259 259  
260 - /* Remove gradient from here */
261 - background: none;
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;
262 262  }
263 263  
264 -/* Full‑bleed gradient background */
265 -.contrast-band::before {
266 - content: "";
267 - position: absolute;
268 - top: 0;
269 - left: 50%;
270 - width: 100vw; /* full viewport width */
271 - height: 100%;
272 - transform: translateX(-50%);
273 - z-index: -1;
324 +.hero-copy {
325 + min-width: 0;
326 + text-align: left;
327 +}
274 274  
275 - background:
276 - radial-gradient(circle at 18% 18%, fade(@brand, 22%) 0%, transparent 28%),
277 - radial-gradient(circle at 86% 12%, fade(@brand, 16%) 0%, transparent 30%),
278 - linear-gradient(135deg, @text 0%, @text-soft 100%);
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;
279 279  }
280 280  
281 -/* Grid overlay stays exactly as you had it */
282 -.contrast-band::after {
283 - content: "";
284 - position: absolute;
285 - inset: 0;
286 - background:
287 - linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px),
288 - linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px);
289 - background-size: 52px 52px;
290 - opacity: .38;
291 - pointer-events: none;
292 - z-index: 0;
338 +.hero.hero-saas h1 span {
339 + color: @brand;
293 293  }
294 294  
295 -.contrast-band .container {
296 - position: relative;
297 - z-index: 1;
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;
298 298  }
299 299  
300 -/* Everything below stays unchanged */
301 -.contrast-panel {
302 - max-width: 1040px;
303 - margin: 0 auto;
304 - text-align: center;
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-band h2 {
308 - max-width: 860px;
309 - margin: 0 auto 12px;
310 - color: #fff;
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;
311 311  }
312 312  
313 -.contrast-band .section-intro {
314 - max-width: 840px;
315 - margin: 0 auto 26px;
316 - color: #D9E3EE;
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;
317 317  }
318 318  
319 -.contrast-tags {
320 - max-width: 940px;
321 - margin: 0 auto;
322 - display: flex;
323 - flex-wrap: wrap;
324 - justify-content: center;
325 - gap: 10px;
384 +.hero.hero-saas .hero-actions,
385 +.hero.hero-saas #hero-cta {
386 + justify-content: flex-start;
387 + margin-top: 0;
326 326  }
327 327  
328 -.contrast-tags span {
329 - display: inline-flex;
390 +.hero-image-wrapper {
391 + min-width: 0;
392 + display: flex;
393 + justify-content: center;
330 330   align-items: center;
331 - padding: 8px 13px;
332 - border: 1px solid fade(#fff, 18%);
333 - border-radius: 999px;
334 - background: fade(#fff, 8%);
335 - color: #F8FAFC;
336 - font-size: 13px;
337 - font-weight: 700;
338 - line-height: 1.2;
339 339  }
340 340  
341 -.contrast-tags span::before {
342 - content: "";
343 - width: 7px;
344 - height: 7px;
345 - margin-right: 8px;
346 - border-radius: 50%;
347 - background: @brand;
348 - box-shadow: 0 0 0 4px fade(@brand, 18%);
397 +.hero-image {
398 + display: block;
399 + width: 100%;
400 + max-width: 620px;
401 + height: auto;
402 + border: 0;
349 349  }
350 350  
351 -.contrast-support {
352 - max-width: 860px;
353 - margin: 30px auto 0;
354 - color: #D9E3EE;
355 - text-align: center;
356 - font-size: 15px;
357 - line-height: 1.7;
358 -}
405 +/* ========== Trust Strip ========== */
359 359  
360 -@media (max-width: 640px) {
361 - .contrast-band {
362 - padding: 40px 0;
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;
363 363   }
364 364  
365 - .contrast-tags span {
366 - font-size: 12px;
367 - padding: 8px 11px;
426 + li {
427 + display: flex;
428 + align-items: center;
429 + gap: 7px;
368 368   }
431 +
432 + i {
433 + color: @brand;
434 + }
369 369  }
370 370  
371 -
372 372  /* ========== Reusable Grids ========== */
373 373  
374 374  .card-grid,
... ... @@ -377,7 +377,7 @@
377 377  .resource-grid,
378 378  .widgets {
379 379   display: grid;
380 - grid-gap: 18px;
445 + grid-gap: 22px;
381 381   margin-left: auto;
382 382   margin-right: auto;
383 383  }
... ... @@ -387,19 +387,19 @@
387 387  .services-grid {
388 388   grid-template-columns: repeat(3, minmax(0, 1fr));
389 389   max-width: 1040px;
390 - margin-top: 22px;
455 + margin-top: 24px;
391 391  }
392 392  
393 393  .resource-grid {
394 394   grid-template-columns: repeat(2, minmax(0, 1fr));
395 395   max-width: 1040px;
396 - margin-top: 22px;
461 + margin-top: 24px;
397 397  }
398 398  
399 399  .widgets {
400 400   grid-template-columns: repeat(4, minmax(0, 1fr));
401 401   max-width: 1040px;
402 - margin-top: 20px;
467 + margin-top: 22px;
403 403  }
404 404  
405 405  .card-grid > *,
... ... @@ -415,7 +415,19 @@
415 415  .widget,
416 416  .pathway-card,
417 417  .service-card,
418 -.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;
419 419   border: 1px solid @line;
420 420   border-radius: @radius;
421 421   box-shadow: @shadow-sm;
... ... @@ -473,12 +473,13 @@
473 473   .pathway-icon {
474 474   width: 52px;
475 475   height: 52px;
476 - border-radius: 50%;
553 + border-radius: 16px;
477 477   display: flex;
478 478   align-items: center;
479 479   justify-content: center;
480 480   color: @brand;
481 481   background: fade(@brand, 10%);
559 + border: 1px solid fade(@brand, 18%);
482 482   font-size: 19px;
483 483   flex-shrink: 0;
484 484   }
... ... @@ -525,6 +525,59 @@
525 525   }
526 526  }
527 527  
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 +
528 528  /* ========== Services ========== */
529 529  
530 530  .services {
... ... @@ -537,6 +537,7 @@
537 537   align-items: flex-start;
538 538   gap: 16px;
539 539   padding: 22px;
671 + background: #fff;
540 540   border: 1px solid @line;
541 541   border-radius: @radius;
542 542   box-shadow: @shadow-sm;
... ... @@ -544,7 +544,7 @@
544 544   .service-icon {
545 545   width: 46px;
546 546   height: 46px;
547 - border-radius: 50%;
679 + border-radius: 14px;
548 548   display: flex;
549 549   align-items: center;
550 550   justify-content: center;
... ... @@ -551,6 +551,7 @@
551 551   font-size: 18px;
552 552   color: @brand;
553 553   background: fade(@brand, 10%);
686 + border: 1px solid fade(@brand, 18%);
554 554   flex-shrink: 0;
555 555   margin-top: 2px;
556 556   }
... ... @@ -588,8 +588,7 @@
588 588  /* ========== Split / Process Section ========== */
589 589  
590 590  .split-section {
591 - background:
592 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 65%);
724 + background: transparent;
593 593  }
594 594  
595 595  .split-grid {
... ... @@ -624,9 +624,6 @@
624 624   position: relative;
625 625   padding: 16px 16px 16px 58px;
626 626   margin-bottom: 12px;
627 - border: 1px solid @line;
628 - border-radius: @radius;
629 - box-shadow: @shadow-sm;
630 630   color: @muted;
631 631   line-height: 1.5;
632 632  
... ... @@ -656,8 +656,9 @@
656 656  
657 657  /* ========== Resources ========== */
658 658  
659 -.resource-strip {
660 - background: @brand-bg;
788 +.resource-strip,
789 +.homepage-resource-strip {
790 + background: transparent;
661 661  }
662 662  
663 663  .resource-card {
... ... @@ -685,9 +685,6 @@
685 685  /* ========== Homepage Resource Strip ========== */
686 686  
687 687  .homepage-resource-strip {
688 - background:
689 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 70%);
690 -
691 691   .resource-grid {
692 692   max-width: 1040px;
693 693   margin: 22px auto 0;
... ... @@ -733,30 +733,10 @@
733 733   }
734 734  }
735 735  
736 -@media (max-width: 980px) {
737 - .homepage-resource-strip {
738 - .resource-grid {
739 - grid-template-columns: 1fr;
740 - }
741 - }
742 -}
743 -
744 -@media (max-width: 640px) {
745 - .homepage-resource-strip {
746 - .resource-card {
747 - padding: 22px;
748 - }
749 -
750 - .resource-card h4 {
751 - font-size: 19px;
752 - }
753 - }
754 -}
755 -
756 756  /* ========== CTA ========== */
757 757  
758 -#mainContentArea .cta-section {
759 - padding: 44px 0 56px;
865 +.cta-section {
866 + padding: @section-padding;
760 760  
761 761   .contact-inline {
762 762   margin: 0;
... ... @@ -768,70 +768,22 @@
768 768   }
769 769  }
770 770  
771 -#mainContentArea .cta-panel {
772 - position: relative;
773 - overflow: hidden;
774 - max-width: 1040px;
878 +.cta-panel {
879 + max-width: 860px;
775 775   margin: 0 auto;
776 - padding: 48px 40px;
777 - border: 0;
778 - border-radius: 26px;
779 - background:
780 - radial-gradient(circle at 88% 10%, fade(@brand, 24%) 0%, transparent 30%),
781 - linear-gradient(135deg, @text 0%, @text-soft 100%);
782 - color: #fff;
783 - box-shadow: @shadow;
881 + padding: 32px;
784 784   text-align: center;
785 -}
786 786  
787 -#mainContentArea .cta-panel::before {
788 - content: "";
789 - position: absolute;
790 - inset: 0;
791 - background:
792 - linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px),
793 - linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px);
794 - background-size: 48px 48px;
795 - opacity: .4;
796 - pointer-events: none;
797 -}
884 + h2 {
885 + margin-top: 0;
886 + }
798 798  
799 -#mainContentArea .cta-panel h2,
800 -#mainContentArea .cta-panel p,
801 -#mainContentArea .cta-panel .btn {
802 - position: relative;
803 - z-index: 1;
888 + p {
889 + color: @muted;
890 + line-height: 1.55;
891 + }
804 804  }
805 805  
806 -#mainContentArea .cta-panel h2 {
807 - max-width: 760px;
808 - margin: 0 auto 16px;
809 - color: #fff;
810 -}
811 -
812 -#mainContentArea .cta-panel p {
813 - max-width: 760px;
814 - margin: 0 auto 28px;
815 - color: #DBE4EF;
816 - font-size: 16px;
817 - line-height: 1.6;
818 -}
819 -
820 -#mainContentArea .cta-panel .btn-primary {
821 - border-color: #fff;
822 - background: #fff;
823 - color: @text;
824 - box-shadow: 0 18px 42px rgba(0, 0, 0, .18);
825 -}
826 -
827 -#mainContentArea .cta-panel .btn-primary:hover,
828 -#mainContentArea .cta-panel .btn-primary:focus {
829 - border-color: #fff;
830 - background: #fff;
831 - color: @brand-strong;
832 - text-decoration: none;
833 -}
834 -
835 835  .resource-inline-cta {
836 836   display: flex;
837 837   align-items: center;
... ... @@ -839,10 +839,6 @@
839 839   gap: 22px;
840 840   margin: 30px 0;
841 841   padding: 20px 22px;
842 - border: 1px solid fade(@brand, 22%);
843 - border-radius: @radius;
844 - background: @brand-bg;
845 - box-shadow: @shadow-sm;
846 846  
847 847   p {
848 848   margin: 0;
... ... @@ -859,129 +859,17 @@
859 859   }
860 860  }
861 861  
862 -@media (max-width: 767px) {
863 - .resource-inline-cta {
864 - display: block;
865 - text-align: center;
866 -
867 - p {
868 - margin-bottom: 14px;
869 - }
870 -
871 - .btn {
872 - display: inline-block;
873 - margin-left: auto;
874 - margin-right: auto;
875 - }
876 - }
877 -}
878 -
879 -/* ========== Responsive ========== */
880 -
881 -@media (max-width: 980px) {
882 - .widgets,
883 - .pathways,
884 - .services-grid,
885 - .resource-grid {
886 - grid-template-columns: repeat(2, minmax(0, 1fr));
887 - }
888 -
889 - .split-grid {
890 - grid-template-columns: 1fr;
891 - }
892 -
893 - .split-copy h2 {
894 - text-align: center;
895 - }
896 -}
897 -
898 -@media (max-width: 760px) {
899 - section[id] {
900 - scroll-margin-top: 132px;
901 - }
902 -
903 - .header-inner {
904 - min-height: auto;
905 - padding-top: 14px;
906 - padding-bottom: 14px;
907 - flex-direction: column;
908 - align-items: center;
909 - gap: 12px;
910 - }
911 -
912 - .site-nav {
913 - width: 100%;
914 - justify-content: center;
915 - flex-wrap: wrap;
916 - gap: 10px 16px;
917 - font-size: 14px;
918 -
919 - .nav-cta {
920 - padding: 7px 12px;
921 - }
922 - }
923 -
924 - .hero.hero-centered {
925 - min-height: 280px;
926 - }
927 -
928 - .hero {
929 - .lead {
930 - font-size: 17px;
931 - }
932 -
933 - .benefits {
934 - gap: 4px 10px;
935 -
936 - li + li::before {
937 - content: none;
938 - }
939 - }
940 - }
941 -}
942 -
943 -@media (max-width: 640px) {
944 - section {
945 - padding: @section-padding-mobile;
946 - }
947 -
948 - .widgets,
949 - .pathways,
950 - .services-grid,
951 - .resource-grid {
952 - grid-template-columns: 1fr;
953 - }
954 -
955 - .pathway-card,
956 - .services .service,
957 - .resource-card,
958 - .widget {
959 - padding: 20px;
960 - }
961 -
962 - .services .service {
963 - gap: 14px;
964 - }
965 -
966 - #mainContentArea .cta-panel {
967 - padding: 30px 22px;
968 - border-radius: 20px;
969 - }
970 -
971 - #mainContentArea .cta-panel .btn-primary {
972 - width: 100%;
973 - }
974 -}
975 -
976 976  /* ========== Resource / Article Pages ========== */
977 977  
978 978  .resource-page {
979 979   padding-top: 0;
921 + background: transparent;
980 980  }
981 981  
982 982  .resource-header {
983 983   padding: @section-padding;
984 984   border-top: none;
927 + background: transparent;
985 985  
986 986   h1 {
987 987   margin: 0 auto 14px;
... ... @@ -1049,7 +1049,6 @@
1049 1049  
1050 1050  .resource-note {
1051 1051   border-left: 4px solid @brand;
1052 - background: @brand-bg;
1053 1053   padding: 16px 18px;
1054 1054   margin: 22px 0;
1055 1055   border-radius: 0 @radius @radius 0;
... ... @@ -1126,10 +1126,7 @@
1126 1126   margin-bottom: 28px;
1127 1127   position: sticky;
1128 1128   top: 96px;
1129 - border: 1px solid @line;
1130 - border-radius: @radius;
1131 1131   padding: 18px;
1132 - box-shadow: @shadow-sm;
1133 1133  
1134 1134   h4 {
1135 1135   margin: 0 0 10px;
... ... @@ -1160,9 +1160,6 @@
1160 1160   max-width: 820px;
1161 1161   margin: 42px auto 0;
1162 1162   padding: 28px 30px;
1163 - border: 1px solid fade(@brand, 20%);
1164 - border-radius: @radius;
1165 - background: @brand-bg;
1166 1166  
1167 1167   h3 {
1168 1168   margin-top: 0;
... ... @@ -1187,26 +1187,6 @@
1187 1187   display: flow-root;
1188 1188  }
1189 1189  
1190 -@media (max-width: 767px) {
1191 - .resource-cta {
1192 - padding: 24px 20px;
1193 - }
1194 -}
1195 -
1196 -@media (max-width: 900px) {
1197 - .resource-layout {
1198 - padding-top: 22px;
1199 - }
1200 -
1201 - .resource-sidebar {
1202 - float: none;
1203 - width: 100%;
1204 - margin-left: 0;
1205 - margin-bottom: 24px;
1206 - position: static;
1207 - }
1208 -}
1209 -
1210 1210  /* ========== Products / Extensions Pages ========== */
1211 1211  
1212 1212  .product-index-section {
... ... @@ -1227,9 +1227,6 @@
1227 1227  
1228 1228  .product-card {
1229 1229   position: relative;
1230 - border: 1px solid @line;
1231 - border-radius: @radius;
1232 - box-shadow: @shadow-sm;
1233 1233   padding: 32px;
1234 1234   display: grid;
1235 1235   grid-template-columns: 70px 1fr;
... ... @@ -1248,7 +1248,7 @@
1248 1248   .product-card-icon {
1249 1249   width: 58px;
1250 1250   height: 58px;
1251 - border-radius: 50%;
1164 + border-radius: 16px;
1252 1252   background: fade(@brand, 10%);
1253 1253   border: 1px solid fade(@brand, 22%);
1254 1254   color: @brand;
... ... @@ -1337,30 +1337,6 @@
1337 1337   }
1338 1338  }
1339 1339  
1340 -@media (max-width: 640px) {
1341 - .product-card {
1342 - grid-template-columns: 1fr;
1343 - padding: 26px 22px;
1344 - text-align: left;
1345 -
1346 - &:before {
1347 - width: 4px;
1348 - }
1349 -
1350 - .product-card-icon {
1351 - margin-bottom: 2px;
1352 - }
1353 -
1354 - h3 {
1355 - font-size: 22px;
1356 - }
1357 - }
1358 -
1359 - .product-card-actions {
1360 - gap: 12px;
1361 - }
1362 -}
1363 -
1364 1364  /* ========== Individual Product Pages ========== */
1365 1365  
1366 1366  .product-layout {
... ... @@ -1372,15 +1372,6 @@
1372 1372   align-items: start;
1373 1373  }
1374 1374  
1375 -.product-summary-card,
1376 -.product-info-card,
1377 -.product-feature,
1378 -.product-gallery-panel {
1379 - border: 1px solid @line;
1380 - border-radius: @radius;
1381 - box-shadow: @shadow-sm;
1382 -}
1383 -
1384 1384  .product-summary-card {
1385 1385   padding: 28px;
1386 1386  
... ... @@ -1457,8 +1457,9 @@
1457 1457   .feature-icon {
1458 1458   width: 46px;
1459 1459   height: 46px;
1460 - border-radius: 50%;
1340 + border-radius: 14px;
1461 1461   background: fade(@brand, 10%);
1342 + border: 1px solid fade(@brand, 18%);
1462 1462   color: @brand;
1463 1463   display: flex;
1464 1464   align-items: center;
... ... @@ -1491,16 +1491,16 @@
1491 1491  }
1492 1492  
1493 1493  /* Keep the default XWiki gallery style.
1494 - Only add spacing before it and center it. */
1375 + Only set size, top spacing and centering. */
1495 1495  .gallery.xGallery {
1496 1496   margin: 25px auto;
1497 1497   width: 920px;
1379 + max-width: 100%;
1498 1498   height: 518px;
1499 1499  }
1500 1500  
1501 1501  .product-section-muted {
1502 - background:
1503 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 65%);
1384 + background: transparent;
1504 1504  }
1505 1505  
1506 1506  /* Compact process list when used inside a product card. */
... ... @@ -1559,373 +1559,296 @@
1559 1559   justify-content: center;
1560 1560  }
1561 1561  
1562 -@media (max-width: 980px) {
1563 - .product-layout,
1564 - .product-feature-grid {
1565 - grid-template-columns: 1fr;
1566 - }
1443 +/* ========== Resources Index ========== */
1567 1567  
1568 - .product-summary-card h2 {
1569 - text-align: center;
1445 +.resources-index-page {
1446 + background: transparent;
1447 +
1448 + .services-grid {
1449 + grid-template-columns: repeat(2, minmax(0, 1fr));
1570 1570   }
1571 1571  }
1572 1572  
1573 -@media (max-width: 640px) {
1574 - .product-card {
1453 +/* ========== Responsive ========== */
1454 +
1455 +@media (max-width: 1100px) {
1456 + .hero-layout {
1457 + max-width: 760px;
1575 1575   grid-template-columns: 1fr;
1576 - padding: 22px;
1577 - text-align: left;
1459 + gap: 34px;
1460 + }
1578 1578  
1579 - .product-card-icon {
1580 - margin-bottom: 2px;
1581 - }
1462 + .hero-copy {
1463 + order: 1;
1464 + text-align: center;
1582 1582   }
1583 1583  
1584 - .product-summary-card,
1585 - .product-info-card,
1586 - .product-feature,
1587 - .product-gallery-panel {
1588 - padding: 20px;
1467 + .hero-image-wrapper {
1468 + order: 2;
1589 1589   }
1590 1590  
1591 - .product-feature {
1592 - .card-heading,
1593 - .feature-heading {
1594 - gap: 12px;
1595 - }
1471 + .hero.hero-saas h1 {
1472 + margin-left: auto;
1473 + margin-right: auto;
1474 + text-align: center;
1475 + }
1596 1596  
1597 - .feature-icon {
1598 - width: 42px;
1599 - height: 42px;
1600 - font-size: 16px;
1601 - }
1477 + .hero.hero-saas .lead {
1478 + margin-left: auto;
1479 + margin-right: auto;
1480 + text-align: center;
1602 1602   }
1603 1603  
1604 - .gallery.xGallery {
1605 - margin-top: 22px !important;
1483 + .hero.hero-saas .benefits {
1484 + margin-left: auto;
1485 + margin-right: auto;
1606 1606   }
1607 1607  
1608 - .product-gallery-caption {
1609 - margin-top: 10px;
1610 - padding: 0 14px;
1488 + .hero.hero-saas .hero-actions,
1489 + .hero.hero-saas #hero-cta {
1490 + justify-content: center;
1611 1611   }
1612 1612  
1613 - .product-summary-card .process-list li {
1614 - padding-left: 46px;
1493 + .hero-image {
1494 + max-width: 620px;
1615 1615   }
1616 1616  }
1617 1617  
1618 -/* ========== 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 + }
1619 1619  
1620 -.resources-index-page {
1506 + .split-grid,
1507 + .product-layout,
1508 + .product-feature-grid {
1509 + grid-template-columns: 1fr;
1510 + }
1621 1621  
1622 - .services-grid {
1623 - grid-template-columns: repeat(2, minmax(0, 1fr));
1512 + .split-copy h2,
1513 + .product-summary-card h2 {
1514 + text-align: center;
1624 1624   }
1625 -}
1626 1626  
1627 -@media (max-width: 980px) {
1628 - .resources-index-page {
1629 - .services-grid {
1517 + .homepage-resource-strip {
1518 + .resource-grid {
1630 1630   grid-template-columns: 1fr;
1631 1631   }
1632 1632   }
1633 -}
1634 1634  
1635 -@media (max-width: 767px) {
1636 1636   .resources-index-page {
1637 - padding: @section-padding-mobile;
1524 + .services-grid {
1525 + grid-template-columns: 1fr;
1526 + }
1638 1638   }
1639 1639  }
1640 1640  
1641 -.resource-faq-item {
1642 - border-bottom: 1px solid @line;
1643 - padding: 12px 0;
1644 -
1645 - summary {
1646 - cursor: pointer;
1647 - font-weight: 700;
1648 - color: @text;
1530 +@media (max-width: 900px) {
1531 + .resource-layout {
1532 + padding-top: 22px;
1649 1649   }
1650 1650  
1651 - p {
1652 - margin: 10px 0 4px;
1653 - color: @muted;
1535 + .resource-sidebar {
1536 + float: none;
1537 + width: 100%;
1538 + margin-left: 0;
1539 + margin-bottom: 24px;
1540 + position: static;
1654 1654   }
1655 1655  }
1656 1656  
1657 -/* ========== Global Theme Background ========== */
1544 +@media (max-width: 767px) {
1545 + section[id] {
1546 + scroll-margin-top: 132px;
1547 + }
1658 1658  
1659 -html,
1660 -body {
1661 - min-height: 100%;
1662 -}
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 + }
1663 1663  
1664 -body {
1665 - color: @text;
1666 - background:
1667 - radial-gradient(circle at 12% 8%, rgba(0, 147, 125, 0.08) 0, transparent 26%),
1668 - radial-gradient(circle at 90% 28%, rgba(7, 24, 45, 0.05) 0, transparent 30%),
1669 - linear-gradient(180deg, #fff 0, @brand-bg 42%, #fff 100%) !important;
1670 - background-attachment: fixed;
1671 -}
1558 + .site-nav {
1559 + width: 100%;
1560 + justify-content: center;
1561 + flex-wrap: wrap;
1562 + gap: 10px 16px;
1563 + font-size: 14px;
1672 1672  
1673 -/* ========== Main Page Hero / SaaS Layout ========== */
1565 + .nav-cta {
1566 + padding: 7px 12px;
1567 + }
1568 + }
1674 1674  
1675 -#mainContentArea .hero.hero-saas {
1676 - min-height: auto;
1677 - padding: 60px 0 34px;
1678 - display: flex;
1679 - align-items: center;
1680 - overflow: hidden;
1681 - background: transparent;
1682 -}
1570 + .hero.hero-centered {
1571 + min-height: 280px;
1572 + }
1683 1683  
1684 -#mainContentArea .hero-layout {
1685 - max-width: 1120px;
1686 - margin: 0 auto;
1687 - display: grid;
1688 - grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
1689 - gap: 56px;
1690 - align-items: center;
1691 -}
1574 + .resource-inline-cta {
1575 + display: block;
1576 + text-align: center;
1692 1692  
1693 -#mainContentArea .hero-copy {
1694 - min-width: 0;
1695 - text-align: left;
1696 -}
1578 + p {
1579 + margin-bottom: 14px;
1580 + }
1697 1697  
1698 -#mainContentArea .hero.hero-saas h1 {
1699 - max-width: 640px;
1700 - margin: 0 0 26px;
1701 - font-size: 60px;
1702 - font-weight: 800;
1703 - line-height: 1;
1704 - letter-spacing: -3px;
1705 -}
1582 + .btn {
1583 + display: inline-block;
1584 + margin-left: auto;
1585 + margin-right: auto;
1586 + }
1587 + }
1706 1706  
1707 -#mainContentArea .hero.hero-saas h1 span {
1708 - color: @brand;
1709 -}
1589 + .resource-cta {
1590 + padding: 24px 20px;
1591 + }
1710 1710  
1711 -#mainContentArea .hero.hero-saas .lead {
1712 - max-width: 590px;
1713 - margin: 0 0 28px;
1714 - color: #334155;
1715 - text-align: left;
1716 - font-size: 18px;
1717 - line-height: 1.6;
1593 + .resources-index-page {
1594 + padding: @section-padding-mobile;
1595 + }
1718 1718  }
1719 1719  
1720 -#mainContentArea .hero.hero-saas .benefits {
1721 - max-width: 620px;
1722 - margin: 0 0 30px;
1723 - padding: 0;
1724 - display: grid;
1725 - grid-template-columns: repeat(2, minmax(0, 1fr));
1726 - gap: 10px 24px;
1727 - list-style: none;
1728 - color: #475569;
1729 - font-size: 15px;
1730 - text-align: left;
1731 -}
1598 +@media (max-width: 640px) {
1599 + section {
1600 + padding: @section-padding-mobile;
1601 + }
1732 1732  
1733 -#mainContentArea .hero.hero-saas .benefits li {
1734 - display: grid;
1735 - grid-template-columns: 18px minmax(0, 1fr);
1736 - column-gap: 8px;
1737 - align-items: start;
1738 - margin: 0;
1739 - line-height: 1.45;
1740 -}
1603 + .container {
1604 + padding-left: 18px;
1605 + padding-right: 18px;
1606 + }
1741 1741  
1742 -#mainContentArea .hero.hero-saas .benefits li::before {
1743 - content: "✓";
1744 - display: block;
1745 - width: 18px;
1746 - color: @brand;
1747 - font-weight: 900;
1748 - line-height: 1.45;
1749 - text-align: left;
1750 - margin: 0;
1751 -}
1752 -
1753 -#mainContentArea .hero.hero-saas .hero-actions,
1754 -#mainContentArea .hero.hero-saas #hero-cta {
1755 - display: flex;
1756 - flex-wrap: wrap;
1757 - justify-content: flex-start;
1758 - gap: 12px;
1759 - margin-top: 0;
1760 -}
1761 -
1762 -#mainContentArea .hero-image-wrapper {
1763 - min-width: 0;
1764 - display: flex;
1765 - justify-content: center;
1766 - align-items: center;
1767 -}
1768 -
1769 -#mainContentArea .hero-image {
1770 - display: block;
1771 - width: 100%;
1772 - max-width: 620px;
1773 - height: auto;
1774 - border: 0;
1775 -}
1776 -
1777 -/* ========== Main Page Hero Responsive ========== */
1778 -
1779 -@media (max-width: 1100px) {
1780 - #mainContentArea .hero-layout {
1781 - max-width: 760px;
1608 + .widgets,
1609 + .pathways,
1610 + .services-grid,
1611 + .resource-grid,
1612 + .hero.hero-saas .benefits {
1782 1782   grid-template-columns: 1fr;
1783 - gap: 34px;
1784 1784   }
1785 1785  
1786 - #mainContentArea .hero-copy {
1787 - order: 1;
1788 - 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;
1789 1789   }
1790 1790  
1791 - #mainContentArea .hero-image-wrapper {
1792 - order: 2;
1627 + .services .service {
1628 + gap: 14px;
1793 1793   }
1794 1794  
1795 - #mainContentArea .hero.hero-saas h1 {
1796 - margin-left: auto;
1797 - margin-right: auto;
1798 - text-align: center;
1631 + .cta-panel {
1632 + padding: 24px 20px;
1799 1799   }
1800 1800  
1801 - #mainContentArea .hero.hero-saas .lead {
1802 - margin-left: auto;
1803 - margin-right: auto;
1804 - text-align: center;
1805 - }
1635 + .industry-trust-section {
1636 + .industry-trust-panel {
1637 + padding: 24px 18px;
1638 + }
1806 1806  
1807 - #mainContentArea .hero.hero-saas .benefits {
1808 - margin-left: auto;
1809 - margin-right: auto;
1810 - }
1640 + .industry-tags {
1641 + gap: 8px;
1642 + }
1811 1811  
1812 - #mainContentArea .hero.hero-saas .hero-actions,
1813 - #mainContentArea .hero.hero-saas #hero-cta {
1814 - justify-content: center;
1644 + .industry-tags span {
1645 + font-size: 12px;
1646 + padding: 6px 10px;
1647 + }
1815 1815   }
1816 1816  
1817 - #mainContentArea .hero-image {
1818 - max-width: 620px;
1650 + .homepage-resource-strip {
1651 + .resource-card {
1652 + padding: 22px;
1653 + }
1654 +
1655 + .resource-card h4 {
1656 + font-size: 19px;
1657 + }
1819 1819   }
1820 -}
1821 1821  
1822 -@media (max-width: 640px) {
1823 - #mainContentArea .hero.hero-saas {
1660 + .hero.hero-saas {
1824 1824   padding: 42px 0 28px;
1825 1825   }
1826 1826  
1827 - #mainContentArea .hero-layout {
1828 - gap: 28px;
1829 - }
1830 -
1831 - #mainContentArea .hero.hero-saas h1 {
1664 + .hero.hero-saas h1 {
1832 1832   font-size: 42px;
1833 1833   letter-spacing: -1.5px;
1834 1834   }
1835 1835  
1836 - #mainContentArea .hero.hero-saas .lead {
1669 + .hero.hero-saas .lead {
1837 1837   font-size: 17px;
1838 1838   }
1839 1839  
1840 - #mainContentArea .hero.hero-saas .benefits {
1841 - grid-template-columns: 1fr;
1673 + .hero-layout {
1674 + gap: 28px;
1842 1842   }
1843 1843  
1844 - #mainContentArea .hero-image {
1677 + .hero-image {
1845 1845   max-width: 100%;
1846 1846   }
1847 -}
1848 1848  
1849 -/* ========== Accessibility / Contrast Improvements ========== */
1681 + .hero .benefits {
1682 + gap: 4px 10px;
1683 + }
1850 1850  
1851 -/* Keep the article area readable while preserving the page background around it. */
1852 -/*#mainContentArea .resource-layout {
1853 - padding: 28px;
1854 - border: 1px solid fade(@line, 85%);
1855 - border-radius: @radius;
1856 - background: rgba(255, 255, 255, .88);
1857 - box-shadow: @shadow-sm;
1858 -}*/
1685 + .product-card {
1686 + grid-template-columns: 1fr;
1687 + padding: 26px 22px;
1688 + text-align: left;
1859 1859  
1860 -/* Ensure all reusable cards have a real surface, not transparent over the gradient. */
1861 -#mainContentArea .widget,
1862 -#mainContentArea .pathway-card,
1863 -#mainContentArea .service-card,
1864 -#mainContentArea .resource-card,
1865 -#mainContentArea .services .service,
1866 -#mainContentArea .product-card,
1867 -#mainContentArea .product-feature,
1868 -#mainContentArea .product-summary-card,
1869 -#mainContentArea .product-info-card {
1870 - background: #fff;
1871 -}
1690 + &:before {
1691 + width: 4px;
1692 + }
1872 1872  
1873 -/* Make notes more readable and visually stronger. */
1874 -#mainContentArea .resource-note {
1875 - border: 1px solid fade(@brand, 18%);
1876 - border-left: 4px solid @brand;
1877 - background: #fff;
1878 - box-shadow: 0 10px 28px rgba(15, 23, 42, .045);
1879 -}
1694 + .product-card-icon {
1695 + margin-bottom: 2px;
1696 + }
1880 1880  
1881 -/* Keep the sidebar clearly separated from the background. */
1882 -#mainContentArea .resource-sidebar {
1883 - background: #fff;
1884 -}
1698 + h3 {
1699 + font-size: 22px;
1700 + }
1701 + }
1885 1885  
1886 -/* Make CTA panels stand out more clearly. */
1887 -#mainContentArea .resource-cta,
1888 -#mainContentArea .resource-inline-cta {
1889 - background: #fff;
1890 -}
1703 + .product-card-actions {
1704 + gap: 12px;
1705 + }
1891 1891  
1892 -/* Improve table readability on long resource pages. */
1893 -#mainContentArea .resource-content table {
1894 - background: #fff;
1895 -}
1707 + .product-feature {
1708 + .card-heading,
1709 + .feature-heading {
1710 + gap: 12px;
1711 + }
1896 1896  
1897 -#mainContentArea .resource-content table th {
1898 - color: @text;
1899 - background: #F8FAFC;
1900 -}
1713 + .feature-icon {
1714 + width: 42px;
1715 + height: 42px;
1716 + font-size: 16px;
1717 + }
1718 + }
1901 1901  
1902 -#mainContentArea .resource-content table td {
1903 - color: @text-soft;
1904 -}
1720 + .gallery.xGallery {
1721 + width: 100%;
1722 + height: 56vw;
1723 + max-height: 360px;
1724 + margin-top: 22px !important;
1725 + }
1905 1905  
1906 -/* Slightly improve paragraph/list contrast in long articles. */
1907 -#mainContentArea .resource-content p,
1908 -#mainContentArea .resource-content li {
1909 - color: @text-soft;
1910 -}
1911 -
1912 -#mainContentArea .resource-content .resource-note p,
1913 -#mainContentArea .resource-content .resource-checklist li,
1914 -#mainContentArea .resource-content .process-list li {
1915 - color: @muted;
1916 -}
1917 -
1918 -@media (max-width: 900px) {
1919 - #mainContentArea .resource-layout {
1920 - padding: 22px;
1727 + .product-gallery-caption {
1728 + margin-top: 10px;
1729 + padding: 0 14px;
1921 1921   }
1922 -}
1923 1923  
1924 -@media (max-width: 640px) {
1925 - #mainContentArea .resource-layout {
1926 - padding: 18px;
1927 - border-radius: 14px;
1732 + .product-summary-card .process-list li {
1733 + padding-left: 46px;
1928 1928   }
1929 1929  }
1930 -
1931 -