Changes for page Public Web Site

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

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