Changes for page Public Web Site

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

From version 28.37
edited by Agnease
on 2026/07/03 14:12
Change comment: There is no comment for this version
To version 26.5
edited by Agnease
on 2026/07/01 17:08
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="$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 + />
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,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 - overflow: visible; /* allow pseudo-element to escape */
255 - padding: 54px 0;
256 - border-top: 0;
257 - 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 +}
258 258  
259 - /* Remove gradient from here */
260 - 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;
261 261  }
262 262  
263 -/* Full‑bleed gradient background */
264 -.contrast-band::before {
265 - border: 2px solid red;
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,378 +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 -#mainContentArea {
1674 - padding: 0;
1675 - overflow-x: hidden;
1676 -}
1565 + .nav-cta {
1566 + padding: 7px 12px;
1567 + }
1568 + }
1677 1677  
1678 -/* ========== Main Page Hero / SaaS Layout ========== */
1570 + .hero.hero-centered {
1571 + min-height: 280px;
1572 + }
1679 1679  
1680 -#mainContentArea .hero.hero-saas {
1681 - min-height: auto;
1682 - padding: 60px 0 34px;
1683 - display: flex;
1684 - align-items: center;
1685 - overflow: hidden;
1686 - background: transparent;
1687 -}
1574 + .resource-inline-cta {
1575 + display: block;
1576 + text-align: center;
1688 1688  
1689 -#mainContentArea .hero-layout {
1690 - max-width: 1120px;
1691 - margin: 0 auto;
1692 - display: grid;
1693 - grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
1694 - gap: 56px;
1695 - align-items: center;
1696 -}
1578 + p {
1579 + margin-bottom: 14px;
1580 + }
1697 1697  
1698 -#mainContentArea .hero-copy {
1699 - min-width: 0;
1700 - text-align: left;
1701 -}
1582 + .btn {
1583 + display: inline-block;
1584 + margin-left: auto;
1585 + margin-right: auto;
1586 + }
1587 + }
1702 1702  
1703 -#mainContentArea .hero.hero-saas h1 {
1704 - max-width: 640px;
1705 - margin: 0 0 26px;
1706 - font-size: 60px;
1707 - font-weight: 800;
1708 - line-height: 1;
1709 - letter-spacing: -3px;
1710 -}
1589 + .resource-cta {
1590 + padding: 24px 20px;
1591 + }
1711 1711  
1712 -#mainContentArea .hero.hero-saas h1 span {
1713 - color: @brand;
1593 + .resources-index-page {
1594 + padding: @section-padding-mobile;
1595 + }
1714 1714  }
1715 1715  
1716 -#mainContentArea .hero.hero-saas .lead {
1717 - max-width: 590px;
1718 - margin: 0 0 28px;
1719 - color: #334155;
1720 - text-align: left;
1721 - font-size: 18px;
1722 - line-height: 1.6;
1723 -}
1598 +@media (max-width: 640px) {
1599 + section {
1600 + padding: @section-padding-mobile;
1601 + }
1724 1724  
1725 -#mainContentArea .hero.hero-saas .benefits {
1726 - max-width: 620px;
1727 - margin: 0 0 30px;
1728 - padding: 0;
1729 - display: grid;
1730 - grid-template-columns: repeat(2, minmax(0, 1fr));
1731 - gap: 10px 24px;
1732 - list-style: none;
1733 - color: #475569;
1734 - font-size: 15px;
1735 - text-align: left;
1736 -}
1603 + .container {
1604 + padding-left: 18px;
1605 + padding-right: 18px;
1606 + }
1737 1737  
1738 -#mainContentArea .hero.hero-saas .benefits li {
1739 - display: grid;
1740 - grid-template-columns: 18px minmax(0, 1fr);
1741 - column-gap: 8px;
1742 - align-items: start;
1743 - margin: 0;
1744 - line-height: 1.45;
1745 -}
1746 -
1747 -#mainContentArea .hero.hero-saas .benefits li::before {
1748 - content: "✓";
1749 - display: block;
1750 - width: 18px;
1751 - color: @brand;
1752 - font-weight: 900;
1753 - line-height: 1.45;
1754 - text-align: left;
1755 - margin: 0;
1756 -}
1757 -
1758 -#mainContentArea .hero.hero-saas .hero-actions,
1759 -#mainContentArea .hero.hero-saas #hero-cta {
1760 - display: flex;
1761 - flex-wrap: wrap;
1762 - justify-content: flex-start;
1763 - gap: 12px;
1764 - margin-top: 0;
1765 -}
1766 -
1767 -#mainContentArea .hero-image-wrapper {
1768 - min-width: 0;
1769 - display: flex;
1770 - justify-content: center;
1771 - align-items: center;
1772 -}
1773 -
1774 -#mainContentArea .hero-image {
1775 - display: block;
1776 - width: 100%;
1777 - max-width: 620px;
1778 - height: auto;
1779 - border: 0;
1780 -}
1781 -
1782 -/* ========== Main Page Hero Responsive ========== */
1783 -
1784 -@media (max-width: 1100px) {
1785 - #mainContentArea .hero-layout {
1786 - max-width: 760px;
1608 + .widgets,
1609 + .pathways,
1610 + .services-grid,
1611 + .resource-grid,
1612 + .hero.hero-saas .benefits {
1787 1787   grid-template-columns: 1fr;
1788 - gap: 34px;
1789 1789   }
1790 1790  
1791 - #mainContentArea .hero-copy {
1792 - order: 1;
1793 - 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;
1794 1794   }
1795 1795  
1796 - #mainContentArea .hero-image-wrapper {
1797 - order: 2;
1627 + .services .service {
1628 + gap: 14px;
1798 1798   }
1799 1799  
1800 - #mainContentArea .hero.hero-saas h1 {
1801 - margin-left: auto;
1802 - margin-right: auto;
1803 - text-align: center;
1631 + .cta-panel {
1632 + padding: 24px 20px;
1804 1804   }
1805 1805  
1806 - #mainContentArea .hero.hero-saas .lead {
1807 - margin-left: auto;
1808 - margin-right: auto;
1809 - text-align: center;
1810 - }
1635 + .industry-trust-section {
1636 + .industry-trust-panel {
1637 + padding: 24px 18px;
1638 + }
1811 1811  
1812 - #mainContentArea .hero.hero-saas .benefits {
1813 - margin-left: auto;
1814 - margin-right: auto;
1815 - }
1640 + .industry-tags {
1641 + gap: 8px;
1642 + }
1816 1816  
1817 - #mainContentArea .hero.hero-saas .hero-actions,
1818 - #mainContentArea .hero.hero-saas #hero-cta {
1819 - justify-content: center;
1644 + .industry-tags span {
1645 + font-size: 12px;
1646 + padding: 6px 10px;
1647 + }
1820 1820   }
1821 1821  
1822 - #mainContentArea .hero-image {
1823 - max-width: 620px;
1650 + .homepage-resource-strip {
1651 + .resource-card {
1652 + padding: 22px;
1653 + }
1654 +
1655 + .resource-card h4 {
1656 + font-size: 19px;
1657 + }
1824 1824   }
1825 -}
1826 1826  
1827 -@media (max-width: 640px) {
1828 - #mainContentArea .hero.hero-saas {
1660 + .hero.hero-saas {
1829 1829   padding: 42px 0 28px;
1830 1830   }
1831 1831  
1832 - #mainContentArea .hero-layout {
1833 - gap: 28px;
1834 - }
1835 -
1836 - #mainContentArea .hero.hero-saas h1 {
1664 + .hero.hero-saas h1 {
1837 1837   font-size: 42px;
1838 1838   letter-spacing: -1.5px;
1839 1839   }
1840 1840  
1841 - #mainContentArea .hero.hero-saas .lead {
1669 + .hero.hero-saas .lead {
1842 1842   font-size: 17px;
1843 1843   }
1844 1844  
1845 - #mainContentArea .hero.hero-saas .benefits {
1846 - grid-template-columns: 1fr;
1673 + .hero-layout {
1674 + gap: 28px;
1847 1847   }
1848 1848  
1849 - #mainContentArea .hero-image {
1677 + .hero-image {
1850 1850   max-width: 100%;
1851 1851   }
1852 -}
1853 1853  
1854 -/* ========== Accessibility / Contrast Improvements ========== */
1681 + .hero .benefits {
1682 + gap: 4px 10px;
1683 + }
1855 1855  
1856 -/* Keep the article area readable while preserving the page background around it. */
1857 -/*#mainContentArea .resource-layout {
1858 - padding: 28px;
1859 - border: 1px solid fade(@line, 85%);
1860 - border-radius: @radius;
1861 - background: rgba(255, 255, 255, .88);
1862 - box-shadow: @shadow-sm;
1863 -}*/
1685 + .product-card {
1686 + grid-template-columns: 1fr;
1687 + padding: 26px 22px;
1688 + text-align: left;
1864 1864  
1865 -/* Ensure all reusable cards have a real surface, not transparent over the gradient. */
1866 -#mainContentArea .widget,
1867 -#mainContentArea .pathway-card,
1868 -#mainContentArea .service-card,
1869 -#mainContentArea .resource-card,
1870 -#mainContentArea .services .service,
1871 -#mainContentArea .product-card,
1872 -#mainContentArea .product-feature,
1873 -#mainContentArea .product-summary-card,
1874 -#mainContentArea .product-info-card {
1875 - background: #fff;
1876 -}
1690 + &:before {
1691 + width: 4px;
1692 + }
1877 1877  
1878 -/* Make notes more readable and visually stronger. */
1879 -#mainContentArea .resource-note {
1880 - border: 1px solid fade(@brand, 18%);
1881 - border-left: 4px solid @brand;
1882 - background: #fff;
1883 - box-shadow: 0 10px 28px rgba(15, 23, 42, .045);
1884 -}
1694 + .product-card-icon {
1695 + margin-bottom: 2px;
1696 + }
1885 1885  
1886 -/* Keep the sidebar clearly separated from the background. */
1887 -#mainContentArea .resource-sidebar {
1888 - background: #fff;
1889 -}
1698 + h3 {
1699 + font-size: 22px;
1700 + }
1701 + }
1890 1890  
1891 -/* Make CTA panels stand out more clearly. */
1892 -#mainContentArea .resource-cta,
1893 -#mainContentArea .resource-inline-cta {
1894 - background: #fff;
1895 -}
1703 + .product-card-actions {
1704 + gap: 12px;
1705 + }
1896 1896  
1897 -/* Improve table readability on long resource pages. */
1898 -#mainContentArea .resource-content table {
1899 - background: #fff;
1900 -}
1707 + .product-feature {
1708 + .card-heading,
1709 + .feature-heading {
1710 + gap: 12px;
1711 + }
1901 1901  
1902 -#mainContentArea .resource-content table th {
1903 - color: @text;
1904 - background: #F8FAFC;
1905 -}
1713 + .feature-icon {
1714 + width: 42px;
1715 + height: 42px;
1716 + font-size: 16px;
1717 + }
1718 + }
1906 1906  
1907 -#mainContentArea .resource-content table td {
1908 - color: @text-soft;
1909 -}
1720 + .gallery.xGallery {
1721 + width: 100%;
1722 + height: 56vw;
1723 + max-height: 360px;
1724 + margin-top: 22px !important;
1725 + }
1910 1910  
1911 -/* Slightly improve paragraph/list contrast in long articles. */
1912 -#mainContentArea .resource-content p,
1913 -#mainContentArea .resource-content li {
1914 - color: @text-soft;
1915 -}
1916 -
1917 -#mainContentArea .resource-content .resource-note p,
1918 -#mainContentArea .resource-content .resource-checklist li,
1919 -#mainContentArea .resource-content .process-list li {
1920 - color: @muted;
1921 -}
1922 -
1923 -@media (max-width: 900px) {
1924 - #mainContentArea .resource-layout {
1925 - padding: 22px;
1727 + .product-gallery-caption {
1728 + margin-top: 10px;
1729 + padding: 0 14px;
1926 1926   }
1927 -}
1928 1928  
1929 -@media (max-width: 640px) {
1930 - #mainContentArea .resource-layout {
1931 - padding: 18px;
1932 - border-radius: 14px;
1732 + .product-summary-card .process-list li {
1733 + padding-left: 46px;
1933 1933   }
1934 1934  }
1935 -
1936 -