Changes for page Public Web Site

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

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