Changes for page Public Web Site

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

From version 28.41
edited by Agnease
on 2026/07/03 14:19
Change comment: There is no comment for this version
To version 25.10
edited by Agnease
on 2026/06/30 11:06
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -2,45 +2,7 @@
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>
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>
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>
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>
28 - </div>
29 -
30 - <div class="hero-image-wrapper">
31 - <img
32 - class="hero-image"
33 - src="$xwiki.getDocument('PublicWebSite.WebHome').getAttachmentURL('agnease-xwiki-hero.png')"
34 - alt="Illustration of a professional XWiki platform dashboard with upgrade, security and maintenance elements"
35 - width="1200"
36 - height="900"
37 - loading="eager"
38 - />
39 - </div>
40 - </div>
41 - </div>
42 - </section>
43 -#*
44 44   <section class="hero hero-centered" aria-labelledby="hero-title">
45 45   <div class="container hero-inner">
46 46   <h1 id="hero-title">Professional XWiki consulting and engineering</h1>
... ... @@ -64,7 +64,7 @@
64 64   </div>
65 65   </div>
66 66   </section>
67 -*#
29 +
68 68   <section class="trust-strip" aria-label="Agnease experience">
69 69   <div class="container">
70 70   <ul>
... ... @@ -149,9 +149,9 @@
149 149   </div>
150 150   </section>
151 151  
152 - <section class="contrast-band" aria-labelledby="industry-trust-title">
114 + <section class="industry-trust-section" aria-labelledby="industry-trust-title">
153 153   <div class="container">
154 - <div class="contrast-panel">
116 + <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">
124 + <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">
135 + <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.
agnease-xwiki-hero.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Admin
Size
... ... @@ -1,1 +1,0 @@
1 -981.8 KB
Content
XWiki.StyleSheetExtension[0]
code
... ... @@ -1,4 +1,5 @@
1 1  /* ========== Agnease Public Website ========== */
2 +/* Old look and feel. */
2 2  /*
3 3  @brand: #00937D;
4 4  @brand-strong: #007B6A;
... ... @@ -12,19 +12,19 @@
12 12  @shadow: 0 12px 36px rgba(0, 0, 0, .08);
13 13  @maxw: 1140px;
14 14  */
15 -@brand: #00937D;
16 -@brand-strong: #007B6A;
17 -@brand-soft: #E7FFF8;
18 -@brand-bg: #F7F9FC;
19 -@text: #07182D;
20 -@text-soft: #10243D;
21 -@muted: #64748B;
22 -@line: #E6EBF2;
23 -@radius: 18px;
24 -@shadow-sm: 0 18px 45px rgba(15, 23, 42, .06);
25 -@shadow: 0 30px 80px rgba(15, 23, 42, .12);
26 -@maxw: 1140px;
27 27  
17 +@brand: #00937D;
18 +@brand-strong: #007B6A;
19 +@brand-bg: #F7F9FC;
20 +@text: #07182D;
21 +@text-soft: #10243D;
22 +@muted: #64748B;
23 +@line: #E6EBF2;
24 +@radius: 18px;
25 +@shadow-sm: 0 18px 45px rgba(15, 23, 42, .06);
26 +@shadow: 0 30px 80px rgba(15, 23, 42, .12);
27 +@maxw: 1240px;
28 +/* */
28 28  @section-padding: 30px 0;
29 29  @section-padding-mobile: 28px 0;
30 30  
... ... @@ -150,7 +150,7 @@
150 150  
151 151  /* ========== Buttons ========== */
152 152  
153 -/*.btn-primary {
154 +.btn-primary {
154 154   background: @brand;
155 155   border-color: @brand;
156 156   color: #fff;
... ... @@ -162,12 +162,18 @@
162 162   color: #fff;
163 163   }
164 164  }
165 -*/
166 +
166 166  .btn-secondary {
167 - color: @text;
168 + color: @brand;
168 168   background: #fff;
169 - border: 1px solid fade(@text, 35%);
170 + border: 1px solid fade(@brand, 35%);
170 170  
172 + &:hover,
173 + &:focus {
174 + color: @brand-strong;
175 + border-color: @brand;
176 + background: @brand-bg;
177 + }
171 171  }
172 172  
173 173  /* ========== Hero ========== */
... ... @@ -179,6 +179,9 @@
179 179  
180 180   &.hero-centered {
181 181   text-align: center;
189 + background:
190 + radial-gradient(50rem 18rem at 50% -10%, @brand-soft 0%, transparent 60%),
191 + radial-gradient(50rem 18rem at 50% 0%, #E8F6F3 0%, transparent 60%);
182 182   display: flex;
183 183   align-items: center;
184 184   justify-content: center;
... ... @@ -247,128 +247,37 @@
247 247   margin-top: 22px;
248 248  }
249 249  
250 -/* ========== Contrast Band ========== */
260 +/* ========== Trust Strip ========== */
251 251  
252 -.contrast-band {
253 - position: relative;
254 - z-index: 0;
255 - overflow: visible; /* allow pseudo-element to escape */
256 - padding: 54px 0;
257 - border-top: 0;
258 - color: #fff;
262 +.trust-strip {
263 + padding: 18px 0;
264 + border-top: 1px solid @line;
265 + background: #fff;
259 259  
260 - /* Remove gradient from here */
261 - background: none;
262 -}
267 + ul {
268 + max-width: 960px;
269 + margin: 0 auto;
270 + padding: 0;
271 + list-style: none;
272 + display: flex;
273 + justify-content: center;
274 + gap: 22px;
275 + flex-wrap: wrap;
276 + color: @muted;
277 + font-size: 13px;
278 + }
263 263  
264 -/* Full‑bleed gradient background */
265 -.contrast-band::before {
266 - content: "";
267 - position: absolute;
268 - top: 0;
269 - left: 50%;
270 - width: 100vw; /* full viewport width */
271 - height: 100%;
272 - transform: translateX(-50%);
273 - z-index: -1;
274 -
275 - background:
276 - radial-gradient(circle at 18% 18%, fade(@brand, 22%) 0%, transparent 28%),
277 - radial-gradient(circle at 86% 12%, fade(@brand, 16%) 0%, transparent 30%),
278 - linear-gradient(135deg, @text 0%, @text-soft 100%);
279 -}
280 -
281 -/* Grid overlay stays exactly as you had it */
282 -.contrast-band::after {
283 - content: "";
284 - position: absolute;
285 - inset: 0;
286 - background:
287 - linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px),
288 - linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px);
289 - background-size: 52px 52px;
290 - opacity: .38;
291 - pointer-events: none;
292 - z-index: 0;
293 -}
294 -
295 -.contrast-band .container {
296 - position: relative;
297 - z-index: 1;
298 -}
299 -
300 -/* Everything below stays unchanged */
301 -.contrast-panel {
302 - max-width: 1040px;
303 - margin: 0 auto;
304 - text-align: center;
305 -}
306 -
307 -.contrast-band h2 {
308 - max-width: 860px;
309 - margin: 0 auto 12px;
310 - color: #fff;
311 -}
312 -
313 -.contrast-band .section-intro {
314 - max-width: 840px;
315 - margin: 0 auto 26px;
316 - color: #D9E3EE;
317 -}
318 -
319 -.contrast-tags {
320 - max-width: 940px;
321 - margin: 0 auto;
322 - display: flex;
323 - flex-wrap: wrap;
324 - justify-content: center;
325 - gap: 10px;
326 -}
327 -
328 -.contrast-tags span {
329 - display: inline-flex;
330 - align-items: center;
331 - padding: 8px 13px;
332 - border: 1px solid fade(#fff, 18%);
333 - border-radius: 999px;
334 - background: fade(#fff, 8%);
335 - color: #F8FAFC;
336 - font-size: 13px;
337 - font-weight: 700;
338 - line-height: 1.2;
339 -}
340 -
341 -.contrast-tags span::before {
342 - content: "";
343 - width: 7px;
344 - height: 7px;
345 - margin-right: 8px;
346 - border-radius: 50%;
347 - background: @brand;
348 - box-shadow: 0 0 0 4px fade(@brand, 18%);
349 -}
350 -
351 -.contrast-support {
352 - max-width: 860px;
353 - margin: 30px auto 0;
354 - color: #D9E3EE;
355 - text-align: center;
356 - font-size: 15px;
357 - line-height: 1.7;
358 -}
359 -
360 -@media (max-width: 640px) {
361 - .contrast-band {
362 - padding: 40px 0;
280 + li {
281 + display: flex;
282 + align-items: center;
283 + gap: 7px;
363 363   }
364 364  
365 - .contrast-tags span {
366 - font-size: 12px;
367 - padding: 8px 11px;
286 + i {
287 + color: @brand;
368 368   }
369 369  }
370 370  
371 -
372 372  /* ========== Reusable Grids ========== */
373 373  
374 374  .card-grid,
... ... @@ -416,6 +416,7 @@
416 416  .pathway-card,
417 417  .service-card,
418 418  .resource-card {
338 + background: #fff;
419 419   border: 1px solid @line;
420 420   border-radius: @radius;
421 421   box-shadow: @shadow-sm;
... ... @@ -525,6 +525,80 @@
525 525   }
526 526  }
527 527  
448 +.industry-trust-section {
449 + background:
450 + radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 70%);
451 +
452 + .industry-trust-panel {
453 + max-width: 1040px;
454 + margin: 0 auto;
455 + padding: 30px 28px;
456 + border: 1px solid fade(@brand, 16%);
457 + border-radius: @radius;
458 + background:
459 + radial-gradient(34rem 12rem at 50% 0%, fade(@brand-soft, 75%) 0%, #fff 72%);
460 + box-shadow: @shadow-sm;
461 + text-align: center;
462 + }
463 +
464 + h2 {
465 + margin-bottom: 12px;
466 + }
467 +
468 + .section-intro {
469 + margin-bottom: 20px;
470 + max-width: 820px;
471 + }
472 +
473 + .industry-tags {
474 + max-width: 880px;
475 + margin: 0 auto;
476 + display: flex;
477 + flex-wrap: wrap;
478 + justify-content: center;
479 + gap: 10px;
480 + }
481 +
482 + .industry-tags span {
483 + display: inline-flex;
484 + align-items: center;
485 + padding: 7px 12px;
486 + border: 1px solid fade(@brand, 20%);
487 + border-radius: 999px;
488 + background: #fff;
489 + color: @text;
490 + font-size: 13px;
491 + font-weight: 600;
492 + line-height: 1.2;
493 + box-shadow: 0 3px 10px rgba(0, 0, 0, .04);
494 + }
495 +
496 + .industry-support {
497 + max-width: 820px;
498 + margin: 22px auto 0;
499 + color: @muted;
500 + font-size: 16px;
501 + line-height: 1.6;
502 + }
503 +}
504 +
505 +@media (max-width: 640px) {
506 + .industry-trust-section {
507 + .industry-trust-panel {
508 + padding: 24px 18px;
509 + }
510 +
511 + .industry-tags {
512 + gap: 8px;
513 + }
514 +
515 + .industry-tags span {
516 + font-size: 12px;
517 + padding: 6px 10px;
518 + }
519 + }
520 +}
521 +
528 528  /* ========== Services ========== */
529 529  
530 530  .services {
... ... @@ -537,6 +537,7 @@
537 537   align-items: flex-start;
538 538   gap: 16px;
539 539   padding: 22px;
534 + background: #fff;
540 540   border: 1px solid @line;
541 541   border-radius: @radius;
542 542   box-shadow: @shadow-sm;
... ... @@ -624,6 +624,7 @@
624 624   position: relative;
625 625   padding: 16px 16px 16px 58px;
626 626   margin-bottom: 12px;
622 + background: #fff;
627 627   border: 1px solid @line;
628 628   border-radius: @radius;
629 629   box-shadow: @shadow-sm;
... ... @@ -755,8 +755,8 @@
755 755  
756 756  /* ========== CTA ========== */
757 757  
758 -#mainContentArea .cta-section {
759 - padding: 44px 0 56px;
754 +.cta-section {
755 + padding: @section-padding;
760 760  
761 761   .contact-inline {
762 762   margin: 0;
... ... @@ -768,70 +768,27 @@
768 768   }
769 769  }
770 770  
771 -#mainContentArea .cta-panel {
772 - position: relative;
773 - overflow: hidden;
774 - max-width: 1040px;
767 +.cta-panel {
768 + max-width: 860px;
775 775   margin: 0 auto;
776 - padding: 48px 40px;
777 - border: 0;
778 - border-radius: 26px;
770 + padding: 32px;
771 + border-radius: @radius;
772 + border: 1px solid fade(@brand, 20%);
779 779   background:
780 - radial-gradient(circle at 88% 10%, fade(@brand, 24%) 0%, transparent 30%),
781 - linear-gradient(135deg, @text 0%, @text-soft 100%);
782 - color: #fff;
783 - box-shadow: @shadow;
774 + radial-gradient(34rem 12rem at 50% 0%, @brand-soft 0%, #fff 70%);
775 + box-shadow: @shadow-sm;
784 784   text-align: center;
785 -}
786 786  
787 -#mainContentArea .cta-panel::before {
788 - content: "";
789 - position: absolute;
790 - inset: 0;
791 - background:
792 - linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px),
793 - linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px);
794 - background-size: 48px 48px;
795 - opacity: .4;
796 - pointer-events: none;
797 -}
778 + h2 {
779 + margin-top: 0;
780 + }
798 798  
799 -#mainContentArea .cta-panel h2,
800 -#mainContentArea .cta-panel p,
801 -#mainContentArea .cta-panel .btn {
802 - position: relative;
803 - z-index: 1;
782 + p {
783 + color: @muted;
784 + line-height: 1.55;
785 + }
804 804  }
805 805  
806 -#mainContentArea .cta-panel h2 {
807 - max-width: 760px;
808 - margin: 0 auto 16px;
809 - color: #fff;
810 -}
811 -
812 -#mainContentArea .cta-panel p {
813 - max-width: 760px;
814 - margin: 0 auto 28px;
815 - color: #DBE4EF;
816 - font-size: 16px;
817 - line-height: 1.6;
818 -}
819 -
820 -#mainContentArea .cta-panel .btn-primary {
821 - border-color: #fff;
822 - background: #fff;
823 - color: @text;
824 - box-shadow: 0 18px 42px rgba(0, 0, 0, .18);
825 -}
826 -
827 -#mainContentArea .cta-panel .btn-primary:hover,
828 -#mainContentArea .cta-panel .btn-primary:focus {
829 - border-color: #fff;
830 - background: #fff;
831 - color: @brand-strong;
832 - text-decoration: none;
833 -}
834 -
835 835  .resource-inline-cta {
836 836   display: flex;
837 837   align-items: center;
... ... @@ -963,14 +963,9 @@
963 963   gap: 14px;
964 964   }
965 965  
966 - #mainContentArea .cta-panel {
967 - padding: 30px 22px;
968 - border-radius: 20px;
919 + .cta-panel {
920 + padding: 24px 20px;
969 969   }
970 -
971 - #mainContentArea .cta-panel .btn-primary {
972 - width: 100%;
973 - }
974 974  }
975 975  
976 976  /* ========== Resource / Article Pages ========== */
... ... @@ -982,6 +982,9 @@
982 982  .resource-header {
983 983   padding: @section-padding;
984 984   border-top: none;
933 + background:
934 + radial-gradient(50rem 18rem at 50% -10%, @brand-soft 0%, transparent 60%),
935 + radial-gradient(50rem 18rem at 50% 0%, #E8F6F3 0%, transparent 60%);
985 985  
986 986   h1 {
987 987   margin: 0 auto 14px;
... ... @@ -1129,6 +1129,7 @@
1129 1129   border: 1px solid @line;
1130 1130   border-radius: @radius;
1131 1131   padding: 18px;
1083 + background: #fff;
1132 1132   box-shadow: @shadow-sm;
1133 1133  
1134 1134   h4 {
... ... @@ -1227,6 +1227,7 @@
1227 1227  
1228 1228  .product-card {
1229 1229   position: relative;
1182 + background: #fff;
1230 1230   border: 1px solid @line;
1231 1231   border-radius: @radius;
1232 1232   box-shadow: @shadow-sm;
... ... @@ -1376,6 +1376,7 @@
1376 1376  .product-info-card,
1377 1377  .product-feature,
1378 1378  .product-gallery-panel {
1332 + background: #fff;
1379 1379   border: 1px solid @line;
1380 1380   border-radius: @radius;
1381 1381   box-shadow: @shadow-sm;
... ... @@ -1618,6 +1618,7 @@
1618 1618  /* ========== Resources Index ========== */
1619 1619  
1620 1620  .resources-index-page {
1575 + background: #fff;
1621 1621  
1622 1622   .services-grid {
1623 1623   grid-template-columns: repeat(2, minmax(0, 1fr));
... ... @@ -1653,284 +1653,3 @@
1653 1653   color: @muted;
1654 1654   }
1655 1655  }
1656 -
1657 -/* ========== Global Theme Background ========== */
1658 -
1659 -html,
1660 -body {
1661 - min-height: 100%;
1662 -}
1663 -
1664 -body {
1665 - color: @text;
1666 - background:
1667 - radial-gradient(circle at 12% 8%, rgba(0, 147, 125, 0.08) 0, transparent 26%),
1668 - radial-gradient(circle at 90% 28%, rgba(7, 24, 45, 0.05) 0, transparent 30%),
1669 - linear-gradient(180deg, #fff 0, @brand-bg 42%, #fff 100%) !important;
1670 - background-attachment: fixed;
1671 -}
1672 -
1673 -#mainContentArea {
1674 - padding: 0;
1675 - overflow-x: hidden;
1676 -}
1677 -
1678 -/* ========== Main Page Hero / SaaS Layout ========== */
1679 -
1680 -#mainContentArea .hero.hero-saas {
1681 - min-height: auto;
1682 - padding: 60px 0 34px;
1683 - display: flex;
1684 - align-items: center;
1685 - overflow: hidden;
1686 - background: transparent;
1687 -}
1688 -
1689 -#mainContentArea .hero-layout {
1690 - max-width: 1120px;
1691 - margin: 0 auto;
1692 - display: grid;
1693 - grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
1694 - gap: 56px;
1695 - align-items: center;
1696 -}
1697 -
1698 -#mainContentArea .hero-copy {
1699 - min-width: 0;
1700 - text-align: left;
1701 -}
1702 -
1703 -#mainContentArea .hero.hero-saas h1 {
1704 - max-width: 640px;
1705 - margin: 0 0 26px;
1706 - font-size: 60px;
1707 - font-weight: 800;
1708 - line-height: 1;
1709 - letter-spacing: -3px;
1710 -}
1711 -
1712 -#mainContentArea .hero.hero-saas h1 span {
1713 - color: @brand;
1714 -}
1715 -
1716 -#mainContentArea .hero.hero-saas .lead {
1717 - max-width: 590px;
1718 - margin: 0 0 28px;
1719 - color: #334155;
1720 - text-align: left;
1721 - font-size: 18px;
1722 - line-height: 1.6;
1723 -}
1724 -
1725 -#mainContentArea .hero.hero-saas .benefits {
1726 - max-width: 620px;
1727 - margin: 0 0 30px;
1728 - padding: 0;
1729 - display: grid;
1730 - grid-template-columns: repeat(2, minmax(0, 1fr));
1731 - gap: 10px 24px;
1732 - list-style: none;
1733 - color: #475569;
1734 - font-size: 15px;
1735 - text-align: left;
1736 -}
1737 -
1738 -#mainContentArea .hero.hero-saas .benefits li {
1739 - display: grid;
1740 - grid-template-columns: 18px minmax(0, 1fr);
1741 - column-gap: 8px;
1742 - align-items: start;
1743 - margin: 0;
1744 - line-height: 1.45;
1745 -}
1746 -
1747 -#mainContentArea .hero.hero-saas .benefits li::before {
1748 - content: "✓";
1749 - display: block;
1750 - width: 18px;
1751 - color: @brand;
1752 - font-weight: 900;
1753 - line-height: 1.45;
1754 - text-align: left;
1755 - margin: 0;
1756 -}
1757 -
1758 -#mainContentArea .hero.hero-saas .hero-actions,
1759 -#mainContentArea .hero.hero-saas #hero-cta {
1760 - display: flex;
1761 - flex-wrap: wrap;
1762 - justify-content: flex-start;
1763 - gap: 12px;
1764 - margin-top: 0;
1765 -}
1766 -
1767 -#mainContentArea .hero-image-wrapper {
1768 - min-width: 0;
1769 - display: flex;
1770 - justify-content: center;
1771 - align-items: center;
1772 -}
1773 -
1774 -#mainContentArea .hero-image {
1775 - display: block;
1776 - width: 100%;
1777 - max-width: 620px;
1778 - height: auto;
1779 - border: 0;
1780 -}
1781 -
1782 -/* ========== Main Page Hero Responsive ========== */
1783 -
1784 -@media (max-width: 1100px) {
1785 - #mainContentArea .hero-layout {
1786 - max-width: 760px;
1787 - grid-template-columns: 1fr;
1788 - gap: 34px;
1789 - }
1790 -
1791 - #mainContentArea .hero-copy {
1792 - order: 1;
1793 - text-align: center;
1794 - }
1795 -
1796 - #mainContentArea .hero-image-wrapper {
1797 - order: 2;
1798 - }
1799 -
1800 - #mainContentArea .hero.hero-saas h1 {
1801 - margin-left: auto;
1802 - margin-right: auto;
1803 - text-align: center;
1804 - }
1805 -
1806 - #mainContentArea .hero.hero-saas .lead {
1807 - margin-left: auto;
1808 - margin-right: auto;
1809 - text-align: center;
1810 - }
1811 -
1812 - #mainContentArea .hero.hero-saas .benefits {
1813 - margin-left: auto;
1814 - margin-right: auto;
1815 - }
1816 -
1817 - #mainContentArea .hero.hero-saas .hero-actions,
1818 - #mainContentArea .hero.hero-saas #hero-cta {
1819 - justify-content: center;
1820 - }
1821 -
1822 - #mainContentArea .hero-image {
1823 - max-width: 620px;
1824 - }
1825 -}
1826 -
1827 -@media (max-width: 640px) {
1828 - #mainContentArea .hero.hero-saas {
1829 - padding: 42px 0 28px;
1830 - }
1831 -
1832 - #mainContentArea .hero-layout {
1833 - gap: 28px;
1834 - }
1835 -
1836 - #mainContentArea .hero.hero-saas h1 {
1837 - font-size: 42px;
1838 - letter-spacing: -1.5px;
1839 - }
1840 -
1841 - #mainContentArea .hero.hero-saas .lead {
1842 - font-size: 17px;
1843 - }
1844 -
1845 - #mainContentArea .hero.hero-saas .benefits {
1846 - grid-template-columns: 1fr;
1847 - }
1848 -
1849 - #mainContentArea .hero-image {
1850 - max-width: 100%;
1851 - }
1852 -}
1853 -
1854 -/* ========== Accessibility / Contrast Improvements ========== */
1855 -
1856 -/* Keep the article area readable while preserving the page background around it. */
1857 -/*#mainContentArea .resource-layout {
1858 - padding: 28px;
1859 - border: 1px solid fade(@line, 85%);
1860 - border-radius: @radius;
1861 - background: rgba(255, 255, 255, .88);
1862 - box-shadow: @shadow-sm;
1863 -}*/
1864 -
1865 -/* Ensure all reusable cards have a real surface, not transparent over the gradient. */
1866 -#mainContentArea .widget,
1867 -#mainContentArea .pathway-card,
1868 -#mainContentArea .service-card,
1869 -#mainContentArea .resource-card,
1870 -#mainContentArea .services .service,
1871 -#mainContentArea .product-card,
1872 -#mainContentArea .product-feature,
1873 -#mainContentArea .product-summary-card,
1874 -#mainContentArea .product-info-card {
1875 - background: #fff;
1876 -}
1877 -
1878 -/* Make notes more readable and visually stronger. */
1879 -#mainContentArea .resource-note {
1880 - border: 1px solid fade(@brand, 18%);
1881 - border-left: 4px solid @brand;
1882 - background: #fff;
1883 - box-shadow: 0 10px 28px rgba(15, 23, 42, .045);
1884 -}
1885 -
1886 -/* Keep the sidebar clearly separated from the background. */
1887 -#mainContentArea .resource-sidebar {
1888 - background: #fff;
1889 -}
1890 -
1891 -/* Make CTA panels stand out more clearly. */
1892 -#mainContentArea .resource-cta,
1893 -#mainContentArea .resource-inline-cta {
1894 - background: #fff;
1895 -}
1896 -
1897 -/* Improve table readability on long resource pages. */
1898 -#mainContentArea .resource-content table {
1899 - background: #fff;
1900 -}
1901 -
1902 -#mainContentArea .resource-content table th {
1903 - color: @text;
1904 - background: #F8FAFC;
1905 -}
1906 -
1907 -#mainContentArea .resource-content table td {
1908 - color: @text-soft;
1909 -}
1910 -
1911 -/* Slightly improve paragraph/list contrast in long articles. */
1912 -#mainContentArea .resource-content p,
1913 -#mainContentArea .resource-content li {
1914 - color: @text-soft;
1915 -}
1916 -
1917 -#mainContentArea .resource-content .resource-note p,
1918 -#mainContentArea .resource-content .resource-checklist li,
1919 -#mainContentArea .resource-content .process-list li {
1920 - color: @muted;
1921 -}
1922 -
1923 -@media (max-width: 900px) {
1924 - #mainContentArea .resource-layout {
1925 - padding: 22px;
1926 - }
1927 -}
1928 -
1929 -@media (max-width: 640px) {
1930 - #mainContentArea .resource-layout {
1931 - padding: 18px;
1932 - border-radius: 14px;
1933 - }
1934 -}
1935 -
1936 -