Changes for page Public Web Site

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

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

Summary

Details

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