Changes for page Public Web Site

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

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