Changes for page Public Web Site

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

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

Summary

Details

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