Changes for page Public Web Site

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

From version 28.27
edited by Agnease
on 2026/07/03 13:20
Change comment: There is no comment for this version
To version 25.54
edited by Agnease
on 2026/06/30 12:26
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -2,44 +2,94 @@
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 -
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>
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 + <p class="lead">
11 + Agnease helps organizations upgrade, maintain, secure and extend production XWiki platforms with practical engineering support, custom development, integrations and long-term care.
12 + </p>
13 + <ul class="benefits">
14 + <li>XWiki LTS upgrades</li>
15 + <li>Maintenance and support</li>
16 + <li>Custom XWiki development</li>
17 + <li>Migrations and integrations</li>
18 + </ul>
19 + <div class="hero-actions" id="hero-cta">
20 + <a class="btn btn-primary" href="https://calendly.com/alex-agnease/30min?back=1&month=2026-06">
21 + Book a free discussion
22 + </a>
23 + <a class="btn btn-secondary" href="$xwiki.getURL('services.WebHome')">View XWiki services</a>
24 + </div>
25 + </div>
26 + <div class="hero-visual" aria-hidden="true">
27 + <div class="hero-browser">
28 + <div class="hero-browser-top">
29 + <div class="hero-dot"></div>
30 + <div class="hero-dot"></div>
31 + <div class="hero-dot"></div>
32 + <div class="hero-search"></div>
27 27   </div>
34 + <div class="hero-browser-body">
35 + <div class="hero-sidebar">
36 + <div class="hero-nav-item"><span class="hero-nav-icon"></span>Home</div>
37 + <div class="hero-nav-item"><span class="hero-nav-icon"></span>Documentation</div>
38 + <div class="hero-nav-item"><span class="hero-nav-icon"></span>Processes</div>
39 + <div class="hero-nav-item"><span class="hero-nav-icon"></span>Policies</div>
40 + <div class="hero-nav-item"><span class="hero-nav-icon"></span>Teams</div>
41 + </div>
42 + <div class="hero-content-panel">
43 + <div class="hero-panel-title">Production XWiki Platform</div>
44 + <div class="hero-skeleton"></div>
45 + <div class="hero-skeleton"></div>
46 + <div class="hero-skeleton short"></div>
47 + <div class="hero-dashboard-grid">
48 + <div class="hero-mini-card">
49 + <h4>Recent work</h4>
50 + <div class="hero-status-row"><span class="hero-status-dot"></span>LTS upgrade plan</div>
51 + <div class="hero-status-row"><span class="hero-status-dot"></span>Extension review</div>
52 + <div class="hero-status-row"><span class="hero-status-dot"></span>Production validation</div>
53 + </div>
54 + <div class="hero-mini-card">
55 + <h4>Platform care</h4>
56 + <div class="hero-status-row"><span class="hero-status-dot"></span>Permissions</div>
57 + <div class="hero-status-row"><span class="hero-status-dot"></span>Authentication</div>
58 + <div class="hero-status-row"><span class="hero-status-dot"></span>Maintainability</div>
59 + </div>
60 + </div>
61 + </div>
62 + </div>
28 28   </div>
29 -
30 - <div class="hero-image-wrapper">
31 - <img
32 - class="hero-image"
33 - src="$xwiki.getDocument('PublicWebSite.WebHome').getAttachmentURL('agnease-xwiki-hero.png')"
34 - alt="Illustration of a professional XWiki platform dashboard with upgrade, security and maintenance elements"
35 - width="1200"
36 - height="900"
37 - loading="eager"
38 - />
64 + <div class="hero-floating hero-upgrade-card">
65 + <div class="hero-card-title">Upgrade with confidence</div>
66 + <div class="hero-version-flow">
67 + <div class="hero-version">XWiki<br/>LTS</div>
68 + <div class="hero-arrow">→</div>
69 + <div class="hero-version">Staging</div>
70 + <div class="hero-arrow">→</div>
71 + <div class="hero-version active">Production</div>
72 + </div>
39 39   </div>
74 + <div class="hero-floating hero-security-card">
75 + <div class="hero-card-title">Security-aware maintenance</div>
76 + <ul>
77 + <li>Permissions review</li>
78 + <li>Authentication support</li>
79 + <li>Audit and traceability</li>
80 + </ul>
81 + </div>
82 + <div class="hero-flow">
83 + <div class="hero-env">Review</div>
84 + <div class="hero-arrow">→</div>
85 + <div class="hero-env">Plan</div>
86 + <div class="hero-arrow">→</div>
87 + <div class="hero-env">Validate</div>
88 + </div>
40 40   </div>
41 41   </div>
42 - </section>
91 + </div>
92 + </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">
202 + <section class="industry-trust-section" aria-labelledby="industry-trust-title">
153 153   <div class="container">
154 - <div class="contrast-panel">
204 + <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">
212 + <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">
223 + <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
... ... @@ -164,10 +164,16 @@
164 164  }
165 165  */
166 166  .btn-secondary {
167 - color: @text;
168 - background: #fff;
169 - border: 1px solid fade(@text, 35%);
167 + color: #fff;
168 + background: @brand-strong;
169 + border: 1px solid fade(@brand, 35%);
170 170  
171 + &:hover,
172 + &:focus {
173 + color: @brand-strong;
174 + border-color: @brand;
175 + background: @brand-bg;
176 + }
171 171  }
172 172  
173 173  /* ========== Hero ========== */
... ... @@ -247,122 +247,33 @@
247 247   margin-top: 22px;
248 248  }
249 249  
250 -/* ========== Contrast Band ========== */
256 +/* ========== Trust Strip ========== */
251 251  
252 -.contrast-band {
253 - position: relative;
254 - overflow: visible;
255 - isolation: isolate;
256 - padding: 54px 0;
257 - border-top: 0;
258 - color: #fff;
259 - background: transparent;
260 -}
258 +.trust-strip {
259 + padding: 18px 0;
260 + border-top: 1px solid @line;
261 261  
262 -.contrast-band::before {
263 - content: "";
264 - position: absolute;
265 - top: 0;
266 - bottom: 0;
267 - left: 50%;
268 - width: calc(100vw - 1px);
269 - transform: translateX(-50%);
270 - z-index: -2;
271 - background:
272 - radial-gradient(circle at 18% 18%, fade(@brand, 22%) 0%, transparent 28%),
273 - radial-gradient(circle at 86% 12%, fade(@brand, 16%) 0%, transparent 30%),
274 - linear-gradient(135deg, @text 0%, @text-soft 100%);
275 -}
262 + ul {
263 + max-width: 960px;
264 + margin: 0 auto;
265 + padding: 0;
266 + list-style: none;
267 + display: flex;
268 + justify-content: center;
269 + gap: 22px;
270 + flex-wrap: wrap;
271 + color: @muted;
272 + font-size: 13px;
273 + }
276 276  
277 -.contrast-band::after {
278 - content: "";
279 - position: absolute;
280 - top: 0;
281 - bottom: 0;
282 - left: 50%;
283 - width: calc(100vw - 1px);
284 - transform: translateX(-50%);
285 - z-index: -1;
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 -}
293 -
294 -.contrast-band .container {
295 - position: relative;
296 - z-index: 1;
297 -}
298 -
299 -.contrast-panel {
300 - max-width: 1040px;
301 - margin: 0 auto;
302 - text-align: center;
303 -}
304 -
305 -.contrast-band h2 {
306 - max-width: 860px;
307 - margin: 0 auto 12px;
308 - color: #fff;
309 -}
310 -
311 -.contrast-band .section-intro {
312 - max-width: 840px;
313 - margin: 0 auto 26px;
314 - color: #D9E3EE;
315 -}
316 -
317 -.contrast-tags {
318 - max-width: 940px;
319 - margin: 0 auto;
320 - display: flex;
321 - flex-wrap: wrap;
322 - justify-content: center;
323 - gap: 10px;
324 -}
325 -
326 -.contrast-tags span {
327 - display: inline-flex;
328 - align-items: center;
329 - padding: 8px 13px;
330 - border: 1px solid fade(#fff, 18%);
331 - border-radius: 999px;
332 - background: fade(#fff, 8%);
333 - color: #F8FAFC;
334 - font-size: 13px;
335 - font-weight: 700;
336 - line-height: 1.2;
337 -}
338 -
339 -.contrast-tags span::before {
340 - content: "";
341 - width: 7px;
342 - height: 7px;
343 - margin-right: 8px;
344 - border-radius: 50%;
345 - background: @brand;
346 - box-shadow: 0 0 0 4px fade(@brand, 18%);
347 -}
348 -
349 -.contrast-support {
350 - max-width: 860px;
351 - margin: 30px auto 0;
352 - color: #D9E3EE;
353 - text-align: center;
354 - font-size: 15px;
355 - line-height: 1.7;
356 -}
357 -
358 -@media (max-width: 640px) {
359 - .contrast-band {
360 - padding: 40px 0;
275 + li {
276 + display: flex;
277 + align-items: center;
278 + gap: 7px;
361 361   }
362 362  
363 - .contrast-tags span {
364 - font-size: 12px;
365 - padding: 8px 11px;
281 + i {
282 + color: @brand;
366 366   }
367 367  }
368 368  
... ... @@ -522,6 +522,80 @@
522 522   }
523 523  }
524 524  
442 +.industry-trust-section {
443 + background:
444 + radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 70%);
445 +
446 + .industry-trust-panel {
447 + max-width: 1040px;
448 + margin: 0 auto;
449 + padding: 30px 28px;
450 + border: 1px solid fade(@brand, 16%);
451 + border-radius: @radius;
452 + background:
453 + radial-gradient(34rem 12rem at 50% 0%, fade(@brand-soft, 75%) 0%, #fff 72%);
454 + box-shadow: @shadow-sm;
455 + text-align: center;
456 + }
457 +
458 + h2 {
459 + margin-bottom: 12px;
460 + }
461 +
462 + .section-intro {
463 + margin-bottom: 20px;
464 + max-width: 820px;
465 + }
466 +
467 + .industry-tags {
468 + max-width: 880px;
469 + margin: 0 auto;
470 + display: flex;
471 + flex-wrap: wrap;
472 + justify-content: center;
473 + gap: 10px;
474 + }
475 +
476 + .industry-tags span {
477 + display: inline-flex;
478 + align-items: center;
479 + padding: 7px 12px;
480 + border: 1px solid fade(@brand, 20%);
481 + border-radius: 999px;
482 + background: #fff;
483 + color: @text;
484 + font-size: 13px;
485 + font-weight: 600;
486 + line-height: 1.2;
487 + box-shadow: 0 3px 10px rgba(0, 0, 0, .04);
488 + }
489 +
490 + .industry-support {
491 + max-width: 820px;
492 + margin: 22px auto 0;
493 + color: @muted;
494 + font-size: 16px;
495 + line-height: 1.6;
496 + }
497 +}
498 +
499 +@media (max-width: 640px) {
500 + .industry-trust-section {
501 + .industry-trust-panel {
502 + padding: 24px 18px;
503 + }
504 +
505 + .industry-tags {
506 + gap: 8px;
507 + }
508 +
509 + .industry-tags span {
510 + font-size: 12px;
511 + padding: 6px 10px;
512 + }
513 + }
514 +}
515 +
525 525  /* ========== Services ========== */
526 526  
527 527  .services {
... ... @@ -752,8 +752,8 @@
752 752  
753 753  /* ========== CTA ========== */
754 754  
755 -#mainContentArea .cta-section {
756 - padding: 44px 0 56px;
746 +.cta-section {
747 + padding: @section-padding;
757 757  
758 758   .contact-inline {
759 759   margin: 0;
... ... @@ -765,70 +765,25 @@
765 765   }
766 766  }
767 767  
768 -#mainContentArea .cta-panel {
769 - position: relative;
770 - overflow: hidden;
771 - max-width: 1040px;
759 +.cta-panel {
760 + max-width: 860px;
772 772   margin: 0 auto;
773 - padding: 48px 40px;
774 - border: 0;
775 - border-radius: 26px;
776 - background:
777 - radial-gradient(circle at 88% 10%, fade(@brand, 24%) 0%, transparent 30%),
778 - linear-gradient(135deg, @text 0%, @text-soft 100%);
779 - color: #fff;
780 - box-shadow: @shadow;
762 + padding: 32px;
763 + border-radius: @radius;
764 + border: 1px solid fade(@brand, 20%);
765 + box-shadow: @shadow-sm;
781 781   text-align: center;
782 -}
783 783  
784 -#mainContentArea .cta-panel::before {
785 - content: "";
786 - position: absolute;
787 - inset: 0;
788 - background:
789 - linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px),
790 - linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px);
791 - background-size: 48px 48px;
792 - opacity: .4;
793 - pointer-events: none;
794 -}
768 + h2 {
769 + margin-top: 0;
770 + }
795 795  
796 -#mainContentArea .cta-panel h2,
797 -#mainContentArea .cta-panel p,
798 -#mainContentArea .cta-panel .btn {
799 - position: relative;
800 - z-index: 1;
772 + p {
773 + color: @muted;
774 + line-height: 1.55;
775 + }
801 801  }
802 802  
803 -#mainContentArea .cta-panel h2 {
804 - max-width: 760px;
805 - margin: 0 auto 16px;
806 - color: #fff;
807 -}
808 -
809 -#mainContentArea .cta-panel p {
810 - max-width: 760px;
811 - margin: 0 auto 28px;
812 - color: #DBE4EF;
813 - font-size: 16px;
814 - line-height: 1.6;
815 -}
816 -
817 -#mainContentArea .cta-panel .btn-primary {
818 - border-color: #fff;
819 - background: #fff;
820 - color: @text;
821 - box-shadow: 0 18px 42px rgba(0, 0, 0, .18);
822 -}
823 -
824 -#mainContentArea .cta-panel .btn-primary:hover,
825 -#mainContentArea .cta-panel .btn-primary:focus {
826 - border-color: #fff;
827 - background: #fff;
828 - color: @brand-strong;
829 - text-decoration: none;
830 -}
831 -
832 832  .resource-inline-cta {
833 833   display: flex;
834 834   align-items: center;
... ... @@ -960,14 +960,9 @@
960 960   gap: 14px;
961 961   }
962 962  
963 - #mainContentArea .cta-panel {
964 - padding: 30px 22px;
965 - border-radius: 20px;
909 + .cta-panel {
910 + padding: 24px 20px;
966 966   }
967 -
968 - #mainContentArea .cta-panel .btn-primary {
969 - width: 100%;
970 - }
971 971  }
972 972  
973 973  /* ========== Resource / Article Pages ========== */
... ... @@ -1667,13 +1667,41 @@
1667 1667   background-attachment: fixed;
1668 1668  }
1669 1669  
1670 -#mainContentArea {
1671 - padding: 0;
1672 - overflow-x: hidden;
1611 +/* Let the body background show through the XWiki wrappers.
1612 +#mainContentArea,
1613 +.resource-page,
1614 +.resources-index-page {
1615 + background: transparent !important;
1616 + background-image: none !important;
1673 1673  }
1618 +*/
1619 +/* Remove local decorative backgrounds that compete with the global gradient.
1620 +.hero,
1621 +.hero.hero-centered,
1622 +.trust-strip,
1623 +.industry-trust-section,
1624 +.split-section,
1625 +.resource-strip,
1626 +.homepage-resource-strip,
1627 +.resource-header,
1628 +.product-section-muted,
1629 +.resources-index-page {
1630 + background: transparent !important;
1631 + background-image: none !important;
1632 +}
1633 + */
1634 +/* Keep large panels readable, but remove their inner gradients.
1635 +.industry-trust-section .industry-trust-panel,
1636 +.cta-panel,
1637 +.resource-inline-cta,
1638 +.resource-note,
1639 +.resource-cta {
1640 + background: #fff !important;
1641 + background-image: none !important;
1642 +} */
1674 1674  
1675 -/* ========== Main Page Hero / SaaS Layout ========== */
1676 1676  
1645 +/* ========== Hero ========== */
1677 1677  #mainContentArea .hero.hero-saas {
1678 1678   min-height: auto;
1679 1679   padding: 60px 0 34px;
... ... @@ -1682,21 +1682,18 @@
1682 1682   overflow: hidden;
1683 1683   background: transparent;
1684 1684  }
1685 -
1686 1686  #mainContentArea .hero-layout {
1687 1687   max-width: 1120px;
1688 1688   margin: 0 auto;
1689 1689   display: grid;
1690 - grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
1658 + grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
1691 1691   gap: 56px;
1692 1692   align-items: center;
1693 1693  }
1694 -
1695 -#mainContentArea .hero-copy {
1696 - min-width: 0;
1662 +#mainContentArea .hero-copy,
1663 +#mainContentArea .hero.hero-saas .lead {
1697 1697   text-align: left;
1698 1698  }
1699 -
1700 1700  #mainContentArea .hero.hero-saas h1 {
1701 1701   max-width: 640px;
1702 1702   margin: 0 0 26px;
... ... @@ -1705,20 +1705,16 @@
1705 1705   line-height: 1;
1706 1706   letter-spacing: -3px;
1707 1707  }
1708 -
1709 1709  #mainContentArea .hero.hero-saas h1 span {
1710 1710   color: @brand;
1711 1711  }
1712 -
1713 1713  #mainContentArea .hero.hero-saas .lead {
1714 1714   max-width: 590px;
1715 1715   margin: 0 0 28px;
1716 1716   color: #334155;
1717 - text-align: left;
1718 1718   font-size: 18px;
1719 1719   line-height: 1.6;
1720 1720  }
1721 -
1722 1722  #mainContentArea .hero.hero-saas .benefits {
1723 1723   max-width: 620px;
1724 1724   margin: 0 0 30px;
... ... @@ -1731,7 +1731,6 @@
1731 1731   font-size: 15px;
1732 1732   text-align: left;
1733 1733  }
1734 -
1735 1735  #mainContentArea .hero.hero-saas .benefits li {
1736 1736   display: grid;
1737 1737   grid-template-columns: 18px minmax(0, 1fr);
... ... @@ -1740,7 +1740,6 @@
1740 1740   margin: 0;
1741 1741   line-height: 1.45;
1742 1742  }
1743 -
1744 1744  #mainContentArea .hero.hero-saas .benefits li::before {
1745 1745   content: "✓";
1746 1746   display: block;
... ... @@ -1751,192 +1751,212 @@
1751 1751   text-align: left;
1752 1752   margin: 0;
1753 1753  }
1754 -
1755 -#mainContentArea .hero.hero-saas .hero-actions,
1756 -#mainContentArea .hero.hero-saas #hero-cta {
1714 +#mainContentArea .hero-actions,
1715 +#mainContentArea #hero-cta {
1757 1757   display: flex;
1758 1758   flex-wrap: wrap;
1759 1759   justify-content: flex-start;
1760 1760   gap: 12px;
1761 - margin-top: 0;
1762 1762  }
1763 -
1764 -#mainContentArea .hero-image-wrapper {
1765 - min-width: 0;
1721 +#mainContentArea .hero-visual {
1722 + position: relative;
1723 + min-height: 540px;
1724 +}
1725 +#mainContentArea .hero-browser,
1726 +#mainContentArea .hero-floating {
1727 + border: 1px solid @line;
1728 + background: fade(#fff, 94%);
1729 + box-shadow: @shadow;
1730 + backdrop-filter: blur(14px);
1731 +}
1732 +#mainContentArea .hero-browser {
1733 + position: absolute;
1734 + top: 8px;
1735 + right: 0;
1736 + width: 100%;
1737 + max-width: 720px;
1738 + overflow: hidden;
1739 + border-radius: 18px;
1740 + background: fade(#fff, 88%);
1741 +}
1742 +#mainContentArea .hero-browser-top {
1743 + height: 58px;
1766 1766   display: flex;
1767 - justify-content: center;
1768 1768   align-items: center;
1746 + gap: 10px;
1747 + padding: 0 24px;
1748 + border-bottom: 1px solid @line;
1749 + background: fade(#fff, 74%);
1769 1769  }
1770 -
1771 -#mainContentArea .hero-image {
1772 - display: block;
1773 - width: 100%;
1774 - max-width: 620px;
1775 - height: auto;
1776 - border: 0;
1751 +#mainContentArea .hero-dot,
1752 +#mainContentArea .hero-status-dot {
1753 + border-radius: 50%;
1777 1777  }
1778 -
1779 -/* ========== Main Page Hero Responsive ========== */
1780 -
1781 -@media (max-width: 1100px) {
1782 - #mainContentArea .hero-layout {
1783 - max-width: 760px;
1784 - grid-template-columns: 1fr;
1785 - gap: 34px;
1786 - }
1787 -
1788 - #mainContentArea .hero-copy {
1789 - order: 1;
1790 - text-align: center;
1791 - }
1792 -
1793 - #mainContentArea .hero-image-wrapper {
1794 - order: 2;
1795 - }
1796 -
1797 - #mainContentArea .hero.hero-saas h1 {
1798 - margin-left: auto;
1799 - margin-right: auto;
1800 - text-align: center;
1801 - }
1802 -
1803 - #mainContentArea .hero.hero-saas .lead {
1804 - margin-left: auto;
1805 - margin-right: auto;
1806 - text-align: center;
1807 - }
1808 -
1809 - #mainContentArea .hero.hero-saas .benefits {
1810 - margin-left: auto;
1811 - margin-right: auto;
1812 - }
1813 -
1814 - #mainContentArea .hero.hero-saas .hero-actions,
1815 - #mainContentArea .hero.hero-saas #hero-cta {
1816 - justify-content: center;
1817 - }
1818 -
1819 - #mainContentArea .hero-image {
1820 - max-width: 620px;
1821 - }
1755 +#mainContentArea .hero-dot {
1756 + width: 10px;
1757 + height: 10px;
1758 + background: #CBD5E1;
1822 1822  }
1823 -
1824 -@media (max-width: 640px) {
1825 - #mainContentArea .hero.hero-saas {
1826 - padding: 42px 0 28px;
1827 - }
1828 -
1829 - #mainContentArea .hero-layout {
1830 - gap: 28px;
1831 - }
1832 -
1833 - #mainContentArea .hero.hero-saas h1 {
1834 - font-size: 42px;
1835 - letter-spacing: -1.5px;
1836 - }
1837 -
1838 - #mainContentArea .hero.hero-saas .lead {
1839 - font-size: 17px;
1840 - }
1841 -
1842 - #mainContentArea .hero.hero-saas .benefits {
1843 - grid-template-columns: 1fr;
1844 - }
1845 -
1846 - #mainContentArea .hero-image {
1847 - max-width: 100%;
1848 - }
1760 +#mainContentArea .hero-status-dot {
1761 + width: 8px;
1762 + height: 8px;
1763 + background: @brand;
1849 1849  }
1850 -
1851 -/* ========== Accessibility / Contrast Improvements ========== */
1852 -
1853 -/* Make the global background softer and less distracting. */
1854 -body {
1855 - background:
1856 - radial-gradient(circle at 12% 8%, rgba(0, 147, 125, 0.035) 0, transparent 26%),
1857 - radial-gradient(circle at 90% 28%, rgba(7, 24, 45, 0.025) 0, transparent 30%),
1858 - linear-gradient(180deg, #fff 0, @brand-bg 42%, #fff 100%) !important;
1859 - background-attachment: scroll;
1765 +#mainContentArea .hero-search {
1766 + margin-left: auto;
1767 + width: 170px;
1768 + height: 26px;
1769 + border: 1px solid #E2E8F0;
1770 + border-radius: 20px;
1771 + background: #F1F5F9;
1860 1860  }
1861 -
1862 -/* Keep the article area readable while preserving the page background around it. */
1863 -#mainContentArea .resource-layout {
1864 - padding: 28px;
1865 - border: 1px solid fade(@line, 85%);
1866 - border-radius: @radius;
1867 - background: rgba(255, 255, 255, .88);
1868 - box-shadow: @shadow-sm;
1773 +#mainContentArea .hero-browser-body {
1774 + display: grid;
1775 + grid-template-columns: 150px minmax(0, 1fr);
1869 1869  }
1870 -
1871 -/* Ensure all reusable cards have a real surface, not transparent over the gradient. */
1872 -#mainContentArea .widget,
1873 -#mainContentArea .pathway-card,
1874 -#mainContentArea .service-card,
1875 -#mainContentArea .resource-card,
1876 -#mainContentArea .services .service,
1877 -#mainContentArea .product-card,
1878 -#mainContentArea .product-feature,
1879 -#mainContentArea .product-summary-card,
1880 -#mainContentArea .product-info-card {
1881 - background: #fff;
1777 +#mainContentArea .hero-sidebar {
1778 + padding: 24px 18px;
1779 + border-right: 1px solid @line;
1780 + background: #F8FAFC;
1882 1882  }
1883 -
1884 -/* Make notes more readable and visually stronger. */
1885 -#mainContentArea .resource-note {
1886 - border: 1px solid fade(@brand, 18%);
1887 - border-left: 4px solid @brand;
1888 - background: #fff;
1889 - box-shadow: 0 10px 28px rgba(15, 23, 42, .045);
1782 +#mainContentArea .hero-nav-item,
1783 +#mainContentArea .hero-status-row,
1784 +#mainContentArea .hero-version-flow,
1785 +#mainContentArea .hero-flow {
1786 + display: flex;
1787 + align-items: center;
1890 1890  }
1891 -
1892 -/* Keep the sidebar clearly separated from the background. */
1893 -#mainContentArea .resource-sidebar {
1894 - background: #fff;
1789 +#mainContentArea .hero-nav-item {
1790 + gap: 9px;
1791 + padding: 10px 8px;
1792 + color: #334155;
1793 + font-size: 13px;
1895 1895  }
1896 -
1897 -/* Make CTA panels stand out more clearly. */
1898 -#mainContentArea .resource-cta,
1899 -#mainContentArea .resource-inline-cta {
1900 - background: #fff;
1795 +#mainContentArea .hero-nav-icon {
1796 + width: 20px;
1797 + height: 20px;
1798 + border: 1px solid #CBD5E1;
1799 + border-radius: 5px;
1901 1901  }
1902 -
1903 -/* Improve table readability on long resource pages. */
1904 -#mainContentArea .resource-content table {
1905 - background: #fff;
1801 +#mainContentArea .hero-content-panel {
1802 + padding: 26px;
1906 1906  }
1907 -
1908 -#mainContentArea .resource-content table th {
1804 +#mainContentArea .hero-panel-title,
1805 +#mainContentArea .hero-card-title {
1909 1909   color: @text;
1910 - background: #F8FAFC;
1807 + font-weight: 800;
1911 1911  }
1912 -
1913 -#mainContentArea .resource-content table td {
1914 - color: @text-soft;
1809 +#mainContentArea .hero-panel-title {
1810 + margin-bottom: 18px;
1811 + font-size: 20px;
1915 1915  }
1916 -
1917 -/* Slightly improve paragraph/list contrast in long articles. */
1918 -#mainContentArea .resource-content p,
1919 -#mainContentArea .resource-content li {
1920 - color: @text-soft;
1813 +#mainContentArea .hero-skeleton {
1814 + height: 8px;
1815 + margin-bottom: 10px;
1816 + border-radius: 10px;
1817 + background: #E2E8F0;
1921 1921  }
1922 -
1923 -#mainContentArea .resource-content .resource-note p,
1924 -#mainContentArea .resource-content .resource-checklist li,
1925 -#mainContentArea .resource-content .process-list li {
1926 - color: @muted;
1819 +#mainContentArea .hero-skeleton.short {
1820 + width: 64%;
1927 1927  }
1928 -
1929 -@media (max-width: 900px) {
1930 - #mainContentArea .resource-layout {
1931 - padding: 22px;
1932 - }
1822 +#mainContentArea .hero-dashboard-grid {
1823 + margin-top: 28px;
1824 + display: grid;
1825 + grid-template-columns: repeat(2, minmax(0, 1fr));
1826 + gap: 18px;
1933 1933  }
1934 -
1935 -@media (max-width: 640px) {
1936 - #mainContentArea .resource-layout {
1937 - padding: 18px;
1938 - border-radius: 14px;
1939 - }
1828 +#mainContentArea .hero-mini-card {
1829 + padding: 18px;
1830 + border: 1px solid @line;
1831 + border-radius: 14px;
1832 + background: #fff;
1940 1940  }
1834 +#mainContentArea .hero-mini-card h4 {
1835 + margin: 0 0 14px;
1836 + font-size: 15px;
1837 +}
1838 +#mainContentArea .hero-status-row {
1839 + gap: 10px;
1840 + margin: 11px 0;
1841 + color: #475569;
1842 + font-size: 13px;
1843 +}
1844 +#mainContentArea .hero-floating {
1845 + position: absolute;
1846 + border-radius: 16px;
1847 +}
1848 +#mainContentArea .hero-upgrade-card {
1849 + left: 0;
1850 + bottom: 72px;
1851 + width: 320px;
1852 + padding: 20px;
1853 +}
1854 +#mainContentArea .hero-security-card {
1855 + right: 20px;
1856 + top: 260px;
1857 + width: 260px;
1858 + padding: 22px;
1859 +}
1860 +#mainContentArea .hero-security-card ul {
1861 + margin: 0;
1862 + padding: 0;
1863 + list-style: none;
1864 +}
1865 +#mainContentArea .hero-security-card li {
1866 + margin: 12px 0;
1867 + font-size: 14px;
1868 +}
1869 +#mainContentArea .hero-security-card li::before {
1870 + content: "✓";
1871 + margin-right: 8px;
1872 + color: @brand;
1873 + font-weight: 900;
1874 +}
1875 +#mainContentArea .hero-card-title {
1876 + margin-bottom: 16px;
1877 +}
1878 +#mainContentArea .hero-version-flow {
1879 + gap: 8px;
1880 +}
1881 +#mainContentArea .hero-version {
1882 + width: 62px;
1883 + height: 54px;
1884 + padding: 0 8px;
1885 + display: grid;
1886 + place-items: center;
1887 + box-sizing: border-box;
1888 + border-radius: 8px;
1889 + background: #F1F5F9;
1890 + color: #334155;
1891 + text-align: center;
1892 + font-size: 13px;
1893 + line-height: 1.25;
1894 +}
1895 +#mainContentArea .hero-version.active {
1896 + width: 84px;
1897 + background: @text;
1898 + color: #fff;
1899 +}
1900 +#mainContentArea .hero-arrow {
1901 + color: #64748B;
1902 +}
1903 +#mainContentArea .hero-flow {
1904 + position: absolute;
1905 + right: 48px;
1906 + bottom: 18px;
1907 + gap: 12px;
1908 +}
1909 +#mainContentArea .hero-env {
1910 + min-width: 130px;
1911 + padding: 16px 20px;
1912 + border: 1px solid @line;
1913 + border-radius: 12px;
1914 + background: #fff;
1915 + color: #475569;
1916 + text-align: center;
1917 + text-transform: uppercase;
1918 + font-size: 12px;
1919 + letter-spacing: 1.3px;
1920 + box-shadow: 0 16px 40px rgba(15, 23, 42, .08);
1921 +}
1941 1941  
1942 -