Changes for page Public Web Site

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

From version 28.40
edited by Agnease
on 2026/07/03 14:19
Change comment: There is no comment for this version
To version 25.45
edited by Agnease
on 2026/06/30 12:21
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
... ... @@ -12,7 +12,7 @@
12 12  @shadow: 0 12px 36px rgba(0, 0, 0, .08);
13 13  @maxw: 1140px;
14 14  */
15 -@brand: #00937D;
15 +@brand: #07182d;
16 16  @brand-strong: #007B6A;
17 17  @brand-soft: #E7FFF8;
18 18  @brand-bg: #F7F9FC;
... ... @@ -164,10 +164,16 @@
164 164  }
165 165  */
166 166  .btn-secondary {
167 - color: @text;
167 + color: @brand;
168 168   background: #fff;
169 - border: 1px solid fade(@text, 35%);
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,130 +247,36 @@
247 247   margin-top: 22px;
248 248  }
249 249  
250 -/* ========== Contrast Band ========== */
256 +/* ========== 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;
258 +.trust-strip {
259 + padding: 18px 0;
260 + border-top: 1px solid @line;
259 259  
260 - /* Remove gradient from here */
261 - background: none;
262 -}
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 + }
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 - background: red !important;
281 -}
282 -
283 -/* Grid overlay stays exactly as you had it */
284 -.contrast-band::after {
285 - content: "";
286 - position: absolute;
287 - inset: 0;
288 - background:
289 - linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px),
290 - linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px);
291 - background-size: 52px 52px;
292 - opacity: .38;
293 - pointer-events: none;
294 - z-index: 0;
295 -}
296 -
297 -.contrast-band .container {
298 - position: relative;
299 - z-index: 1;
300 -}
301 -
302 -/* Everything below stays unchanged */
303 -.contrast-panel {
304 - max-width: 1040px;
305 - margin: 0 auto;
306 - text-align: center;
307 -}
308 -
309 -.contrast-band h2 {
310 - max-width: 860px;
311 - margin: 0 auto 12px;
312 - color: #fff;
313 -}
314 -
315 -.contrast-band .section-intro {
316 - max-width: 840px;
317 - margin: 0 auto 26px;
318 - color: #D9E3EE;
319 -}
320 -
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;
328 -}
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;
341 -}
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%);
351 -}
352 -
353 -.contrast-support {
354 - max-width: 860px;
355 - margin: 30px auto 0;
356 - color: #D9E3EE;
357 - text-align: center;
358 - font-size: 15px;
359 - line-height: 1.7;
360 -}
361 -
362 -@media (max-width: 640px) {
363 - .contrast-band {
364 - padding: 40px 0;
275 + li {
276 + display: flex;
277 + align-items: center;
278 + gap: 7px;
365 365   }
366 366  
367 - .contrast-tags span {
368 - font-size: 12px;
369 - padding: 8px 11px;
281 + i {
282 + color: @brand;
370 370   }
371 371  }
372 372  
373 -
374 374  /* ========== Reusable Grids ========== */
375 375  
376 376  .card-grid,
... ... @@ -527,6 +527,80 @@
527 527   }
528 528  }
529 529  
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 +
530 530  /* ========== Services ========== */
531 531  
532 532  .services {
... ... @@ -757,8 +757,8 @@
757 757  
758 758  /* ========== CTA ========== */
759 759  
760 -#mainContentArea .cta-section {
761 - padding: 44px 0 56px;
746 +.cta-section {
747 + padding: @section-padding;
762 762  
763 763   .contact-inline {
764 764   margin: 0;
... ... @@ -770,70 +770,25 @@
770 770   }
771 771  }
772 772  
773 -#mainContentArea .cta-panel {
774 - position: relative;
775 - overflow: hidden;
776 - max-width: 1040px;
759 +.cta-panel {
760 + max-width: 860px;
777 777   margin: 0 auto;
778 - padding: 48px 40px;
779 - border: 0;
780 - border-radius: 26px;
781 - background:
782 - radial-gradient(circle at 88% 10%, fade(@brand, 24%) 0%, transparent 30%),
783 - linear-gradient(135deg, @text 0%, @text-soft 100%);
784 - color: #fff;
785 - box-shadow: @shadow;
762 + padding: 32px;
763 + border-radius: @radius;
764 + border: 1px solid fade(@brand, 20%);
765 + box-shadow: @shadow-sm;
786 786   text-align: center;
787 -}
788 788  
789 -#mainContentArea .cta-panel::before {
790 - content: "";
791 - position: absolute;
792 - inset: 0;
793 - background:
794 - linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px),
795 - linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px);
796 - background-size: 48px 48px;
797 - opacity: .4;
798 - pointer-events: none;
799 -}
768 + h2 {
769 + margin-top: 0;
770 + }
800 800  
801 -#mainContentArea .cta-panel h2,
802 -#mainContentArea .cta-panel p,
803 -#mainContentArea .cta-panel .btn {
804 - position: relative;
805 - z-index: 1;
772 + p {
773 + color: @muted;
774 + line-height: 1.55;
775 + }
806 806  }
807 807  
808 -#mainContentArea .cta-panel h2 {
809 - max-width: 760px;
810 - margin: 0 auto 16px;
811 - color: #fff;
812 -}
813 -
814 -#mainContentArea .cta-panel p {
815 - max-width: 760px;
816 - margin: 0 auto 28px;
817 - color: #DBE4EF;
818 - font-size: 16px;
819 - line-height: 1.6;
820 -}
821 -
822 -#mainContentArea .cta-panel .btn-primary {
823 - border-color: #fff;
824 - background: #fff;
825 - color: @text;
826 - box-shadow: 0 18px 42px rgba(0, 0, 0, .18);
827 -}
828 -
829 -#mainContentArea .cta-panel .btn-primary:hover,
830 -#mainContentArea .cta-panel .btn-primary:focus {
831 - border-color: #fff;
832 - background: #fff;
833 - color: @brand-strong;
834 - text-decoration: none;
835 -}
836 -
837 837  .resource-inline-cta {
838 838   display: flex;
839 839   align-items: center;
... ... @@ -965,14 +965,9 @@
965 965   gap: 14px;
966 966   }
967 967  
968 - #mainContentArea .cta-panel {
969 - padding: 30px 22px;
970 - border-radius: 20px;
909 + .cta-panel {
910 + padding: 24px 20px;
971 971   }
972 -
973 - #mainContentArea .cta-panel .btn-primary {
974 - width: 100%;
975 - }
976 976  }
977 977  
978 978  /* ========== Resource / Article Pages ========== */
... ... @@ -1672,13 +1672,41 @@
1672 1672   background-attachment: fixed;
1673 1673  }
1674 1674  
1675 -#mainContentArea {
1676 - padding: 0;
1677 - 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;
1678 1678  }
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 +} */
1679 1679  
1680 -/* ========== Main Page Hero / SaaS Layout ========== */
1681 1681  
1645 +/* ========== Hero ========== */
1682 1682  #mainContentArea .hero.hero-saas {
1683 1683   min-height: auto;
1684 1684   padding: 60px 0 34px;
... ... @@ -1687,21 +1687,18 @@
1687 1687   overflow: hidden;
1688 1688   background: transparent;
1689 1689  }
1690 -
1691 1691  #mainContentArea .hero-layout {
1692 1692   max-width: 1120px;
1693 1693   margin: 0 auto;
1694 1694   display: grid;
1695 - grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
1658 + grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
1696 1696   gap: 56px;
1697 1697   align-items: center;
1698 1698  }
1699 -
1700 -#mainContentArea .hero-copy {
1701 - min-width: 0;
1662 +#mainContentArea .hero-copy,
1663 +#mainContentArea .hero.hero-saas .lead {
1702 1702   text-align: left;
1703 1703  }
1704 -
1705 1705  #mainContentArea .hero.hero-saas h1 {
1706 1706   max-width: 640px;
1707 1707   margin: 0 0 26px;
... ... @@ -1710,20 +1710,16 @@
1710 1710   line-height: 1;
1711 1711   letter-spacing: -3px;
1712 1712  }
1713 -
1714 1714  #mainContentArea .hero.hero-saas h1 span {
1715 1715   color: @brand;
1716 1716  }
1717 -
1718 1718  #mainContentArea .hero.hero-saas .lead {
1719 1719   max-width: 590px;
1720 1720   margin: 0 0 28px;
1721 1721   color: #334155;
1722 - text-align: left;
1723 1723   font-size: 18px;
1724 1724   line-height: 1.6;
1725 1725  }
1726 -
1727 1727  #mainContentArea .hero.hero-saas .benefits {
1728 1728   max-width: 620px;
1729 1729   margin: 0 0 30px;
... ... @@ -1736,7 +1736,6 @@
1736 1736   font-size: 15px;
1737 1737   text-align: left;
1738 1738  }
1739 -
1740 1740  #mainContentArea .hero.hero-saas .benefits li {
1741 1741   display: grid;
1742 1742   grid-template-columns: 18px minmax(0, 1fr);
... ... @@ -1745,7 +1745,6 @@
1745 1745   margin: 0;
1746 1746   line-height: 1.45;
1747 1747  }
1748 -
1749 1749  #mainContentArea .hero.hero-saas .benefits li::before {
1750 1750   content: "✓";
1751 1751   display: block;
... ... @@ -1756,183 +1756,212 @@
1756 1756   text-align: left;
1757 1757   margin: 0;
1758 1758  }
1759 -
1760 -#mainContentArea .hero.hero-saas .hero-actions,
1761 -#mainContentArea .hero.hero-saas #hero-cta {
1714 +#mainContentArea .hero-actions,
1715 +#mainContentArea #hero-cta {
1762 1762   display: flex;
1763 1763   flex-wrap: wrap;
1764 1764   justify-content: flex-start;
1765 1765   gap: 12px;
1766 - margin-top: 0;
1767 1767  }
1768 -
1769 -#mainContentArea .hero-image-wrapper {
1770 - 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;
1771 1771   display: flex;
1772 - justify-content: center;
1773 1773   align-items: center;
1746 + gap: 10px;
1747 + padding: 0 24px;
1748 + border-bottom: 1px solid @line;
1749 + background: fade(#fff, 74%);
1774 1774  }
1775 -
1776 -#mainContentArea .hero-image {
1777 - display: block;
1778 - width: 100%;
1779 - max-width: 620px;
1780 - height: auto;
1781 - border: 0;
1751 +#mainContentArea .hero-dot,
1752 +#mainContentArea .hero-status-dot {
1753 + border-radius: 50%;
1782 1782  }
1783 -
1784 -/* ========== Main Page Hero Responsive ========== */
1785 -
1786 -@media (max-width: 1100px) {
1787 - #mainContentArea .hero-layout {
1788 - max-width: 760px;
1789 - grid-template-columns: 1fr;
1790 - gap: 34px;
1791 - }
1792 -
1793 - #mainContentArea .hero-copy {
1794 - order: 1;
1795 - text-align: center;
1796 - }
1797 -
1798 - #mainContentArea .hero-image-wrapper {
1799 - order: 2;
1800 - }
1801 -
1802 - #mainContentArea .hero.hero-saas h1 {
1803 - margin-left: auto;
1804 - margin-right: auto;
1805 - text-align: center;
1806 - }
1807 -
1808 - #mainContentArea .hero.hero-saas .lead {
1809 - margin-left: auto;
1810 - margin-right: auto;
1811 - text-align: center;
1812 - }
1813 -
1814 - #mainContentArea .hero.hero-saas .benefits {
1815 - margin-left: auto;
1816 - margin-right: auto;
1817 - }
1818 -
1819 - #mainContentArea .hero.hero-saas .hero-actions,
1820 - #mainContentArea .hero.hero-saas #hero-cta {
1821 - justify-content: center;
1822 - }
1823 -
1824 - #mainContentArea .hero-image {
1825 - max-width: 620px;
1826 - }
1755 +#mainContentArea .hero-dot {
1756 + width: 10px;
1757 + height: 10px;
1758 + background: #CBD5E1;
1827 1827  }
1828 -
1829 -@media (max-width: 640px) {
1830 - #mainContentArea .hero.hero-saas {
1831 - padding: 42px 0 28px;
1832 - }
1833 -
1834 - #mainContentArea .hero-layout {
1835 - gap: 28px;
1836 - }
1837 -
1838 - #mainContentArea .hero.hero-saas h1 {
1839 - font-size: 42px;
1840 - letter-spacing: -1.5px;
1841 - }
1842 -
1843 - #mainContentArea .hero.hero-saas .lead {
1844 - font-size: 17px;
1845 - }
1846 -
1847 - #mainContentArea .hero.hero-saas .benefits {
1848 - grid-template-columns: 1fr;
1849 - }
1850 -
1851 - #mainContentArea .hero-image {
1852 - max-width: 100%;
1853 - }
1760 +#mainContentArea .hero-status-dot {
1761 + width: 8px;
1762 + height: 8px;
1763 + background: @brand;
1854 1854  }
1855 -
1856 -/* ========== Accessibility / Contrast Improvements ========== */
1857 -
1858 -/* Keep the article area readable while preserving the page background around it. */
1859 -/*#mainContentArea .resource-layout {
1860 - padding: 28px;
1861 - border: 1px solid fade(@line, 85%);
1862 - border-radius: @radius;
1863 - background: rgba(255, 255, 255, .88);
1864 - box-shadow: @shadow-sm;
1865 -}*/
1866 -
1867 -/* Ensure all reusable cards have a real surface, not transparent over the gradient. */
1868 -#mainContentArea .widget,
1869 -#mainContentArea .pathway-card,
1870 -#mainContentArea .service-card,
1871 -#mainContentArea .resource-card,
1872 -#mainContentArea .services .service,
1873 -#mainContentArea .product-card,
1874 -#mainContentArea .product-feature,
1875 -#mainContentArea .product-summary-card,
1876 -#mainContentArea .product-info-card {
1877 - background: #fff;
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;
1878 1878  }
1879 -
1880 -/* Make notes more readable and visually stronger. */
1881 -#mainContentArea .resource-note {
1882 - border: 1px solid fade(@brand, 18%);
1883 - border-left: 4px solid @brand;
1884 - background: #fff;
1885 - box-shadow: 0 10px 28px rgba(15, 23, 42, .045);
1773 +#mainContentArea .hero-browser-body {
1774 + display: grid;
1775 + grid-template-columns: 150px minmax(0, 1fr);
1886 1886  }
1887 -
1888 -/* Keep the sidebar clearly separated from the background. */
1889 -#mainContentArea .resource-sidebar {
1890 - background: #fff;
1777 +#mainContentArea .hero-sidebar {
1778 + padding: 24px 18px;
1779 + border-right: 1px solid @line;
1780 + background: #F8FAFC;
1891 1891  }
1892 -
1893 -/* Make CTA panels stand out more clearly. */
1894 -#mainContentArea .resource-cta,
1895 -#mainContentArea .resource-inline-cta {
1896 - background: #fff;
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;
1897 1897  }
1898 -
1899 -/* Improve table readability on long resource pages. */
1900 -#mainContentArea .resource-content table {
1901 - background: #fff;
1789 +#mainContentArea .hero-nav-item {
1790 + gap: 9px;
1791 + padding: 10px 8px;
1792 + color: #334155;
1793 + font-size: 13px;
1902 1902  }
1903 -
1904 -#mainContentArea .resource-content table th {
1795 +#mainContentArea .hero-nav-icon {
1796 + width: 20px;
1797 + height: 20px;
1798 + border: 1px solid #CBD5E1;
1799 + border-radius: 5px;
1800 +}
1801 +#mainContentArea .hero-content-panel {
1802 + padding: 26px;
1803 +}
1804 +#mainContentArea .hero-panel-title,
1805 +#mainContentArea .hero-card-title {
1905 1905   color: @text;
1906 - background: #F8FAFC;
1807 + font-weight: 800;
1907 1907  }
1908 -
1909 -#mainContentArea .resource-content table td {
1910 - color: @text-soft;
1809 +#mainContentArea .hero-panel-title {
1810 + margin-bottom: 18px;
1811 + font-size: 20px;
1911 1911  }
1912 -
1913 -/* Slightly improve paragraph/list contrast in long articles. */
1914 -#mainContentArea .resource-content p,
1915 -#mainContentArea .resource-content li {
1916 - color: @text-soft;
1813 +#mainContentArea .hero-skeleton {
1814 + height: 8px;
1815 + margin-bottom: 10px;
1816 + border-radius: 10px;
1817 + background: #E2E8F0;
1917 1917  }
1918 -
1919 -#mainContentArea .resource-content .resource-note p,
1920 -#mainContentArea .resource-content .resource-checklist li,
1921 -#mainContentArea .resource-content .process-list li {
1922 - color: @muted;
1819 +#mainContentArea .hero-skeleton.short {
1820 + width: 64%;
1923 1923  }
1924 -
1925 -@media (max-width: 900px) {
1926 - #mainContentArea .resource-layout {
1927 - padding: 22px;
1928 - }
1822 +#mainContentArea .hero-dashboard-grid {
1823 + margin-top: 28px;
1824 + display: grid;
1825 + grid-template-columns: repeat(2, minmax(0, 1fr));
1826 + gap: 18px;
1929 1929  }
1930 -
1931 -@media (max-width: 640px) {
1932 - #mainContentArea .resource-layout {
1933 - padding: 18px;
1934 - border-radius: 14px;
1935 - }
1828 +#mainContentArea .hero-mini-card {
1829 + padding: 18px;
1830 + border: 1px solid @line;
1831 + border-radius: 14px;
1832 + background: #fff;
1936 1936  }
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 +}
1937 1937  
1938 -