Changes for page Public Web Site

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

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

Summary

Details

Page properties
Content
... ... @@ -2,44 +2,44 @@
2 2  #macro (displayPublicContent)
3 3   #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome'))
4 4   {{html clean="false"}}
5 - <section class="hero hero-saas" id="top">
6 - <div class="container">
7 - <div class="hero-layout">
8 - <div class="hero-copy">
9 - <h1>Professional XWiki consulting <span>and engineering</span></h1>
5 + <section class="hero hero-saas" id="top">
6 + <div class="container">
7 + <div class="hero-layout">
8 + <div class="hero-copy">
9 + <h1>Professional XWiki consulting <span>and engineering</span></h1>
10 10  
11 - <p class="lead">
12 - Agnease helps organizations upgrade, maintain, secure and extend production XWiki platforms with practical engineering support, custom development, integrations and long-term care.
13 - </p>
11 + <p class="lead">
12 + Agnease helps organizations upgrade, maintain, secure and extend production XWiki platforms with practical engineering support, custom development, integrations and long-term care.
13 + </p>
14 14  
15 - <ul class="benefits">
16 - <li>XWiki LTS upgrades</li>
17 - <li>Maintenance and support</li>
18 - <li>Custom XWiki development</li>
19 - <li>Migrations and integrations</li>
20 - </ul>
15 + <ul class="benefits">
16 + <li>XWiki LTS upgrades</li>
17 + <li>Maintenance and support</li>
18 + <li>Custom XWiki development</li>
19 + <li>Migrations and integrations</li>
20 + </ul>
21 21  
22 - <div class="hero-actions" id="hero-cta">
23 - <a class="btn btn-primary" href="https://calendly.com/alex-agnease/30min?back=1&month=2026-06">
24 - Book a free discussion
25 - </a>
26 - <a class="btn btn-secondary" href="$xwiki.getURL('services.WebHome')">View XWiki services</a>
27 - </div>
22 + <div class="hero-actions" id="hero-cta">
23 + <a class="btn btn-primary" href="https://calendly.com/alex-agnease/30min?back=1&month=2026-06">
24 + Book a free discussion
25 + </a>
26 + <a class="btn btn-secondary" href="$xwiki.getURL('services.WebHome')">View XWiki services</a>
28 28   </div>
28 + </div>
29 29  
30 - <div class="hero-image-wrapper">
31 - <img
32 - class="hero-image"
33 - src="$xwiki.getDocument('PublicWebSite.WebHome').getAttachmentURL('agnease-xwiki-hero.png')"
34 - alt="Illustration of a professional XWiki platform dashboard with upgrade, security and maintenance elements"
35 - width="1200"
36 - height="900"
37 - loading="eager"
38 - />
39 - </div>
30 + <div class="hero-image-wrapper">
31 + <img
32 + class="hero-image"
33 + src="$doc.getAttachmentURL('agnease-xwiki-hero.png')"
34 + alt="Illustration of a professional XWiki platform dashboard with upgrade, security and maintenance elements"
35 + width="1200"
36 + height="900"
37 + loading="eager"
38 + />
40 40   </div>
41 41   </div>
42 - </section>
41 + </div>
42 + </section>
43 43  #*
44 44   <section class="hero hero-centered" aria-labelledby="hero-title">
45 45   <div class="container hero-inner">
... ... @@ -149,9 +149,9 @@
149 149   </div>
150 150   </section>
151 151  
152 - <section class="contrast-band" aria-labelledby="industry-trust-title">
152 + <section class="industry-trust-section" aria-labelledby="industry-trust-title">
153 153   <div class="container">
154 - <div class="contrast-panel">
154 + <div class="industry-trust-panel">
155 155   <h2 id="industry-trust-title">Trusted XWiki expertise for business-critical platforms</h2>
156 156  
157 157   <p class="section-intro">
... ... @@ -159,7 +159,7 @@
159 159   government institutions, transportation, software development, compliance programs and regulated environments.
160 160   </p>
161 161  
162 - <div class="contrast-tags" aria-label="Industries and environments supported">
162 + <div class="industry-tags" aria-label="Industries and environments supported">
163 163   <span>Healthcare</span>
164 164   <span>Financial services</span>
165 165   <span>Scientific research</span>
... ... @@ -170,7 +170,7 @@
170 170   <span>Regulated environments</span>
171 171   </div>
172 172  
173 - <p class="contrast-support">
173 + <p class="industry-support">
174 174   Organizations rely on these platforms to manage documentation, workflows, compliance processes,
175 175   research knowledge and critical business information. From upgrades and authentication integrations
176 176   to workflow systems and long-term maintenance, Agnease helps keep XWiki secure, stable and ready for the future.
XWiki.StyleSheetExtension[0]
code
... ... @@ -1,20 +1,8 @@
1 1  /* ========== Agnease Public Website ========== */
2 -/*
2 +
3 3  @brand: #00937D;
4 4  @brand-strong: #007B6A;
5 5  @brand-soft: #E7FFF8;
6 -@brand-bg: #F4FCFA;
7 -@text: #2D3A34;
8 -@muted: #5B6B64;
9 -@line: #E4ECE9;
10 -@radius: 16px;
11 -@shadow-sm: 0 6px 20px rgba(0, 0, 0, .06);
12 -@shadow: 0 12px 36px rgba(0, 0, 0, .08);
13 -@maxw: 1140px;
14 -*/
15 -@brand: #00937D;
16 -@brand-strong: #007B6A;
17 -@brand-soft: #E7FFF8;
18 18  @brand-bg: #F7F9FC;
19 19  @text: #07182D;
20 20  @text-soft: #10243D;
... ... @@ -23,32 +23,50 @@
23 23  @radius: 18px;
24 24  @shadow-sm: 0 18px 45px rgba(15, 23, 42, .06);
25 25  @shadow: 0 30px 80px rgba(15, 23, 42, .12);
26 -@maxw: 1140px;
14 +@maxw: 1240px;
27 27  
28 -@section-padding: 30px 0;
29 -@section-padding-mobile: 28px 0;
16 +@section-padding: 42px 0;
17 +@section-padding-mobile: 34px 0;
30 30  
31 31  /* ========== Base ========== */
32 32  
21 +html {
22 + min-height: 100%;
23 + scroll-behavior: smooth;
24 +}
25 +
26 +body {
27 + min-height: 100%;
28 + color: @text;
29 + overflow-x: hidden;
30 + background:
31 + radial-gradient(circle at 12% 8%, rgba(0, 147, 125, 0.08) 0, transparent 26%),
32 + radial-gradient(circle at 90% 28%, rgba(7, 24, 45, 0.05) 0, transparent 30%),
33 + linear-gradient(180deg, #fff 0, @brand-bg 42%, #fff 100%) !important;
34 + background-attachment: fixed;
35 +}
36 +
33 33  #mainContentArea {
34 - padding: 0;
38 + padding: 0 !important;
39 + overflow-x: hidden;
40 + background: transparent !important;
41 + background-image: none !important;
35 35  }
36 36  
37 37  .container {
45 + width: 100%;
38 38   max-width: @maxw;
39 39   margin-left: auto;
40 40   margin-right: auto;
41 - padding-left: 18px;
42 - padding-right: 18px;
49 + padding-left: 24px;
50 + padding-right: 24px;
51 + box-sizing: border-box;
43 43  }
44 44  
45 -html {
46 - scroll-behavior: smooth;
47 -}
48 -
49 49  section {
50 50   padding: @section-padding;
51 - border-top: 1px solid @line;
56 + border-top: 1px solid fade(@line, 65%);
57 + background: transparent;
52 52  
53 53   &:first-of-type {
54 54   border-top: none;
... ... @@ -67,8 +67,10 @@
67 67  }
68 68  
69 69  h2 {
76 + max-width: 820px;
77 + margin: 0 auto 12px;
70 70   text-align: center;
71 - margin-top: 0;
79 + line-height: 1.24;
72 72  }
73 73  
74 74  .lead {
... ... @@ -79,11 +79,11 @@
79 79  
80 80  .section-intro {
81 81   max-width: 760px;
82 - margin: 0 auto 22px;
83 - text-align: center;
90 + margin: 0 auto 24px;
84 84   color: @muted;
92 + text-align: center;
85 85   font-size: 16px;
86 - line-height: 1.55;
94 + line-height: 1.6;
87 87  }
88 88  
89 89  a {
... ... @@ -95,15 +95,42 @@
95 95   }
96 96  }
97 97  
98 -/* ========== Header / Navigation ========== */
106 +/* ========== XWiki / Bootstrap Header Override ========== */
99 99  
108 +.navbar-default {
109 + background: fade(#fff, 72%) !important;
110 + background-image: none !important;
111 + border-color: fade(@line, 70%) !important;
112 + box-shadow: none !important;
113 + backdrop-filter: blur(14px);
114 +}
115 +
116 +.navbar-default .navbar-collapse,
117 +.navbar-default .navbar-form {
118 + border-color: fade(@line, 70%) !important;
119 +}
120 +
121 +.navbar-default .navbar-nav > li > a,
122 +.navbar-default .navbar-brand {
123 + color: @text !important;
124 +}
125 +
126 +.navbar-default .navbar-nav > li > a:hover,
127 +.navbar-default .navbar-nav > li > a:focus,
128 +.navbar-default .navbar-brand:hover,
129 +.navbar-default .navbar-brand:focus {
130 + color: @brand !important;
131 +}
132 +
133 +/* ========== Optional Custom Header / Navigation ========== */
134 +
100 100  .site-header {
101 101   position: sticky;
102 102   top: 0;
103 103   z-index: 1000;
104 - background: fade(#fff, 96%);
105 - border-bottom: 1px solid fade(@line, 85%);
106 - backdrop-filter: blur(8px);
139 + background: fade(#fff, 72%);
140 + border-bottom: 1px solid fade(@line, 70%);
141 + backdrop-filter: blur(14px);
107 107  }
108 108  
109 109  .header-inner {
... ... @@ -123,7 +123,7 @@
123 123   a {
124 124   color: @text;
125 125   text-decoration: none;
126 - font-weight: 600;
161 + font-weight: 700;
127 127  
128 128   &:hover,
129 129   &:focus {
... ... @@ -134,16 +134,16 @@
134 134  
135 135   .nav-cta {
136 136   color: #fff;
137 - background: @brand;
138 - border: 1px solid @brand;
139 - border-radius: 6px;
172 + background: @text;
173 + border: 1px solid @text;
174 + border-radius: 10px;
140 140   padding: 8px 14px;
141 141  
142 142   &:hover,
143 143   &:focus {
144 144   color: #fff;
145 - background: @brand-strong;
146 - border-color: @brand-strong;
180 + background: @text-soft;
181 + border-color: @text-soft;
147 147   }
148 148   }
149 149  }
... ... @@ -150,24 +150,44 @@
150 150  
151 151  /* ========== Buttons ========== */
152 152  
153 -/*.btn-primary {
154 - background: @brand;
155 - border-color: @brand;
188 +.btn-primary,
189 +.btn-secondary {
190 + display: inline-flex;
191 + align-items: center;
192 + justify-content: center;
193 + min-height: 40px;
194 + padding: 9px 16px;
195 + border-radius: 10px;
196 + font-weight: 800;
197 + text-decoration: none;
198 +}
199 +
200 +.btn-primary {
201 + background: @text;
202 + border-color: @text;
156 156   color: #fff;
157 157  
158 158   &:hover,
159 159   &:focus {
160 - background: @brand-strong;
161 - border-color: @brand-strong;
207 + background: @text-soft;
208 + border-color: @text-soft;
162 162   color: #fff;
210 + text-decoration: none;
163 163   }
164 164  }
165 -*/
213 +
166 166  .btn-secondary {
167 167   color: @text;
168 168   background: #fff;
169 - border: 1px solid fade(@text, 35%);
217 + border: 1px solid fade(@text, 24%);
170 170  
219 + &:hover,
220 + &:focus {
221 + color: @text;
222 + background: #F8FAFC;
223 + border-color: fade(@text, 42%);
224 + text-decoration: none;
225 + }
171 171  }
172 172  
173 173  /* ========== Hero ========== */
... ... @@ -174,15 +174,14 @@
174 174  
175 175  .hero {
176 176   overflow: hidden;
177 - background-repeat: no-repeat;
178 - background-attachment: scroll;
232 + background: transparent;
179 179  
180 180   &.hero-centered {
181 - text-align: center;
235 + min-height: 330px;
182 182   display: flex;
183 183   align-items: center;
184 184   justify-content: center;
185 - min-height: 330px;
239 + text-align: center;
186 186   }
187 187  
188 188   .hero-inner {
... ... @@ -202,9 +202,9 @@
202 202  
203 203   .lead {
204 204   max-width: 820px;
259 + margin-top: 12px;
205 205   font-size: 19px;
206 206   line-height: 1.55;
207 - margin-top: 12px;
208 208   }
209 209  
210 210   .benefits {
... ... @@ -228,14 +228,15 @@
228 228   display: inline-flex;
229 229   align-items: center;
230 230   gap: 8px;
231 - color: @brand;
285 + width: fit-content;
286 + color: @brand-strong;
232 232   background: fade(@brand, 8%);
233 - border: 1px solid fade(@brand, 18%);
288 + border: 1px solid fade(@brand, 22%);
234 234   border-radius: 999px;
235 235   padding: 6px 12px;
236 236   margin-bottom: 14px;
237 237   font-size: 13px;
238 - font-weight: 700;
293 + font-weight: 800;
239 239  }
240 240  
241 241  .hero-actions,
... ... @@ -247,123 +247,136 @@
247 247   margin-top: 22px;
248 248  }
249 249  
250 -/* ========== Contrast Band ========== */
305 +/* ========== SaaS Hero With Attached Image ========== */
251 251  
252 -.contrast-band {
253 - position: relative;
254 - overflow: visible;
255 - isolation: isolate;
256 - padding: 54px 0;
257 - border-top: 0;
258 - color: #fff;
307 +.hero.hero-saas {
308 + min-height: auto;
309 + padding: 60px 0 34px;
310 + display: flex;
311 + align-items: center;
259 259   background: transparent;
260 260  }
261 261  
262 -.contrast-band::before {
263 - content: "";
264 - position: absolute;
265 - top: 0;
266 - bottom: 0;
267 - left: 50%;
268 - width: 100vw;
269 - transform: translateX(-50%);
270 - z-index: -2;
271 - background:
272 - radial-gradient(circle at 18% 18%, fade(@brand, 22%) 0%, transparent 28%),
273 - radial-gradient(circle at 86% 12%, fade(@brand, 16%) 0%, transparent 30%),
274 - linear-gradient(135deg, @text 0%, @text-soft 100%);
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;
275 275  }
276 276  
277 -.contrast-band::after {
278 - content: "";
279 - position: absolute;
280 - top: 0;
281 - bottom: 0;
282 - left: 50%;
283 - width: 100vw;
284 - transform: translateX(-50%);
285 - z-index: -1;
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;
324 +.hero-copy {
325 + min-width: 0;
326 + text-align: left;
292 292  }
293 293  
294 -.contrast-band .container {
295 - position: relative;
296 - z-index: 1;
329 +.hero.hero-saas h1 {
330 + max-width: 640px;
331 + margin: 0 0 26px;
332 + font-size: 60px;
333 + font-weight: 800;
334 + line-height: 1;
335 + letter-spacing: -3px;
297 297  }
298 298  
299 -.contrast-panel {
300 - max-width: 1040px;
301 - margin: 0 auto;
302 - text-align: center;
338 +.hero.hero-saas h1 span {
339 + color: @brand;
303 303  }
304 304  
305 -.contrast-band h2 {
306 - max-width: 860px;
307 - margin: 0 auto 12px;
308 - color: #fff;
342 +.hero.hero-saas .lead {
343 + max-width: 590px;
344 + margin: 0 0 28px;
345 + color: #334155;
346 + text-align: left;
347 + font-size: 18px;
348 + line-height: 1.6;
309 309  }
310 310  
311 -.contrast-band .section-intro {
312 - max-width: 840px;
313 - margin: 0 auto 26px;
314 - color: #D9E3EE;
351 +.hero.hero-saas .benefits {
352 + max-width: 620px;
353 + margin: 0 0 30px;
354 + padding: 0;
355 + display: grid;
356 + grid-template-columns: repeat(2, minmax(0, 1fr));
357 + gap: 10px 24px;
358 + list-style: none;
359 + color: #475569;
360 + font-size: 15px;
361 + text-align: left;
315 315  }
316 316  
317 -.contrast-tags {
318 - max-width: 940px;
319 - margin: 0 auto;
320 - display: flex;
321 - flex-wrap: wrap;
322 - justify-content: center;
323 - gap: 10px;
364 +.hero.hero-saas .benefits li {
365 + display: grid;
366 + grid-template-columns: 18px minmax(0, 1fr);
367 + column-gap: 8px;
368 + align-items: start;
369 + margin: 0;
370 + line-height: 1.45;
324 324  }
325 325  
326 -.contrast-tags span {
327 - display: inline-flex;
328 - align-items: center;
329 - padding: 8px 13px;
330 - border: 1px solid fade(#fff, 18%);
331 - border-radius: 999px;
332 - background: fade(#fff, 8%);
333 - color: #F8FAFC;
334 - font-size: 13px;
335 - font-weight: 700;
336 - line-height: 1.2;
373 +.hero.hero-saas .benefits li::before {
374 + content: "✓";
375 + display: block;
376 + width: 18px;
377 + color: @brand;
378 + font-weight: 900;
379 + line-height: 1.45;
380 + text-align: left;
381 + margin: 0;
337 337  }
338 338  
339 -.contrast-tags span::before {
340 - content: "";
341 - width: 7px;
342 - height: 7px;
343 - margin-right: 8px;
344 - border-radius: 50%;
345 - background: @brand;
346 - box-shadow: 0 0 0 4px fade(@brand, 18%);
384 +.hero.hero-saas .hero-actions,
385 +.hero.hero-saas #hero-cta {
386 + justify-content: flex-start;
387 + margin-top: 0;
347 347  }
348 348  
349 -.contrast-support {
350 - max-width: 860px;
351 - margin: 30px auto 0;
352 - color: #D9E3EE;
353 - text-align: center;
354 - font-size: 15px;
355 - line-height: 1.7;
390 +.hero-image-wrapper {
391 + min-width: 0;
392 + display: flex;
393 + justify-content: center;
394 + align-items: center;
356 356  }
357 357  
358 -@media (max-width: 640px) {
359 - .contrast-band {
360 - padding: 40px 0;
397 +.hero-image {
398 + display: block;
399 + width: 100%;
400 + max-width: 620px;
401 + height: auto;
402 + border: 0;
403 +}
404 +
405 +/* ========== Trust Strip ========== */
406 +
407 +.trust-strip {
408 + padding: 18px 0;
409 + border-top: 1px solid fade(@line, 70%);
410 + border-bottom: 1px solid fade(@line, 70%);
411 + background: transparent;
412 +
413 + ul {
414 + max-width: 960px;
415 + margin: 0 auto;
416 + padding: 0 24px;
417 + list-style: none;
418 + display: flex;
419 + justify-content: center;
420 + gap: 22px;
421 + flex-wrap: wrap;
422 + color: @muted;
423 + font-size: 13px;
361 361   }
362 362  
363 - .contrast-tags span {
364 - font-size: 12px;
365 - padding: 8px 11px;
426 + li {
427 + display: flex;
428 + align-items: center;
429 + gap: 7px;
366 366   }
431 +
432 + i {
433 + color: @brand;
434 + }
367 367  }
368 368  
369 369  /* ========== Reusable Grids ========== */
... ... @@ -374,7 +374,7 @@
374 374  .resource-grid,
375 375  .widgets {
376 376   display: grid;
377 - grid-gap: 18px;
445 + grid-gap: 22px;
378 378   margin-left: auto;
379 379   margin-right: auto;
380 380  }
... ... @@ -384,19 +384,19 @@
384 384  .services-grid {
385 385   grid-template-columns: repeat(3, minmax(0, 1fr));
386 386   max-width: 1040px;
387 - margin-top: 22px;
455 + margin-top: 24px;
388 388  }
389 389  
390 390  .resource-grid {
391 391   grid-template-columns: repeat(2, minmax(0, 1fr));
392 392   max-width: 1040px;
393 - margin-top: 22px;
461 + margin-top: 24px;
394 394  }
395 395  
396 396  .widgets {
397 397   grid-template-columns: repeat(4, minmax(0, 1fr));
398 398   max-width: 1040px;
399 - margin-top: 20px;
467 + margin-top: 22px;
400 400  }
401 401  
402 402  .card-grid > *,
... ... @@ -412,7 +412,19 @@
412 412  .widget,
413 413  .pathway-card,
414 414  .service-card,
415 -.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;
416 416   border: 1px solid @line;
417 417   border-radius: @radius;
418 418   box-shadow: @shadow-sm;
... ... @@ -470,12 +470,13 @@
470 470   .pathway-icon {
471 471   width: 52px;
472 472   height: 52px;
473 - border-radius: 50%;
553 + border-radius: 16px;
474 474   display: flex;
475 475   align-items: center;
476 476   justify-content: center;
477 477   color: @brand;
478 478   background: fade(@brand, 10%);
559 + border: 1px solid fade(@brand, 18%);
479 479   font-size: 19px;
480 480   flex-shrink: 0;
481 481   }
... ... @@ -522,6 +522,59 @@
522 522   }
523 523  }
524 524  
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 +
525 525  /* ========== Services ========== */
526 526  
527 527  .services {
... ... @@ -534,6 +534,7 @@
534 534   align-items: flex-start;
535 535   gap: 16px;
536 536   padding: 22px;
671 + background: #fff;
537 537   border: 1px solid @line;
538 538   border-radius: @radius;
539 539   box-shadow: @shadow-sm;
... ... @@ -541,7 +541,7 @@
541 541   .service-icon {
542 542   width: 46px;
543 543   height: 46px;
544 - border-radius: 50%;
679 + border-radius: 14px;
545 545   display: flex;
546 546   align-items: center;
547 547   justify-content: center;
... ... @@ -548,6 +548,7 @@
548 548   font-size: 18px;
549 549   color: @brand;
550 550   background: fade(@brand, 10%);
686 + border: 1px solid fade(@brand, 18%);
551 551   flex-shrink: 0;
552 552   margin-top: 2px;
553 553   }
... ... @@ -585,8 +585,7 @@
585 585  /* ========== Split / Process Section ========== */
586 586  
587 587  .split-section {
588 - background:
589 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 65%);
724 + background: transparent;
590 590  }
591 591  
592 592  .split-grid {
... ... @@ -621,9 +621,6 @@
621 621   position: relative;
622 622   padding: 16px 16px 16px 58px;
623 623   margin-bottom: 12px;
624 - border: 1px solid @line;
625 - border-radius: @radius;
626 - box-shadow: @shadow-sm;
627 627   color: @muted;
628 628   line-height: 1.5;
629 629  
... ... @@ -653,8 +653,9 @@
653 653  
654 654  /* ========== Resources ========== */
655 655  
656 -.resource-strip {
657 - background: @brand-bg;
788 +.resource-strip,
789 +.homepage-resource-strip {
790 + background: transparent;
658 658  }
659 659  
660 660  .resource-card {
... ... @@ -682,9 +682,6 @@
682 682  /* ========== Homepage Resource Strip ========== */
683 683  
684 684  .homepage-resource-strip {
685 - background:
686 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 70%);
687 -
688 688   .resource-grid {
689 689   max-width: 1040px;
690 690   margin: 22px auto 0;
... ... @@ -730,30 +730,10 @@
730 730   }
731 731  }
732 732  
733 -@media (max-width: 980px) {
734 - .homepage-resource-strip {
735 - .resource-grid {
736 - grid-template-columns: 1fr;
737 - }
738 - }
739 -}
740 -
741 -@media (max-width: 640px) {
742 - .homepage-resource-strip {
743 - .resource-card {
744 - padding: 22px;
745 - }
746 -
747 - .resource-card h4 {
748 - font-size: 19px;
749 - }
750 - }
751 -}
752 -
753 753  /* ========== CTA ========== */
754 754  
755 -#mainContentArea .cta-section {
756 - padding: 44px 0 56px;
865 +.cta-section {
866 + padding: @section-padding;
757 757  
758 758   .contact-inline {
759 759   margin: 0;
... ... @@ -765,70 +765,22 @@
765 765   }
766 766  }
767 767  
768 -#mainContentArea .cta-panel {
769 - position: relative;
770 - overflow: hidden;
771 - max-width: 1040px;
878 +.cta-panel {
879 + max-width: 860px;
772 772   margin: 0 auto;
773 - padding: 48px 40px;
774 - border: 0;
775 - border-radius: 26px;
776 - background:
777 - radial-gradient(circle at 88% 10%, fade(@brand, 24%) 0%, transparent 30%),
778 - linear-gradient(135deg, @text 0%, @text-soft 100%);
779 - color: #fff;
780 - box-shadow: @shadow;
881 + padding: 32px;
781 781   text-align: center;
782 -}
783 783  
784 -#mainContentArea .cta-panel::before {
785 - content: "";
786 - position: absolute;
787 - inset: 0;
788 - background:
789 - linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px),
790 - linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px);
791 - background-size: 48px 48px;
792 - opacity: .4;
793 - pointer-events: none;
794 -}
884 + h2 {
885 + margin-top: 0;
886 + }
795 795  
796 -#mainContentArea .cta-panel h2,
797 -#mainContentArea .cta-panel p,
798 -#mainContentArea .cta-panel .btn {
799 - position: relative;
800 - z-index: 1;
888 + p {
889 + color: @muted;
890 + line-height: 1.55;
891 + }
801 801  }
802 802  
803 -#mainContentArea .cta-panel h2 {
804 - max-width: 760px;
805 - margin: 0 auto 16px;
806 - color: #fff;
807 -}
808 -
809 -#mainContentArea .cta-panel p {
810 - max-width: 760px;
811 - margin: 0 auto 28px;
812 - color: #DBE4EF;
813 - font-size: 16px;
814 - line-height: 1.6;
815 -}
816 -
817 -#mainContentArea .cta-panel .btn-primary {
818 - border-color: #fff;
819 - background: #fff;
820 - color: @text;
821 - box-shadow: 0 18px 42px rgba(0, 0, 0, .18);
822 -}
823 -
824 -#mainContentArea .cta-panel .btn-primary:hover,
825 -#mainContentArea .cta-panel .btn-primary:focus {
826 - border-color: #fff;
827 - background: #fff;
828 - color: @brand-strong;
829 - text-decoration: none;
830 -}
831 -
832 832  .resource-inline-cta {
833 833   display: flex;
834 834   align-items: center;
... ... @@ -836,10 +836,6 @@
836 836   gap: 22px;
837 837   margin: 30px 0;
838 838   padding: 20px 22px;
839 - border: 1px solid fade(@brand, 22%);
840 - border-radius: @radius;
841 - background: @brand-bg;
842 - box-shadow: @shadow-sm;
843 843  
844 844   p {
845 845   margin: 0;
... ... @@ -856,129 +856,17 @@
856 856   }
857 857  }
858 858  
859 -@media (max-width: 767px) {
860 - .resource-inline-cta {
861 - display: block;
862 - text-align: center;
863 -
864 - p {
865 - margin-bottom: 14px;
866 - }
867 -
868 - .btn {
869 - display: inline-block;
870 - margin-left: auto;
871 - margin-right: auto;
872 - }
873 - }
874 -}
875 -
876 -/* ========== Responsive ========== */
877 -
878 -@media (max-width: 980px) {
879 - .widgets,
880 - .pathways,
881 - .services-grid,
882 - .resource-grid {
883 - grid-template-columns: repeat(2, minmax(0, 1fr));
884 - }
885 -
886 - .split-grid {
887 - grid-template-columns: 1fr;
888 - }
889 -
890 - .split-copy h2 {
891 - text-align: center;
892 - }
893 -}
894 -
895 -@media (max-width: 760px) {
896 - section[id] {
897 - scroll-margin-top: 132px;
898 - }
899 -
900 - .header-inner {
901 - min-height: auto;
902 - padding-top: 14px;
903 - padding-bottom: 14px;
904 - flex-direction: column;
905 - align-items: center;
906 - gap: 12px;
907 - }
908 -
909 - .site-nav {
910 - width: 100%;
911 - justify-content: center;
912 - flex-wrap: wrap;
913 - gap: 10px 16px;
914 - font-size: 14px;
915 -
916 - .nav-cta {
917 - padding: 7px 12px;
918 - }
919 - }
920 -
921 - .hero.hero-centered {
922 - min-height: 280px;
923 - }
924 -
925 - .hero {
926 - .lead {
927 - font-size: 17px;
928 - }
929 -
930 - .benefits {
931 - gap: 4px 10px;
932 -
933 - li + li::before {
934 - content: none;
935 - }
936 - }
937 - }
938 -}
939 -
940 -@media (max-width: 640px) {
941 - section {
942 - padding: @section-padding-mobile;
943 - }
944 -
945 - .widgets,
946 - .pathways,
947 - .services-grid,
948 - .resource-grid {
949 - grid-template-columns: 1fr;
950 - }
951 -
952 - .pathway-card,
953 - .services .service,
954 - .resource-card,
955 - .widget {
956 - padding: 20px;
957 - }
958 -
959 - .services .service {
960 - gap: 14px;
961 - }
962 -
963 - #mainContentArea .cta-panel {
964 - padding: 30px 22px;
965 - border-radius: 20px;
966 - }
967 -
968 - #mainContentArea .cta-panel .btn-primary {
969 - width: 100%;
970 - }
971 -}
972 -
973 973  /* ========== Resource / Article Pages ========== */
974 974  
975 975  .resource-page {
976 976   padding-top: 0;
921 + background: transparent;
977 977  }
978 978  
979 979  .resource-header {
980 980   padding: @section-padding;
981 981   border-top: none;
927 + background: transparent;
982 982  
983 983   h1 {
984 984   margin: 0 auto 14px;
... ... @@ -1046,7 +1046,6 @@
1046 1046  
1047 1047  .resource-note {
1048 1048   border-left: 4px solid @brand;
1049 - background: @brand-bg;
1050 1050   padding: 16px 18px;
1051 1051   margin: 22px 0;
1052 1052   border-radius: 0 @radius @radius 0;
... ... @@ -1123,10 +1123,7 @@
1123 1123   margin-bottom: 28px;
1124 1124   position: sticky;
1125 1125   top: 96px;
1126 - border: 1px solid @line;
1127 - border-radius: @radius;
1128 1128   padding: 18px;
1129 - box-shadow: @shadow-sm;
1130 1130  
1131 1131   h4 {
1132 1132   margin: 0 0 10px;
... ... @@ -1157,9 +1157,6 @@
1157 1157   max-width: 820px;
1158 1158   margin: 42px auto 0;
1159 1159   padding: 28px 30px;
1160 - border: 1px solid fade(@brand, 20%);
1161 - border-radius: @radius;
1162 - background: @brand-bg;
1163 1163  
1164 1164   h3 {
1165 1165   margin-top: 0;
... ... @@ -1184,26 +1184,6 @@
1184 1184   display: flow-root;
1185 1185  }
1186 1186  
1187 -@media (max-width: 767px) {
1188 - .resource-cta {
1189 - padding: 24px 20px;
1190 - }
1191 -}
1192 -
1193 -@media (max-width: 900px) {
1194 - .resource-layout {
1195 - padding-top: 22px;
1196 - }
1197 -
1198 - .resource-sidebar {
1199 - float: none;
1200 - width: 100%;
1201 - margin-left: 0;
1202 - margin-bottom: 24px;
1203 - position: static;
1204 - }
1205 -}
1206 -
1207 1207  /* ========== Products / Extensions Pages ========== */
1208 1208  
1209 1209  .product-index-section {
... ... @@ -1224,9 +1224,6 @@
1224 1224  
1225 1225  .product-card {
1226 1226   position: relative;
1227 - border: 1px solid @line;
1228 - border-radius: @radius;
1229 - box-shadow: @shadow-sm;
1230 1230   padding: 32px;
1231 1231   display: grid;
1232 1232   grid-template-columns: 70px 1fr;
... ... @@ -1245,7 +1245,7 @@
1245 1245   .product-card-icon {
1246 1246   width: 58px;
1247 1247   height: 58px;
1248 - border-radius: 50%;
1164 + border-radius: 16px;
1249 1249   background: fade(@brand, 10%);
1250 1250   border: 1px solid fade(@brand, 22%);
1251 1251   color: @brand;
... ... @@ -1334,30 +1334,6 @@
1334 1334   }
1335 1335  }
1336 1336  
1337 -@media (max-width: 640px) {
1338 - .product-card {
1339 - grid-template-columns: 1fr;
1340 - padding: 26px 22px;
1341 - text-align: left;
1342 -
1343 - &:before {
1344 - width: 4px;
1345 - }
1346 -
1347 - .product-card-icon {
1348 - margin-bottom: 2px;
1349 - }
1350 -
1351 - h3 {
1352 - font-size: 22px;
1353 - }
1354 - }
1355 -
1356 - .product-card-actions {
1357 - gap: 12px;
1358 - }
1359 -}
1360 -
1361 1361  /* ========== Individual Product Pages ========== */
1362 1362  
1363 1363  .product-layout {
... ... @@ -1369,15 +1369,6 @@
1369 1369   align-items: start;
1370 1370  }
1371 1371  
1372 -.product-summary-card,
1373 -.product-info-card,
1374 -.product-feature,
1375 -.product-gallery-panel {
1376 - border: 1px solid @line;
1377 - border-radius: @radius;
1378 - box-shadow: @shadow-sm;
1379 -}
1380 -
1381 1381  .product-summary-card {
1382 1382   padding: 28px;
1383 1383  
... ... @@ -1454,8 +1454,9 @@
1454 1454   .feature-icon {
1455 1455   width: 46px;
1456 1456   height: 46px;
1457 - border-radius: 50%;
1340 + border-radius: 14px;
1458 1458   background: fade(@brand, 10%);
1342 + border: 1px solid fade(@brand, 18%);
1459 1459   color: @brand;
1460 1460   display: flex;
1461 1461   align-items: center;
... ... @@ -1488,16 +1488,16 @@
1488 1488  }
1489 1489  
1490 1490  /* Keep the default XWiki gallery style.
1491 - Only add spacing before it and center it. */
1375 + Only set size, top spacing and centering. */
1492 1492  .gallery.xGallery {
1493 1493   margin: 25px auto;
1494 1494   width: 920px;
1379 + max-width: 100%;
1495 1495   height: 518px;
1496 1496  }
1497 1497  
1498 1498  .product-section-muted {
1499 - background:
1500 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 65%);
1384 + background: transparent;
1501 1501  }
1502 1502  
1503 1503  /* Compact process list when used inside a product card. */
... ... @@ -1556,415 +1556,296 @@
1556 1556   justify-content: center;
1557 1557  }
1558 1558  
1559 -@media (max-width: 980px) {
1560 - .product-layout,
1561 - .product-feature-grid {
1562 - grid-template-columns: 1fr;
1563 - }
1443 +/* ========== Resources Index ========== */
1564 1564  
1565 - .product-summary-card h2 {
1566 - text-align: center;
1445 +.resources-index-page {
1446 + background: transparent;
1447 +
1448 + .services-grid {
1449 + grid-template-columns: repeat(2, minmax(0, 1fr));
1567 1567   }
1568 1568  }
1569 1569  
1570 -@media (max-width: 640px) {
1571 - .product-card {
1453 +/* ========== Responsive ========== */
1454 +
1455 +@media (max-width: 1100px) {
1456 + .hero-layout {
1457 + max-width: 760px;
1572 1572   grid-template-columns: 1fr;
1573 - padding: 22px;
1574 - text-align: left;
1459 + gap: 34px;
1460 + }
1575 1575  
1576 - .product-card-icon {
1577 - margin-bottom: 2px;
1578 - }
1462 + .hero-copy {
1463 + order: 1;
1464 + text-align: center;
1579 1579   }
1580 1580  
1581 - .product-summary-card,
1582 - .product-info-card,
1583 - .product-feature,
1584 - .product-gallery-panel {
1585 - padding: 20px;
1467 + .hero-image-wrapper {
1468 + order: 2;
1586 1586   }
1587 1587  
1588 - .product-feature {
1589 - .card-heading,
1590 - .feature-heading {
1591 - gap: 12px;
1592 - }
1471 + .hero.hero-saas h1 {
1472 + margin-left: auto;
1473 + margin-right: auto;
1474 + text-align: center;
1475 + }
1593 1593  
1594 - .feature-icon {
1595 - width: 42px;
1596 - height: 42px;
1597 - font-size: 16px;
1598 - }
1477 + .hero.hero-saas .lead {
1478 + margin-left: auto;
1479 + margin-right: auto;
1480 + text-align: center;
1599 1599   }
1600 1600  
1601 - .gallery.xGallery {
1602 - margin-top: 22px !important;
1483 + .hero.hero-saas .benefits {
1484 + margin-left: auto;
1485 + margin-right: auto;
1603 1603   }
1604 1604  
1605 - .product-gallery-caption {
1606 - margin-top: 10px;
1607 - padding: 0 14px;
1488 + .hero.hero-saas .hero-actions,
1489 + .hero.hero-saas #hero-cta {
1490 + justify-content: center;
1608 1608   }
1609 1609  
1610 - .product-summary-card .process-list li {
1611 - padding-left: 46px;
1493 + .hero-image {
1494 + max-width: 620px;
1612 1612   }
1613 1613  }
1614 1614  
1615 -/* ========== 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 + }
1616 1616  
1617 -.resources-index-page {
1506 + .split-grid,
1507 + .product-layout,
1508 + .product-feature-grid {
1509 + grid-template-columns: 1fr;
1510 + }
1618 1618  
1619 - .services-grid {
1620 - grid-template-columns: repeat(2, minmax(0, 1fr));
1512 + .split-copy h2,
1513 + .product-summary-card h2 {
1514 + text-align: center;
1621 1621   }
1622 -}
1623 1623  
1624 -@media (max-width: 980px) {
1625 - .resources-index-page {
1626 - .services-grid {
1517 + .homepage-resource-strip {
1518 + .resource-grid {
1627 1627   grid-template-columns: 1fr;
1628 1628   }
1629 1629   }
1630 -}
1631 1631  
1632 -@media (max-width: 767px) {
1633 1633   .resources-index-page {
1634 - padding: @section-padding-mobile;
1524 + .services-grid {
1525 + grid-template-columns: 1fr;
1526 + }
1635 1635   }
1636 1636  }
1637 1637  
1638 -.resource-faq-item {
1639 - border-bottom: 1px solid @line;
1640 - padding: 12px 0;
1641 -
1642 - summary {
1643 - cursor: pointer;
1644 - font-weight: 700;
1645 - color: @text;
1530 +@media (max-width: 900px) {
1531 + .resource-layout {
1532 + padding-top: 22px;
1646 1646   }
1647 1647  
1648 - p {
1649 - margin: 10px 0 4px;
1650 - color: @muted;
1535 + .resource-sidebar {
1536 + float: none;
1537 + width: 100%;
1538 + margin-left: 0;
1539 + margin-bottom: 24px;
1540 + position: static;
1651 1651   }
1652 1652  }
1653 1653  
1654 -/* ========== Global Theme Background ========== */
1544 +@media (max-width: 767px) {
1545 + section[id] {
1546 + scroll-margin-top: 132px;
1547 + }
1655 1655  
1656 -html,
1657 -body {
1658 - min-height: 100%;
1659 -}
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 + }
1660 1660  
1661 -body {
1662 - color: @text;
1663 - background:
1664 - radial-gradient(circle at 12% 8%, rgba(0, 147, 125, 0.08) 0, transparent 26%),
1665 - radial-gradient(circle at 90% 28%, rgba(7, 24, 45, 0.05) 0, transparent 30%),
1666 - linear-gradient(180deg, #fff 0, @brand-bg 42%, #fff 100%) !important;
1667 - background-attachment: fixed;
1668 -}
1558 + .site-nav {
1559 + width: 100%;
1560 + justify-content: center;
1561 + flex-wrap: wrap;
1562 + gap: 10px 16px;
1563 + font-size: 14px;
1669 1669  
1670 -/* Let the body background show through the XWiki wrappers.
1671 -#mainContentArea,
1672 -.resource-page,
1673 -.resources-index-page {
1674 - background: transparent !important;
1675 - background-image: none !important;
1676 -}
1677 -*/
1678 -/* Remove local decorative backgrounds that compete with the global gradient.
1679 -.hero,
1680 -.hero.hero-centered,
1681 -.trust-strip,
1682 -.industry-trust-section,
1683 -.split-section,
1684 -.resource-strip,
1685 -.homepage-resource-strip,
1686 -.resource-header,
1687 -.product-section-muted,
1688 -.resources-index-page {
1689 - background: transparent !important;
1690 - background-image: none !important;
1691 -}
1692 - */
1693 -/* Keep large panels readable, but remove their inner gradients.
1694 -.industry-trust-section .industry-trust-panel,
1695 -.cta-panel,
1696 -.resource-inline-cta,
1697 -.resource-note,
1698 -.resource-cta {
1699 - background: #fff !important;
1700 - background-image: none !important;
1701 -} */
1565 + .nav-cta {
1566 + padding: 7px 12px;
1567 + }
1568 + }
1702 1702  
1703 -/* ========== Main Page Hero / SaaS Layout ========== */
1570 + .hero.hero-centered {
1571 + min-height: 280px;
1572 + }
1704 1704  
1705 -#mainContentArea .hero.hero-saas {
1706 - min-height: auto;
1707 - padding: 60px 0 34px;
1708 - display: flex;
1709 - align-items: center;
1710 - overflow: hidden;
1711 - background: transparent;
1712 -}
1574 + .resource-inline-cta {
1575 + display: block;
1576 + text-align: center;
1713 1713  
1714 -#mainContentArea .hero-layout {
1715 - max-width: 1120px;
1716 - margin: 0 auto;
1717 - display: grid;
1718 - grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
1719 - gap: 56px;
1720 - align-items: center;
1721 -}
1578 + p {
1579 + margin-bottom: 14px;
1580 + }
1722 1722  
1723 -#mainContentArea .hero-copy {
1724 - min-width: 0;
1725 - text-align: left;
1726 -}
1582 + .btn {
1583 + display: inline-block;
1584 + margin-left: auto;
1585 + margin-right: auto;
1586 + }
1587 + }
1727 1727  
1728 -#mainContentArea .hero.hero-saas h1 {
1729 - max-width: 640px;
1730 - margin: 0 0 26px;
1731 - font-size: 60px;
1732 - font-weight: 800;
1733 - line-height: 1;
1734 - letter-spacing: -3px;
1735 -}
1589 + .resource-cta {
1590 + padding: 24px 20px;
1591 + }
1736 1736  
1737 -#mainContentArea .hero.hero-saas h1 span {
1738 - color: @brand;
1593 + .resources-index-page {
1594 + padding: @section-padding-mobile;
1595 + }
1739 1739  }
1740 1740  
1741 -#mainContentArea .hero.hero-saas .lead {
1742 - max-width: 590px;
1743 - margin: 0 0 28px;
1744 - color: #334155;
1745 - text-align: left;
1746 - font-size: 18px;
1747 - line-height: 1.6;
1748 -}
1598 +@media (max-width: 640px) {
1599 + section {
1600 + padding: @section-padding-mobile;
1601 + }
1749 1749  
1750 -#mainContentArea .hero.hero-saas .benefits {
1751 - max-width: 620px;
1752 - margin: 0 0 30px;
1753 - padding: 0;
1754 - display: grid;
1755 - grid-template-columns: repeat(2, minmax(0, 1fr));
1756 - gap: 10px 24px;
1757 - list-style: none;
1758 - color: #475569;
1759 - font-size: 15px;
1760 - text-align: left;
1761 -}
1603 + .container {
1604 + padding-left: 18px;
1605 + padding-right: 18px;
1606 + }
1762 1762  
1763 -#mainContentArea .hero.hero-saas .benefits li {
1764 - display: grid;
1765 - grid-template-columns: 18px minmax(0, 1fr);
1766 - column-gap: 8px;
1767 - align-items: start;
1768 - margin: 0;
1769 - line-height: 1.45;
1770 -}
1771 -
1772 -#mainContentArea .hero.hero-saas .benefits li::before {
1773 - content: "✓";
1774 - display: block;
1775 - width: 18px;
1776 - color: @brand;
1777 - font-weight: 900;
1778 - line-height: 1.45;
1779 - text-align: left;
1780 - margin: 0;
1781 -}
1782 -
1783 -#mainContentArea .hero.hero-saas .hero-actions,
1784 -#mainContentArea .hero.hero-saas #hero-cta {
1785 - display: flex;
1786 - flex-wrap: wrap;
1787 - justify-content: flex-start;
1788 - gap: 12px;
1789 - margin-top: 0;
1790 -}
1791 -
1792 -#mainContentArea .hero-image-wrapper {
1793 - min-width: 0;
1794 - display: flex;
1795 - justify-content: center;
1796 - align-items: center;
1797 -}
1798 -
1799 -#mainContentArea .hero-image {
1800 - display: block;
1801 - width: 100%;
1802 - max-width: 620px;
1803 - height: auto;
1804 - border: 0;
1805 -}
1806 -
1807 -/* ========== Main Page Hero Responsive ========== */
1808 -
1809 -@media (max-width: 1100px) {
1810 - #mainContentArea .hero-layout {
1811 - max-width: 760px;
1608 + .widgets,
1609 + .pathways,
1610 + .services-grid,
1611 + .resource-grid,
1612 + .hero.hero-saas .benefits {
1812 1812   grid-template-columns: 1fr;
1813 - gap: 34px;
1814 1814   }
1815 1815  
1816 - #mainContentArea .hero-copy {
1817 - order: 1;
1818 - 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;
1819 1819   }
1820 1820  
1821 - #mainContentArea .hero-image-wrapper {
1822 - order: 2;
1627 + .services .service {
1628 + gap: 14px;
1823 1823   }
1824 1824  
1825 - #mainContentArea .hero.hero-saas h1 {
1826 - margin-left: auto;
1827 - margin-right: auto;
1828 - text-align: center;
1631 + .cta-panel {
1632 + padding: 24px 20px;
1829 1829   }
1830 1830  
1831 - #mainContentArea .hero.hero-saas .lead {
1832 - margin-left: auto;
1833 - margin-right: auto;
1834 - text-align: center;
1835 - }
1635 + .industry-trust-section {
1636 + .industry-trust-panel {
1637 + padding: 24px 18px;
1638 + }
1836 1836  
1837 - #mainContentArea .hero.hero-saas .benefits {
1838 - margin-left: auto;
1839 - margin-right: auto;
1840 - }
1640 + .industry-tags {
1641 + gap: 8px;
1642 + }
1841 1841  
1842 - #mainContentArea .hero.hero-saas .hero-actions,
1843 - #mainContentArea .hero.hero-saas #hero-cta {
1844 - justify-content: center;
1644 + .industry-tags span {
1645 + font-size: 12px;
1646 + padding: 6px 10px;
1647 + }
1845 1845   }
1846 1846  
1847 - #mainContentArea .hero-image {
1848 - max-width: 620px;
1650 + .homepage-resource-strip {
1651 + .resource-card {
1652 + padding: 22px;
1653 + }
1654 +
1655 + .resource-card h4 {
1656 + font-size: 19px;
1657 + }
1849 1849   }
1850 -}
1851 1851  
1852 -@media (max-width: 640px) {
1853 - #mainContentArea .hero.hero-saas {
1660 + .hero.hero-saas {
1854 1854   padding: 42px 0 28px;
1855 1855   }
1856 1856  
1857 - #mainContentArea .hero-layout {
1858 - gap: 28px;
1859 - }
1860 -
1861 - #mainContentArea .hero.hero-saas h1 {
1664 + .hero.hero-saas h1 {
1862 1862   font-size: 42px;
1863 1863   letter-spacing: -1.5px;
1864 1864   }
1865 1865  
1866 - #mainContentArea .hero.hero-saas .lead {
1669 + .hero.hero-saas .lead {
1867 1867   font-size: 17px;
1868 1868   }
1869 1869  
1870 - #mainContentArea .hero.hero-saas .benefits {
1871 - grid-template-columns: 1fr;
1673 + .hero-layout {
1674 + gap: 28px;
1872 1872   }
1873 1873  
1874 - #mainContentArea .hero-image {
1677 + .hero-image {
1875 1875   max-width: 100%;
1876 1876   }
1877 -}
1878 1878  
1879 -/* ========== Accessibility / Contrast Improvements ========== */
1681 + .hero .benefits {
1682 + gap: 4px 10px;
1683 + }
1880 1880  
1881 -/* Make the global background softer and less distracting. */
1882 -body {
1883 - background:
1884 - radial-gradient(circle at 12% 8%, rgba(0, 147, 125, 0.035) 0, transparent 26%),
1885 - radial-gradient(circle at 90% 28%, rgba(7, 24, 45, 0.025) 0, transparent 30%),
1886 - linear-gradient(180deg, #fff 0, @brand-bg 42%, #fff 100%) !important;
1887 - background-attachment: scroll;
1888 -}
1685 + .product-card {
1686 + grid-template-columns: 1fr;
1687 + padding: 26px 22px;
1688 + text-align: left;
1889 1889  
1890 -/* Keep the article area readable while preserving the page background around it. */
1891 -#mainContentArea .resource-layout {
1892 - padding: 28px;
1893 - border: 1px solid fade(@line, 85%);
1894 - border-radius: @radius;
1895 - background: rgba(255, 255, 255, .88);
1896 - box-shadow: @shadow-sm;
1897 -}
1690 + &:before {
1691 + width: 4px;
1692 + }
1898 1898  
1899 -/* Ensure all reusable cards have a real surface, not transparent over the gradient. */
1900 -#mainContentArea .widget,
1901 -#mainContentArea .pathway-card,
1902 -#mainContentArea .service-card,
1903 -#mainContentArea .resource-card,
1904 -#mainContentArea .services .service,
1905 -#mainContentArea .product-card,
1906 -#mainContentArea .product-feature,
1907 -#mainContentArea .product-summary-card,
1908 -#mainContentArea .product-info-card {
1909 - background: #fff;
1910 -}
1694 + .product-card-icon {
1695 + margin-bottom: 2px;
1696 + }
1911 1911  
1912 -/* Make notes more readable and visually stronger. */
1913 -#mainContentArea .resource-note {
1914 - border: 1px solid fade(@brand, 18%);
1915 - border-left: 4px solid @brand;
1916 - background: #fff;
1917 - box-shadow: 0 10px 28px rgba(15, 23, 42, .045);
1918 -}
1698 + h3 {
1699 + font-size: 22px;
1700 + }
1701 + }
1919 1919  
1920 -/* Keep the sidebar clearly separated from the background. */
1921 -#mainContentArea .resource-sidebar {
1922 - background: #fff;
1923 -}
1703 + .product-card-actions {
1704 + gap: 12px;
1705 + }
1924 1924  
1925 -/* Make CTA panels stand out more clearly. */
1926 -#mainContentArea .resource-cta,
1927 -#mainContentArea .resource-inline-cta {
1928 - background: #fff;
1929 -}
1707 + .product-feature {
1708 + .card-heading,
1709 + .feature-heading {
1710 + gap: 12px;
1711 + }
1930 1930  
1931 -/* Improve table readability on long resource pages. */
1932 -#mainContentArea .resource-content table {
1933 - background: #fff;
1934 -}
1713 + .feature-icon {
1714 + width: 42px;
1715 + height: 42px;
1716 + font-size: 16px;
1717 + }
1718 + }
1935 1935  
1936 -#mainContentArea .resource-content table th {
1937 - color: @text;
1938 - background: #F8FAFC;
1939 -}
1720 + .gallery.xGallery {
1721 + width: 100%;
1722 + height: 56vw;
1723 + max-height: 360px;
1724 + margin-top: 22px !important;
1725 + }
1940 1940  
1941 -#mainContentArea .resource-content table td {
1942 - color: @text-soft;
1943 -}
1944 -
1945 -/* Slightly improve paragraph/list contrast in long articles. */
1946 -#mainContentArea .resource-content p,
1947 -#mainContentArea .resource-content li {
1948 - color: @text-soft;
1949 -}
1950 -
1951 -#mainContentArea .resource-content .resource-note p,
1952 -#mainContentArea .resource-content .resource-checklist li,
1953 -#mainContentArea .resource-content .process-list li {
1954 - color: @muted;
1955 -}
1956 -
1957 -@media (max-width: 900px) {
1958 - #mainContentArea .resource-layout {
1959 - padding: 22px;
1727 + .product-gallery-caption {
1728 + margin-top: 10px;
1729 + padding: 0 14px;
1960 1960   }
1961 -}
1962 1962  
1963 -@media (max-width: 640px) {
1964 - #mainContentArea .resource-layout {
1965 - padding: 18px;
1966 - border-radius: 14px;
1732 + .product-summary-card .process-list li {
1733 + padding-left: 46px;
1967 1967   }
1968 1968  }
1969 -
1970 -