Changes for page Public Web Site

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

From version 28.22
edited by Agnease
on 2026/07/03 13:08
Change comment: There is no comment for this version
To version 26.4
edited by Agnease
on 2026/07/01 17:07
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -2,44 +2,44 @@
2 2  #macro (displayPublicContent)
3 3   #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome'))
4 4   {{html clean="false"}}
5 - <section class="hero hero-saas" id="top">
6 - <div class="container">
7 - <div class="hero-layout">
8 - <div class="hero-copy">
9 - <h1>Professional XWiki consulting <span>and engineering</span></h1>
5 + <section class="hero hero-saas" id="top">
6 + <div class="container">
7 + <div class="hero-layout">
8 + <div class="hero-copy">
9 + <h1>Professional XWiki consulting <span>and engineering</span></h1>
10 10  
11 - <p class="lead">
12 - Agnease helps organizations upgrade, maintain, secure and extend production XWiki platforms with practical engineering support, custom development, integrations and long-term care.
13 - </p>
11 + <p class="lead">
12 + Agnease helps organizations upgrade, maintain, secure and extend production XWiki platforms with practical engineering support, custom development, integrations and long-term care.
13 + </p>
14 14  
15 - <ul class="benefits">
16 - <li>XWiki LTS upgrades</li>
17 - <li>Maintenance and support</li>
18 - <li>Custom XWiki development</li>
19 - <li>Migrations and integrations</li>
20 - </ul>
15 + <ul class="benefits">
16 + <li>XWiki LTS upgrades</li>
17 + <li>Maintenance and support</li>
18 + <li>Custom XWiki development</li>
19 + <li>Migrations and integrations</li>
20 + </ul>
21 21  
22 - <div class="hero-actions" id="hero-cta">
23 - <a class="btn btn-primary" href="https://calendly.com/alex-agnease/30min?back=1&month=2026-06">
24 - Book a free discussion
25 - </a>
26 - <a class="btn btn-secondary" href="$xwiki.getURL('services.WebHome')">View XWiki services</a>
27 - </div>
22 + <div class="hero-actions" id="hero-cta">
23 + <a class="btn btn-primary" href="https://calendly.com/alex-agnease/30min?back=1&month=2026-06">
24 + Book a free discussion
25 + </a>
26 + <a class="btn btn-secondary" href="$xwiki.getURL('services.WebHome')">View XWiki services</a>
28 28   </div>
29 -
30 - <div class="hero-image-wrapper">
31 - <img
32 - class="hero-image"
33 - src="$xwiki.getDocument('PublicWebSite.WebHome').getAttachmentURL('agnease-xwiki-hero.png')"
34 - alt="Illustration of a professional XWiki platform dashboard with upgrade, security and maintenance elements"
35 - width="1200"
36 - height="900"
37 - loading="eager"
38 - />
39 - </div>
40 40   </div>
29 +$doc.getAttachmentURL('agnease-xwiki-hero.png')
30 + <div class="hero-image-wrapper">
31 + <img
32 + class="hero-image"
33 + src="$doc.getAttachmentURL('agnease-xwiki-hero.png')"
34 + alt="Illustration of a professional XWiki platform dashboard with upgrade, security and maintenance elements"
35 + width="1200"
36 + height="900"
37 + loading="eager"
38 + />
39 + </div>
41 41   </div>
42 - </section>
41 + </div>
42 + </section>
43 43  #*
44 44   <section class="hero hero-centered" aria-labelledby="hero-title">
45 45   <div class="container hero-inner">
... ... @@ -149,9 +149,9 @@
149 149   </div>
150 150   </section>
151 151  
152 - <section class="contrast-band" aria-labelledby="industry-trust-title">
152 + <section class="industry-trust-section" aria-labelledby="industry-trust-title">
153 153   <div class="container">
154 - <div class="contrast-panel">
154 + <div class="industry-trust-panel">
155 155   <h2 id="industry-trust-title">Trusted XWiki expertise for business-critical platforms</h2>
156 156  
157 157   <p class="section-intro">
... ... @@ -159,7 +159,7 @@
159 159   government institutions, transportation, software development, compliance programs and regulated environments.
160 160   </p>
161 161  
162 - <div class="contrast-tags" aria-label="Industries and environments supported">
162 + <div class="industry-tags" aria-label="Industries and environments supported">
163 163   <span>Healthcare</span>
164 164   <span>Financial services</span>
165 165   <span>Scientific research</span>
... ... @@ -170,7 +170,7 @@
170 170   <span>Regulated environments</span>
171 171   </div>
172 172  
173 - <p class="contrast-support">
173 + <p class="industry-support">
174 174   Organizations rely on these platforms to manage documentation, workflows, compliance processes,
175 175   research knowledge and critical business information. From upgrades and authentication integrations
176 176   to workflow systems and long-term maintenance, Agnease helps keep XWiki secure, stable and ready for the future.
XWiki.StyleSheetExtension[0]
code
... ... @@ -1,20 +1,8 @@
1 1  /* ========== Agnease Public Website ========== */
2 -/*
2 +
3 3  @brand: #00937D;
4 4  @brand-strong: #007B6A;
5 5  @brand-soft: #E7FFF8;
6 -@brand-bg: #F4FCFA;
7 -@text: #2D3A34;
8 -@muted: #5B6B64;
9 -@line: #E4ECE9;
10 -@radius: 16px;
11 -@shadow-sm: 0 6px 20px rgba(0, 0, 0, .06);
12 -@shadow: 0 12px 36px rgba(0, 0, 0, .08);
13 -@maxw: 1140px;
14 -*/
15 -@brand: #00937D;
16 -@brand-strong: #007B6A;
17 -@brand-soft: #E7FFF8;
18 18  @brand-bg: #F7F9FC;
19 19  @text: #07182D;
20 20  @text-soft: #10243D;
... ... @@ -23,32 +23,50 @@
23 23  @radius: 18px;
24 24  @shadow-sm: 0 18px 45px rgba(15, 23, 42, .06);
25 25  @shadow: 0 30px 80px rgba(15, 23, 42, .12);
26 -@maxw: 1140px;
14 +@maxw: 1240px;
27 27  
28 -@section-padding: 30px 0;
29 -@section-padding-mobile: 28px 0;
16 +@section-padding: 42px 0;
17 +@section-padding-mobile: 34px 0;
30 30  
31 31  /* ========== Base ========== */
32 32  
21 +html {
22 + min-height: 100%;
23 + scroll-behavior: smooth;
24 +}
25 +
26 +body {
27 + min-height: 100%;
28 + color: @text;
29 + overflow-x: hidden;
30 + background:
31 + radial-gradient(circle at 12% 8%, rgba(0, 147, 125, 0.08) 0, transparent 26%),
32 + radial-gradient(circle at 90% 28%, rgba(7, 24, 45, 0.05) 0, transparent 30%),
33 + linear-gradient(180deg, #fff 0, @brand-bg 42%, #fff 100%) !important;
34 + background-attachment: fixed;
35 +}
36 +
33 33  #mainContentArea {
34 - padding: 0;
38 + padding: 0 !important;
39 + overflow-x: hidden;
40 + background: transparent !important;
41 + background-image: none !important;
35 35  }
36 36  
37 37  .container {
45 + width: 100%;
38 38   max-width: @maxw;
39 39   margin-left: auto;
40 40   margin-right: auto;
41 - padding-left: 18px;
42 - padding-right: 18px;
49 + padding-left: 24px;
50 + padding-right: 24px;
51 + box-sizing: border-box;
43 43  }
44 44  
45 -html {
46 - scroll-behavior: smooth;
47 -}
48 -
49 49  section {
50 50   padding: @section-padding;
51 - border-top: 1px solid @line;
56 + border-top: 1px solid fade(@line, 65%);
57 + background: transparent;
52 52  
53 53   &:first-of-type {
54 54   border-top: none;
... ... @@ -67,8 +67,10 @@
67 67  }
68 68  
69 69  h2 {
76 + max-width: 820px;
77 + margin: 0 auto 12px;
70 70   text-align: center;
71 - margin-top: 0;
79 + line-height: 1.24;
72 72  }
73 73  
74 74  .lead {
... ... @@ -79,11 +79,11 @@
79 79  
80 80  .section-intro {
81 81   max-width: 760px;
82 - margin: 0 auto 22px;
83 - text-align: center;
90 + margin: 0 auto 24px;
84 84   color: @muted;
92 + text-align: center;
85 85   font-size: 16px;
86 - line-height: 1.55;
94 + line-height: 1.6;
87 87  }
88 88  
89 89  a {
... ... @@ -95,15 +95,42 @@
95 95   }
96 96  }
97 97  
98 -/* ========== Header / Navigation ========== */
106 +/* ========== XWiki / Bootstrap Header Override ========== */
99 99  
108 +.navbar-default {
109 + background: fade(#fff, 72%) !important;
110 + background-image: none !important;
111 + border-color: fade(@line, 70%) !important;
112 + box-shadow: none !important;
113 + backdrop-filter: blur(14px);
114 +}
115 +
116 +.navbar-default .navbar-collapse,
117 +.navbar-default .navbar-form {
118 + border-color: fade(@line, 70%) !important;
119 +}
120 +
121 +.navbar-default .navbar-nav > li > a,
122 +.navbar-default .navbar-brand {
123 + color: @text !important;
124 +}
125 +
126 +.navbar-default .navbar-nav > li > a:hover,
127 +.navbar-default .navbar-nav > li > a:focus,
128 +.navbar-default .navbar-brand:hover,
129 +.navbar-default .navbar-brand:focus {
130 + color: @brand !important;
131 +}
132 +
133 +/* ========== Optional Custom Header / Navigation ========== */
134 +
100 100  .site-header {
101 101   position: sticky;
102 102   top: 0;
103 103   z-index: 1000;
104 - background: fade(#fff, 96%);
105 - border-bottom: 1px solid fade(@line, 85%);
106 - backdrop-filter: blur(8px);
139 + background: fade(#fff, 72%);
140 + border-bottom: 1px solid fade(@line, 70%);
141 + backdrop-filter: blur(14px);
107 107  }
108 108  
109 109  .header-inner {
... ... @@ -123,7 +123,7 @@
123 123   a {
124 124   color: @text;
125 125   text-decoration: none;
126 - font-weight: 600;
161 + font-weight: 700;
127 127  
128 128   &:hover,
129 129   &:focus {
... ... @@ -134,16 +134,16 @@
134 134  
135 135   .nav-cta {
136 136   color: #fff;
137 - background: @brand;
138 - border: 1px solid @brand;
139 - border-radius: 6px;
172 + background: @text;
173 + border: 1px solid @text;
174 + border-radius: 10px;
140 140   padding: 8px 14px;
141 141  
142 142   &:hover,
143 143   &:focus {
144 144   color: #fff;
145 - background: @brand-strong;
146 - border-color: @brand-strong;
180 + background: @text-soft;
181 + border-color: @text-soft;
147 147   }
148 148   }
149 149  }
... ... @@ -150,24 +150,44 @@
150 150  
151 151  /* ========== Buttons ========== */
152 152  
153 -/*.btn-primary {
154 - background: @brand;
155 - border-color: @brand;
188 +.btn-primary,
189 +.btn-secondary {
190 + display: inline-flex;
191 + align-items: center;
192 + justify-content: center;
193 + min-height: 40px;
194 + padding: 9px 16px;
195 + border-radius: 10px;
196 + font-weight: 800;
197 + text-decoration: none;
198 +}
199 +
200 +.btn-primary {
201 + background: @text;
202 + border-color: @text;
156 156   color: #fff;
157 157  
158 158   &:hover,
159 159   &:focus {
160 - background: @brand-strong;
161 - border-color: @brand-strong;
207 + background: @text-soft;
208 + border-color: @text-soft;
162 162   color: #fff;
210 + text-decoration: none;
163 163   }
164 164  }
165 -*/
213 +
166 166  .btn-secondary {
167 167   color: @text;
168 168   background: #fff;
169 - border: 1px solid fade(@text, 35%);
217 + border: 1px solid fade(@text, 24%);
170 170  
219 + &:hover,
220 + &:focus {
221 + color: @text;
222 + background: #F8FAFC;
223 + border-color: fade(@text, 42%);
224 + text-decoration: none;
225 + }
171 171  }
172 172  
173 173  /* ========== Hero ========== */
... ... @@ -174,15 +174,14 @@
174 174  
175 175  .hero {
176 176   overflow: hidden;
177 - background-repeat: no-repeat;
178 - background-attachment: scroll;
232 + background: transparent;
179 179  
180 180   &.hero-centered {
181 - text-align: center;
235 + min-height: 330px;
182 182   display: flex;
183 183   align-items: center;
184 184   justify-content: center;
185 - min-height: 330px;
239 + text-align: center;
186 186   }
187 187  
188 188   .hero-inner {
... ... @@ -202,9 +202,9 @@
202 202  
203 203   .lead {
204 204   max-width: 820px;
259 + margin-top: 12px;
205 205   font-size: 19px;
206 206   line-height: 1.55;
207 - margin-top: 12px;
208 208   }
209 209  
210 210   .benefits {
... ... @@ -228,14 +228,15 @@
228 228   display: inline-flex;
229 229   align-items: center;
230 230   gap: 8px;
231 - color: @brand;
285 + width: fit-content;
286 + color: @brand-strong;
232 232   background: fade(@brand, 8%);
233 - border: 1px solid fade(@brand, 18%);
288 + border: 1px solid fade(@brand, 22%);
234 234   border-radius: 999px;
235 235   padding: 6px 12px;
236 236   margin-bottom: 14px;
237 237   font-size: 13px;
238 - font-weight: 700;
293 + font-weight: 800;
239 239  }
240 240  
241 241  .hero-actions,
... ... @@ -247,109 +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 - width: 100vw;
255 - margin-left: calc(50% - 50vw);
256 - margin-right: calc(50% - 50vw);
257 - overflow: hidden;
258 - padding: 54px 0;
259 - background:
260 - radial-gradient(circle at 18% 18%, fade(@brand, 22%) 0%, transparent 28%),
261 - radial-gradient(circle at 86% 12%, fade(@brand, 16%) 0%, transparent 30%),
262 - linear-gradient(135deg, @text 0%, @text-soft 100%);
263 - 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 +}
264 264  
265 - &::before {
266 - content: "";
267 - position: absolute;
268 - inset: 0;
269 - background:
270 - linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px),
271 - linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px);
272 - background-size: 52px 52px;
273 - opacity: .38;
274 - pointer-events: none;
275 - }
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;
322 +}
276 276  
277 - .container {
278 - position: relative;
279 - z-index: 1;
280 - }
324 +.hero-copy {
325 + min-width: 0;
326 + text-align: left;
327 +}
281 281  
282 - .contrast-panel {
283 - max-width: 1040px;
284 - margin: 0 auto;
285 - text-align: center;
286 - }
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;
336 +}
287 287  
288 - h2 {
289 - max-width: 860px;
290 - margin: 0 auto 12px;
291 - color: #fff;
292 - }
338 +.hero.hero-saas h1 span {
339 + color: @brand;
340 +}
293 293  
294 - .section-intro {
295 - max-width: 840px;
296 - margin: 0 auto 26px;
297 - color: #D9E3EE;
298 - }
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;
299 299  }
300 300  
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;
362 +}
301 301  
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;
371 +}
302 302  
303 -.contrast-tags {
304 - max-width: 940px;
305 - margin: 0 auto;
306 - display: flex;
307 - flex-wrap: wrap;
308 - justify-content: center;
309 - gap: 10px;
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;
382 +}
310 310  
311 - span {
312 - display: inline-flex;
313 - align-items: center;
314 - padding: 8px 13px;
315 - border: 1px solid fade(#fff, 18%);
316 - border-radius: 999px;
317 - background: fade(#fff, 8%);
318 - color: #F8FAFC;
319 - font-size: 13px;
320 - font-weight: 700;
321 - line-height: 1.2;
384 +.hero.hero-saas .hero-actions,
385 +.hero.hero-saas #hero-cta {
386 + justify-content: flex-start;
387 + margin-top: 0;
388 +}
322 322  
323 - &::before {
324 - content: "";
325 - width: 7px;
326 - height: 7px;
327 - margin-right: 8px;
328 - border-radius: 50%;
329 - background: @brand;
330 - box-shadow: 0 0 0 4px fade(@brand, 18%);
331 - }
332 - }
390 +.hero-image-wrapper {
391 + min-width: 0;
392 + display: flex;
393 + justify-content: center;
394 + align-items: center;
333 333  }
334 334  
335 -.contrast-support {
336 - max-width: 860px;
337 - margin: 30px auto 0;
338 - color: #D9E3EE;
339 - text-align: center;
340 - font-size: 15px;
341 - line-height: 1.7;
397 +.hero-image {
398 + display: block;
399 + width: 100%;
400 + max-width: 620px;
401 + height: auto;
402 + border: 0;
342 342  }
343 343  
344 -@media (max-width: 640px) {
345 - .contrast-band {
346 - padding: 40px 0;
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;
347 347   }
348 348  
349 - .contrast-tags span {
350 - font-size: 12px;
351 - padding: 8px 11px;
426 + li {
427 + display: flex;
428 + align-items: center;
429 + gap: 7px;
352 352   }
431 +
432 + i {
433 + color: @brand;
434 + }
353 353  }
354 354  
355 355  /* ========== Reusable Grids ========== */
... ... @@ -360,7 +360,7 @@
360 360  .resource-grid,
361 361  .widgets {
362 362   display: grid;
363 - grid-gap: 18px;
445 + grid-gap: 22px;
364 364   margin-left: auto;
365 365   margin-right: auto;
366 366  }
... ... @@ -370,19 +370,19 @@
370 370  .services-grid {
371 371   grid-template-columns: repeat(3, minmax(0, 1fr));
372 372   max-width: 1040px;
373 - margin-top: 22px;
455 + margin-top: 24px;
374 374  }
375 375  
376 376  .resource-grid {
377 377   grid-template-columns: repeat(2, minmax(0, 1fr));
378 378   max-width: 1040px;
379 - margin-top: 22px;
461 + margin-top: 24px;
380 380  }
381 381  
382 382  .widgets {
383 383   grid-template-columns: repeat(4, minmax(0, 1fr));
384 384   max-width: 1040px;
385 - margin-top: 20px;
467 + margin-top: 22px;
386 386  }
387 387  
388 388  .card-grid > *,
... ... @@ -398,7 +398,19 @@
398 398  .widget,
399 399  .pathway-card,
400 400  .service-card,
401 -.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;
402 402   border: 1px solid @line;
403 403   border-radius: @radius;
404 404   box-shadow: @shadow-sm;
... ... @@ -456,12 +456,13 @@
456 456   .pathway-icon {
457 457   width: 52px;
458 458   height: 52px;
459 - border-radius: 50%;
553 + border-radius: 16px;
460 460   display: flex;
461 461   align-items: center;
462 462   justify-content: center;
463 463   color: @brand;
464 464   background: fade(@brand, 10%);
559 + border: 1px solid fade(@brand, 18%);
465 465   font-size: 19px;
466 466   flex-shrink: 0;
467 467   }
... ... @@ -508,19 +508,15 @@
508 508   }
509 509  }
510 510  
606 +/* ========== Industry Trust Section ========== */
607 +
511 511  .industry-trust-section {
512 - background:
513 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 70%);
609 + background: transparent;
514 514  
515 515   .industry-trust-panel {
516 516   max-width: 1040px;
517 517   margin: 0 auto;
518 518   padding: 30px 28px;
519 - border: 1px solid fade(@brand, 16%);
520 - border-radius: @radius;
521 - background:
522 - radial-gradient(34rem 12rem at 50% 0%, fade(@brand-soft, 75%) 0%, #fff 72%);
523 - box-shadow: @shadow-sm;
524 524   text-align: center;
525 525   }
526 526  
... ... @@ -551,9 +551,9 @@
551 551   background: #fff;
552 552   color: @text;
553 553   font-size: 13px;
554 - font-weight: 600;
645 + font-weight: 700;
555 555   line-height: 1.2;
556 - box-shadow: 0 3px 10px rgba(0, 0, 0, .04);
647 + box-shadow: 0 8px 20px rgba(15, 23, 42, .04);
557 557   }
558 558  
559 559   .industry-support {
... ... @@ -565,23 +565,6 @@
565 565   }
566 566  }
567 567  
568 -@media (max-width: 640px) {
569 - .industry-trust-section {
570 - .industry-trust-panel {
571 - padding: 24px 18px;
572 - }
573 -
574 - .industry-tags {
575 - gap: 8px;
576 - }
577 -
578 - .industry-tags span {
579 - font-size: 12px;
580 - padding: 6px 10px;
581 - }
582 - }
583 -}
584 -
585 585  /* ========== Services ========== */
586 586  
587 587  .services {
... ... @@ -594,6 +594,7 @@
594 594   align-items: flex-start;
595 595   gap: 16px;
596 596   padding: 22px;
671 + background: #fff;
597 597   border: 1px solid @line;
598 598   border-radius: @radius;
599 599   box-shadow: @shadow-sm;
... ... @@ -601,7 +601,7 @@
601 601   .service-icon {
602 602   width: 46px;
603 603   height: 46px;
604 - border-radius: 50%;
679 + border-radius: 14px;
605 605   display: flex;
606 606   align-items: center;
607 607   justify-content: center;
... ... @@ -608,6 +608,7 @@
608 608   font-size: 18px;
609 609   color: @brand;
610 610   background: fade(@brand, 10%);
686 + border: 1px solid fade(@brand, 18%);
611 611   flex-shrink: 0;
612 612   margin-top: 2px;
613 613   }
... ... @@ -645,8 +645,7 @@
645 645  /* ========== Split / Process Section ========== */
646 646  
647 647  .split-section {
648 - background:
649 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 65%);
724 + background: transparent;
650 650  }
651 651  
652 652  .split-grid {
... ... @@ -681,9 +681,6 @@
681 681   position: relative;
682 682   padding: 16px 16px 16px 58px;
683 683   margin-bottom: 12px;
684 - border: 1px solid @line;
685 - border-radius: @radius;
686 - box-shadow: @shadow-sm;
687 687   color: @muted;
688 688   line-height: 1.5;
689 689  
... ... @@ -713,8 +713,9 @@
713 713  
714 714  /* ========== Resources ========== */
715 715  
716 -.resource-strip {
717 - background: @brand-bg;
788 +.resource-strip,
789 +.homepage-resource-strip {
790 + background: transparent;
718 718  }
719 719  
720 720  .resource-card {
... ... @@ -742,9 +742,6 @@
742 742  /* ========== Homepage Resource Strip ========== */
743 743  
744 744  .homepage-resource-strip {
745 - background:
746 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 70%);
747 -
748 748   .resource-grid {
749 749   max-width: 1040px;
750 750   margin: 22px auto 0;
... ... @@ -790,30 +790,10 @@
790 790   }
791 791  }
792 792  
793 -@media (max-width: 980px) {
794 - .homepage-resource-strip {
795 - .resource-grid {
796 - grid-template-columns: 1fr;
797 - }
798 - }
799 -}
800 -
801 -@media (max-width: 640px) {
802 - .homepage-resource-strip {
803 - .resource-card {
804 - padding: 22px;
805 - }
806 -
807 - .resource-card h4 {
808 - font-size: 19px;
809 - }
810 - }
811 -}
812 -
813 813  /* ========== CTA ========== */
814 814  
815 -#mainContentArea .cta-section {
816 - padding: 44px 0 56px;
865 +.cta-section {
866 + padding: @section-padding;
817 817  
818 818   .contact-inline {
819 819   margin: 0;
... ... @@ -825,70 +825,22 @@
825 825   }
826 826  }
827 827  
828 -#mainContentArea .cta-panel {
829 - position: relative;
830 - overflow: hidden;
831 - max-width: 1040px;
878 +.cta-panel {
879 + max-width: 860px;
832 832   margin: 0 auto;
833 - padding: 48px 40px;
834 - border: 0;
835 - border-radius: 26px;
836 - background:
837 - radial-gradient(circle at 88% 10%, fade(@brand, 24%) 0%, transparent 30%),
838 - linear-gradient(135deg, @text 0%, @text-soft 100%);
839 - color: #fff;
840 - box-shadow: @shadow;
881 + padding: 32px;
841 841   text-align: center;
842 -}
843 843  
844 -#mainContentArea .cta-panel::before {
845 - content: "";
846 - position: absolute;
847 - inset: 0;
848 - background:
849 - linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px),
850 - linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px);
851 - background-size: 48px 48px;
852 - opacity: .4;
853 - pointer-events: none;
854 -}
884 + h2 {
885 + margin-top: 0;
886 + }
855 855  
856 -#mainContentArea .cta-panel h2,
857 -#mainContentArea .cta-panel p,
858 -#mainContentArea .cta-panel .btn {
859 - position: relative;
860 - z-index: 1;
888 + p {
889 + color: @muted;
890 + line-height: 1.55;
891 + }
861 861  }
862 862  
863 -#mainContentArea .cta-panel h2 {
864 - max-width: 760px;
865 - margin: 0 auto 16px;
866 - color: #fff;
867 -}
868 -
869 -#mainContentArea .cta-panel p {
870 - max-width: 760px;
871 - margin: 0 auto 28px;
872 - color: #DBE4EF;
873 - font-size: 16px;
874 - line-height: 1.6;
875 -}
876 -
877 -#mainContentArea .cta-panel .btn-primary {
878 - border-color: #fff;
879 - background: #fff;
880 - color: @text;
881 - box-shadow: 0 18px 42px rgba(0, 0, 0, .18);
882 -}
883 -
884 -#mainContentArea .cta-panel .btn-primary:hover,
885 -#mainContentArea .cta-panel .btn-primary:focus {
886 - border-color: #fff;
887 - background: #fff;
888 - color: @brand-strong;
889 - text-decoration: none;
890 -}
891 -
892 892  .resource-inline-cta {
893 893   display: flex;
894 894   align-items: center;
... ... @@ -896,10 +896,6 @@
896 896   gap: 22px;
897 897   margin: 30px 0;
898 898   padding: 20px 22px;
899 - border: 1px solid fade(@brand, 22%);
900 - border-radius: @radius;
901 - background: @brand-bg;
902 - box-shadow: @shadow-sm;
903 903  
904 904   p {
905 905   margin: 0;
... ... @@ -916,129 +916,17 @@
916 916   }
917 917  }
918 918  
919 -@media (max-width: 767px) {
920 - .resource-inline-cta {
921 - display: block;
922 - text-align: center;
923 -
924 - p {
925 - margin-bottom: 14px;
926 - }
927 -
928 - .btn {
929 - display: inline-block;
930 - margin-left: auto;
931 - margin-right: auto;
932 - }
933 - }
934 -}
935 -
936 -/* ========== Responsive ========== */
937 -
938 -@media (max-width: 980px) {
939 - .widgets,
940 - .pathways,
941 - .services-grid,
942 - .resource-grid {
943 - grid-template-columns: repeat(2, minmax(0, 1fr));
944 - }
945 -
946 - .split-grid {
947 - grid-template-columns: 1fr;
948 - }
949 -
950 - .split-copy h2 {
951 - text-align: center;
952 - }
953 -}
954 -
955 -@media (max-width: 760px) {
956 - section[id] {
957 - scroll-margin-top: 132px;
958 - }
959 -
960 - .header-inner {
961 - min-height: auto;
962 - padding-top: 14px;
963 - padding-bottom: 14px;
964 - flex-direction: column;
965 - align-items: center;
966 - gap: 12px;
967 - }
968 -
969 - .site-nav {
970 - width: 100%;
971 - justify-content: center;
972 - flex-wrap: wrap;
973 - gap: 10px 16px;
974 - font-size: 14px;
975 -
976 - .nav-cta {
977 - padding: 7px 12px;
978 - }
979 - }
980 -
981 - .hero.hero-centered {
982 - min-height: 280px;
983 - }
984 -
985 - .hero {
986 - .lead {
987 - font-size: 17px;
988 - }
989 -
990 - .benefits {
991 - gap: 4px 10px;
992 -
993 - li + li::before {
994 - content: none;
995 - }
996 - }
997 - }
998 -}
999 -
1000 -@media (max-width: 640px) {
1001 - section {
1002 - padding: @section-padding-mobile;
1003 - }
1004 -
1005 - .widgets,
1006 - .pathways,
1007 - .services-grid,
1008 - .resource-grid {
1009 - grid-template-columns: 1fr;
1010 - }
1011 -
1012 - .pathway-card,
1013 - .services .service,
1014 - .resource-card,
1015 - .widget {
1016 - padding: 20px;
1017 - }
1018 -
1019 - .services .service {
1020 - gap: 14px;
1021 - }
1022 -
1023 - #mainContentArea .cta-panel {
1024 - padding: 30px 22px;
1025 - border-radius: 20px;
1026 - }
1027 -
1028 - #mainContentArea .cta-panel .btn-primary {
1029 - width: 100%;
1030 - }
1031 -}
1032 -
1033 1033  /* ========== Resource / Article Pages ========== */
1034 1034  
1035 1035  .resource-page {
1036 1036   padding-top: 0;
921 + background: transparent;
1037 1037  }
1038 1038  
1039 1039  .resource-header {
1040 1040   padding: @section-padding;
1041 1041   border-top: none;
927 + background: transparent;
1042 1042  
1043 1043   h1 {
1044 1044   margin: 0 auto 14px;
... ... @@ -1106,7 +1106,6 @@
1106 1106  
1107 1107  .resource-note {
1108 1108   border-left: 4px solid @brand;
1109 - background: @brand-bg;
1110 1110   padding: 16px 18px;
1111 1111   margin: 22px 0;
1112 1112   border-radius: 0 @radius @radius 0;
... ... @@ -1183,10 +1183,7 @@
1183 1183   margin-bottom: 28px;
1184 1184   position: sticky;
1185 1185   top: 96px;
1186 - border: 1px solid @line;
1187 - border-radius: @radius;
1188 1188   padding: 18px;
1189 - box-shadow: @shadow-sm;
1190 1190  
1191 1191   h4 {
1192 1192   margin: 0 0 10px;
... ... @@ -1217,9 +1217,6 @@
1217 1217   max-width: 820px;
1218 1218   margin: 42px auto 0;
1219 1219   padding: 28px 30px;
1220 - border: 1px solid fade(@brand, 20%);
1221 - border-radius: @radius;
1222 - background: @brand-bg;
1223 1223  
1224 1224   h3 {
1225 1225   margin-top: 0;
... ... @@ -1244,26 +1244,6 @@
1244 1244   display: flow-root;
1245 1245  }
1246 1246  
1247 -@media (max-width: 767px) {
1248 - .resource-cta {
1249 - padding: 24px 20px;
1250 - }
1251 -}
1252 -
1253 -@media (max-width: 900px) {
1254 - .resource-layout {
1255 - padding-top: 22px;
1256 - }
1257 -
1258 - .resource-sidebar {
1259 - float: none;
1260 - width: 100%;
1261 - margin-left: 0;
1262 - margin-bottom: 24px;
1263 - position: static;
1264 - }
1265 -}
1266 -
1267 1267  /* ========== Products / Extensions Pages ========== */
1268 1268  
1269 1269  .product-index-section {
... ... @@ -1284,9 +1284,6 @@
1284 1284  
1285 1285  .product-card {
1286 1286   position: relative;
1287 - border: 1px solid @line;
1288 - border-radius: @radius;
1289 - box-shadow: @shadow-sm;
1290 1290   padding: 32px;
1291 1291   display: grid;
1292 1292   grid-template-columns: 70px 1fr;
... ... @@ -1305,7 +1305,7 @@
1305 1305   .product-card-icon {
1306 1306   width: 58px;
1307 1307   height: 58px;
1308 - border-radius: 50%;
1164 + border-radius: 16px;
1309 1309   background: fade(@brand, 10%);
1310 1310   border: 1px solid fade(@brand, 22%);
1311 1311   color: @brand;
... ... @@ -1394,30 +1394,6 @@
1394 1394   }
1395 1395  }
1396 1396  
1397 -@media (max-width: 640px) {
1398 - .product-card {
1399 - grid-template-columns: 1fr;
1400 - padding: 26px 22px;
1401 - text-align: left;
1402 -
1403 - &:before {
1404 - width: 4px;
1405 - }
1406 -
1407 - .product-card-icon {
1408 - margin-bottom: 2px;
1409 - }
1410 -
1411 - h3 {
1412 - font-size: 22px;
1413 - }
1414 - }
1415 -
1416 - .product-card-actions {
1417 - gap: 12px;
1418 - }
1419 -}
1420 -
1421 1421  /* ========== Individual Product Pages ========== */
1422 1422  
1423 1423  .product-layout {
... ... @@ -1429,15 +1429,6 @@
1429 1429   align-items: start;
1430 1430  }
1431 1431  
1432 -.product-summary-card,
1433 -.product-info-card,
1434 -.product-feature,
1435 -.product-gallery-panel {
1436 - border: 1px solid @line;
1437 - border-radius: @radius;
1438 - box-shadow: @shadow-sm;
1439 -}
1440 -
1441 1441  .product-summary-card {
1442 1442   padding: 28px;
1443 1443  
... ... @@ -1514,8 +1514,9 @@
1514 1514   .feature-icon {
1515 1515   width: 46px;
1516 1516   height: 46px;
1517 - border-radius: 50%;
1340 + border-radius: 14px;
1518 1518   background: fade(@brand, 10%);
1342 + border: 1px solid fade(@brand, 18%);
1519 1519   color: @brand;
1520 1520   display: flex;
1521 1521   align-items: center;
... ... @@ -1548,16 +1548,16 @@
1548 1548  }
1549 1549  
1550 1550  /* Keep the default XWiki gallery style.
1551 - Only add spacing before it and center it. */
1375 + Only set size, top spacing and centering. */
1552 1552  .gallery.xGallery {
1553 1553   margin: 25px auto;
1554 1554   width: 920px;
1379 + max-width: 100%;
1555 1555   height: 518px;
1556 1556  }
1557 1557  
1558 1558  .product-section-muted {
1559 - background:
1560 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 65%);
1384 + background: transparent;
1561 1561  }
1562 1562  
1563 1563  /* Compact process list when used inside a product card. */
... ... @@ -1616,415 +1616,296 @@
1616 1616   justify-content: center;
1617 1617  }
1618 1618  
1619 -@media (max-width: 980px) {
1620 - .product-layout,
1621 - .product-feature-grid {
1622 - grid-template-columns: 1fr;
1623 - }
1443 +/* ========== Resources Index ========== */
1624 1624  
1625 - .product-summary-card h2 {
1626 - text-align: center;
1445 +.resources-index-page {
1446 + background: transparent;
1447 +
1448 + .services-grid {
1449 + grid-template-columns: repeat(2, minmax(0, 1fr));
1627 1627   }
1628 1628  }
1629 1629  
1630 -@media (max-width: 640px) {
1631 - .product-card {
1453 +/* ========== Responsive ========== */
1454 +
1455 +@media (max-width: 1100px) {
1456 + .hero-layout {
1457 + max-width: 760px;
1632 1632   grid-template-columns: 1fr;
1633 - padding: 22px;
1634 - text-align: left;
1459 + gap: 34px;
1460 + }
1635 1635  
1636 - .product-card-icon {
1637 - margin-bottom: 2px;
1638 - }
1462 + .hero-copy {
1463 + order: 1;
1464 + text-align: center;
1639 1639   }
1640 1640  
1641 - .product-summary-card,
1642 - .product-info-card,
1643 - .product-feature,
1644 - .product-gallery-panel {
1645 - padding: 20px;
1467 + .hero-image-wrapper {
1468 + order: 2;
1646 1646   }
1647 1647  
1648 - .product-feature {
1649 - .card-heading,
1650 - .feature-heading {
1651 - gap: 12px;
1652 - }
1471 + .hero.hero-saas h1 {
1472 + margin-left: auto;
1473 + margin-right: auto;
1474 + text-align: center;
1475 + }
1653 1653  
1654 - .feature-icon {
1655 - width: 42px;
1656 - height: 42px;
1657 - font-size: 16px;
1658 - }
1477 + .hero.hero-saas .lead {
1478 + margin-left: auto;
1479 + margin-right: auto;
1480 + text-align: center;
1659 1659   }
1660 1660  
1661 - .gallery.xGallery {
1662 - margin-top: 22px !important;
1483 + .hero.hero-saas .benefits {
1484 + margin-left: auto;
1485 + margin-right: auto;
1663 1663   }
1664 1664  
1665 - .product-gallery-caption {
1666 - margin-top: 10px;
1667 - padding: 0 14px;
1488 + .hero.hero-saas .hero-actions,
1489 + .hero.hero-saas #hero-cta {
1490 + justify-content: center;
1668 1668   }
1669 1669  
1670 - .product-summary-card .process-list li {
1671 - padding-left: 46px;
1493 + .hero-image {
1494 + max-width: 620px;
1672 1672   }
1673 1673  }
1674 1674  
1675 -/* ========== 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 + }
1676 1676  
1677 -.resources-index-page {
1506 + .split-grid,
1507 + .product-layout,
1508 + .product-feature-grid {
1509 + grid-template-columns: 1fr;
1510 + }
1678 1678  
1679 - .services-grid {
1680 - grid-template-columns: repeat(2, minmax(0, 1fr));
1512 + .split-copy h2,
1513 + .product-summary-card h2 {
1514 + text-align: center;
1681 1681   }
1682 -}
1683 1683  
1684 -@media (max-width: 980px) {
1685 - .resources-index-page {
1686 - .services-grid {
1517 + .homepage-resource-strip {
1518 + .resource-grid {
1687 1687   grid-template-columns: 1fr;
1688 1688   }
1689 1689   }
1690 -}
1691 1691  
1692 -@media (max-width: 767px) {
1693 1693   .resources-index-page {
1694 - padding: @section-padding-mobile;
1524 + .services-grid {
1525 + grid-template-columns: 1fr;
1526 + }
1695 1695   }
1696 1696  }
1697 1697  
1698 -.resource-faq-item {
1699 - border-bottom: 1px solid @line;
1700 - padding: 12px 0;
1701 -
1702 - summary {
1703 - cursor: pointer;
1704 - font-weight: 700;
1705 - color: @text;
1530 +@media (max-width: 900px) {
1531 + .resource-layout {
1532 + padding-top: 22px;
1706 1706   }
1707 1707  
1708 - p {
1709 - margin: 10px 0 4px;
1710 - color: @muted;
1535 + .resource-sidebar {
1536 + float: none;
1537 + width: 100%;
1538 + margin-left: 0;
1539 + margin-bottom: 24px;
1540 + position: static;
1711 1711   }
1712 1712  }
1713 1713  
1714 -/* ========== Global Theme Background ========== */
1544 +@media (max-width: 767px) {
1545 + section[id] {
1546 + scroll-margin-top: 132px;
1547 + }
1715 1715  
1716 -html,
1717 -body {
1718 - min-height: 100%;
1719 -}
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 + }
1720 1720  
1721 -body {
1722 - color: @text;
1723 - background:
1724 - radial-gradient(circle at 12% 8%, rgba(0, 147, 125, 0.08) 0, transparent 26%),
1725 - radial-gradient(circle at 90% 28%, rgba(7, 24, 45, 0.05) 0, transparent 30%),
1726 - linear-gradient(180deg, #fff 0, @brand-bg 42%, #fff 100%) !important;
1727 - background-attachment: fixed;
1728 -}
1558 + .site-nav {
1559 + width: 100%;
1560 + justify-content: center;
1561 + flex-wrap: wrap;
1562 + gap: 10px 16px;
1563 + font-size: 14px;
1729 1729  
1730 -/* Let the body background show through the XWiki wrappers.
1731 -#mainContentArea,
1732 -.resource-page,
1733 -.resources-index-page {
1734 - background: transparent !important;
1735 - background-image: none !important;
1736 -}
1737 -*/
1738 -/* Remove local decorative backgrounds that compete with the global gradient.
1739 -.hero,
1740 -.hero.hero-centered,
1741 -.trust-strip,
1742 -.industry-trust-section,
1743 -.split-section,
1744 -.resource-strip,
1745 -.homepage-resource-strip,
1746 -.resource-header,
1747 -.product-section-muted,
1748 -.resources-index-page {
1749 - background: transparent !important;
1750 - background-image: none !important;
1751 -}
1752 - */
1753 -/* Keep large panels readable, but remove their inner gradients.
1754 -.industry-trust-section .industry-trust-panel,
1755 -.cta-panel,
1756 -.resource-inline-cta,
1757 -.resource-note,
1758 -.resource-cta {
1759 - background: #fff !important;
1760 - background-image: none !important;
1761 -} */
1565 + .nav-cta {
1566 + padding: 7px 12px;
1567 + }
1568 + }
1762 1762  
1763 -/* ========== Main Page Hero / SaaS Layout ========== */
1570 + .hero.hero-centered {
1571 + min-height: 280px;
1572 + }
1764 1764  
1765 -#mainContentArea .hero.hero-saas {
1766 - min-height: auto;
1767 - padding: 60px 0 34px;
1768 - display: flex;
1769 - align-items: center;
1770 - overflow: hidden;
1771 - background: transparent;
1772 -}
1574 + .resource-inline-cta {
1575 + display: block;
1576 + text-align: center;
1773 1773  
1774 -#mainContentArea .hero-layout {
1775 - max-width: 1120px;
1776 - margin: 0 auto;
1777 - display: grid;
1778 - grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
1779 - gap: 56px;
1780 - align-items: center;
1781 -}
1578 + p {
1579 + margin-bottom: 14px;
1580 + }
1782 1782  
1783 -#mainContentArea .hero-copy {
1784 - min-width: 0;
1785 - text-align: left;
1786 -}
1582 + .btn {
1583 + display: inline-block;
1584 + margin-left: auto;
1585 + margin-right: auto;
1586 + }
1587 + }
1787 1787  
1788 -#mainContentArea .hero.hero-saas h1 {
1789 - max-width: 640px;
1790 - margin: 0 0 26px;
1791 - font-size: 60px;
1792 - font-weight: 800;
1793 - line-height: 1;
1794 - letter-spacing: -3px;
1795 -}
1589 + .resource-cta {
1590 + padding: 24px 20px;
1591 + }
1796 1796  
1797 -#mainContentArea .hero.hero-saas h1 span {
1798 - color: @brand;
1593 + .resources-index-page {
1594 + padding: @section-padding-mobile;
1595 + }
1799 1799  }
1800 1800  
1801 -#mainContentArea .hero.hero-saas .lead {
1802 - max-width: 590px;
1803 - margin: 0 0 28px;
1804 - color: #334155;
1805 - text-align: left;
1806 - font-size: 18px;
1807 - line-height: 1.6;
1808 -}
1598 +@media (max-width: 640px) {
1599 + section {
1600 + padding: @section-padding-mobile;
1601 + }
1809 1809  
1810 -#mainContentArea .hero.hero-saas .benefits {
1811 - max-width: 620px;
1812 - margin: 0 0 30px;
1813 - padding: 0;
1814 - display: grid;
1815 - grid-template-columns: repeat(2, minmax(0, 1fr));
1816 - gap: 10px 24px;
1817 - list-style: none;
1818 - color: #475569;
1819 - font-size: 15px;
1820 - text-align: left;
1821 -}
1603 + .container {
1604 + padding-left: 18px;
1605 + padding-right: 18px;
1606 + }
1822 1822  
1823 -#mainContentArea .hero.hero-saas .benefits li {
1824 - display: grid;
1825 - grid-template-columns: 18px minmax(0, 1fr);
1826 - column-gap: 8px;
1827 - align-items: start;
1828 - margin: 0;
1829 - line-height: 1.45;
1830 -}
1831 -
1832 -#mainContentArea .hero.hero-saas .benefits li::before {
1833 - content: "✓";
1834 - display: block;
1835 - width: 18px;
1836 - color: @brand;
1837 - font-weight: 900;
1838 - line-height: 1.45;
1839 - text-align: left;
1840 - margin: 0;
1841 -}
1842 -
1843 -#mainContentArea .hero.hero-saas .hero-actions,
1844 -#mainContentArea .hero.hero-saas #hero-cta {
1845 - display: flex;
1846 - flex-wrap: wrap;
1847 - justify-content: flex-start;
1848 - gap: 12px;
1849 - margin-top: 0;
1850 -}
1851 -
1852 -#mainContentArea .hero-image-wrapper {
1853 - min-width: 0;
1854 - display: flex;
1855 - justify-content: center;
1856 - align-items: center;
1857 -}
1858 -
1859 -#mainContentArea .hero-image {
1860 - display: block;
1861 - width: 100%;
1862 - max-width: 620px;
1863 - height: auto;
1864 - border: 0;
1865 -}
1866 -
1867 -/* ========== Main Page Hero Responsive ========== */
1868 -
1869 -@media (max-width: 1100px) {
1870 - #mainContentArea .hero-layout {
1871 - max-width: 760px;
1608 + .widgets,
1609 + .pathways,
1610 + .services-grid,
1611 + .resource-grid,
1612 + .hero.hero-saas .benefits {
1872 1872   grid-template-columns: 1fr;
1873 - gap: 34px;
1874 1874   }
1875 1875  
1876 - #mainContentArea .hero-copy {
1877 - order: 1;
1878 - 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;
1879 1879   }
1880 1880  
1881 - #mainContentArea .hero-image-wrapper {
1882 - order: 2;
1627 + .services .service {
1628 + gap: 14px;
1883 1883   }
1884 1884  
1885 - #mainContentArea .hero.hero-saas h1 {
1886 - margin-left: auto;
1887 - margin-right: auto;
1888 - text-align: center;
1631 + .cta-panel {
1632 + padding: 24px 20px;
1889 1889   }
1890 1890  
1891 - #mainContentArea .hero.hero-saas .lead {
1892 - margin-left: auto;
1893 - margin-right: auto;
1894 - text-align: center;
1895 - }
1635 + .industry-trust-section {
1636 + .industry-trust-panel {
1637 + padding: 24px 18px;
1638 + }
1896 1896  
1897 - #mainContentArea .hero.hero-saas .benefits {
1898 - margin-left: auto;
1899 - margin-right: auto;
1900 - }
1640 + .industry-tags {
1641 + gap: 8px;
1642 + }
1901 1901  
1902 - #mainContentArea .hero.hero-saas .hero-actions,
1903 - #mainContentArea .hero.hero-saas #hero-cta {
1904 - justify-content: center;
1644 + .industry-tags span {
1645 + font-size: 12px;
1646 + padding: 6px 10px;
1647 + }
1905 1905   }
1906 1906  
1907 - #mainContentArea .hero-image {
1908 - max-width: 620px;
1650 + .homepage-resource-strip {
1651 + .resource-card {
1652 + padding: 22px;
1653 + }
1654 +
1655 + .resource-card h4 {
1656 + font-size: 19px;
1657 + }
1909 1909   }
1910 -}
1911 1911  
1912 -@media (max-width: 640px) {
1913 - #mainContentArea .hero.hero-saas {
1660 + .hero.hero-saas {
1914 1914   padding: 42px 0 28px;
1915 1915   }
1916 1916  
1917 - #mainContentArea .hero-layout {
1918 - gap: 28px;
1919 - }
1920 -
1921 - #mainContentArea .hero.hero-saas h1 {
1664 + .hero.hero-saas h1 {
1922 1922   font-size: 42px;
1923 1923   letter-spacing: -1.5px;
1924 1924   }
1925 1925  
1926 - #mainContentArea .hero.hero-saas .lead {
1669 + .hero.hero-saas .lead {
1927 1927   font-size: 17px;
1928 1928   }
1929 1929  
1930 - #mainContentArea .hero.hero-saas .benefits {
1931 - grid-template-columns: 1fr;
1673 + .hero-layout {
1674 + gap: 28px;
1932 1932   }
1933 1933  
1934 - #mainContentArea .hero-image {
1677 + .hero-image {
1935 1935   max-width: 100%;
1936 1936   }
1937 -}
1938 1938  
1939 -/* ========== Accessibility / Contrast Improvements ========== */
1681 + .hero .benefits {
1682 + gap: 4px 10px;
1683 + }
1940 1940  
1941 -/* Make the global background softer and less distracting. */
1942 -body {
1943 - background:
1944 - radial-gradient(circle at 12% 8%, rgba(0, 147, 125, 0.035) 0, transparent 26%),
1945 - radial-gradient(circle at 90% 28%, rgba(7, 24, 45, 0.025) 0, transparent 30%),
1946 - linear-gradient(180deg, #fff 0, @brand-bg 42%, #fff 100%) !important;
1947 - background-attachment: scroll;
1948 -}
1685 + .product-card {
1686 + grid-template-columns: 1fr;
1687 + padding: 26px 22px;
1688 + text-align: left;
1949 1949  
1950 -/* Keep the article area readable while preserving the page background around it. */
1951 -#mainContentArea .resource-layout {
1952 - padding: 28px;
1953 - border: 1px solid fade(@line, 85%);
1954 - border-radius: @radius;
1955 - background: rgba(255, 255, 255, .88);
1956 - box-shadow: @shadow-sm;
1957 -}
1690 + &:before {
1691 + width: 4px;
1692 + }
1958 1958  
1959 -/* Ensure all reusable cards have a real surface, not transparent over the gradient. */
1960 -#mainContentArea .widget,
1961 -#mainContentArea .pathway-card,
1962 -#mainContentArea .service-card,
1963 -#mainContentArea .resource-card,
1964 -#mainContentArea .services .service,
1965 -#mainContentArea .product-card,
1966 -#mainContentArea .product-feature,
1967 -#mainContentArea .product-summary-card,
1968 -#mainContentArea .product-info-card {
1969 - background: #fff;
1970 -}
1694 + .product-card-icon {
1695 + margin-bottom: 2px;
1696 + }
1971 1971  
1972 -/* Make notes more readable and visually stronger. */
1973 -#mainContentArea .resource-note {
1974 - border: 1px solid fade(@brand, 18%);
1975 - border-left: 4px solid @brand;
1976 - background: #fff;
1977 - box-shadow: 0 10px 28px rgba(15, 23, 42, .045);
1978 -}
1698 + h3 {
1699 + font-size: 22px;
1700 + }
1701 + }
1979 1979  
1980 -/* Keep the sidebar clearly separated from the background. */
1981 -#mainContentArea .resource-sidebar {
1982 - background: #fff;
1983 -}
1703 + .product-card-actions {
1704 + gap: 12px;
1705 + }
1984 1984  
1985 -/* Make CTA panels stand out more clearly. */
1986 -#mainContentArea .resource-cta,
1987 -#mainContentArea .resource-inline-cta {
1988 - background: #fff;
1989 -}
1707 + .product-feature {
1708 + .card-heading,
1709 + .feature-heading {
1710 + gap: 12px;
1711 + }
1990 1990  
1991 -/* Improve table readability on long resource pages. */
1992 -#mainContentArea .resource-content table {
1993 - background: #fff;
1994 -}
1713 + .feature-icon {
1714 + width: 42px;
1715 + height: 42px;
1716 + font-size: 16px;
1717 + }
1718 + }
1995 1995  
1996 -#mainContentArea .resource-content table th {
1997 - color: @text;
1998 - background: #F8FAFC;
1999 -}
1720 + .gallery.xGallery {
1721 + width: 100%;
1722 + height: 56vw;
1723 + max-height: 360px;
1724 + margin-top: 22px !important;
1725 + }
2000 2000  
2001 -#mainContentArea .resource-content table td {
2002 - color: @text-soft;
2003 -}
2004 -
2005 -/* Slightly improve paragraph/list contrast in long articles. */
2006 -#mainContentArea .resource-content p,
2007 -#mainContentArea .resource-content li {
2008 - color: @text-soft;
2009 -}
2010 -
2011 -#mainContentArea .resource-content .resource-note p,
2012 -#mainContentArea .resource-content .resource-checklist li,
2013 -#mainContentArea .resource-content .process-list li {
2014 - color: @muted;
2015 -}
2016 -
2017 -@media (max-width: 900px) {
2018 - #mainContentArea .resource-layout {
2019 - padding: 22px;
1727 + .product-gallery-caption {
1728 + margin-top: 10px;
1729 + padding: 0 14px;
2020 2020   }
2021 -}
2022 2022  
2023 -@media (max-width: 640px) {
2024 - #mainContentArea .resource-layout {
2025 - padding: 18px;
2026 - border-radius: 14px;
1732 + .product-summary-card .process-list li {
1733 + padding-left: 46px;
2027 2027   }
2028 2028  }
2029 -
2030 -