Changes for page Public Web Site

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

From version 28.37
edited by Agnease
on 2026/07/03 14:12
Change comment: There is no comment for this version
To version 25.42
edited by Agnease
on 2026/06/30 12:18
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;
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,128 +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 - overflow: visible; /* allow pseudo-element to escape */
255 - padding: 54px 0;
256 - border-top: 0;
257 - color: #fff;
258 +.trust-strip {
259 + padding: 18px 0;
260 + border-top: 1px solid @line;
258 258  
259 - /* Remove gradient from here */
260 - background: none;
261 -}
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 + }
262 262  
263 -/* Full‑bleed gradient background */
264 -.contrast-band::before {
265 - border: 2px solid red;
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;
275 + li {
276 + display: flex;
277 + align-items: center;
278 + gap: 7px;
363 363   }
364 364  
365 - .contrast-tags span {
366 - font-size: 12px;
367 - padding: 8px 11px;
281 + i {
282 + color: @brand;
368 368   }
369 369  }
370 370  
371 -
372 372  /* ========== Reusable Grids ========== */
373 373  
374 374  .card-grid,
... ... @@ -525,6 +525,80 @@
525 525   }
526 526  }
527 527  
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 +
528 528  /* ========== Services ========== */
529 529  
530 530  .services {
... ... @@ -755,8 +755,8 @@
755 755  
756 756  /* ========== CTA ========== */
757 757  
758 -#mainContentArea .cta-section {
759 - padding: 44px 0 56px;
746 +.cta-section {
747 + padding: @section-padding;
760 760  
761 761   .contact-inline {
762 762   margin: 0;
... ... @@ -768,70 +768,25 @@
768 768   }
769 769  }
770 770  
771 -#mainContentArea .cta-panel {
772 - position: relative;
773 - overflow: hidden;
774 - max-width: 1040px;
759 +.cta-panel {
760 + max-width: 860px;
775 775   margin: 0 auto;
776 - padding: 48px 40px;
777 - border: 0;
778 - border-radius: 26px;
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;
762 + padding: 32px;
763 + border-radius: @radius;
764 + border: 1px solid fade(@brand, 20%);
765 + 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 -}
768 + h2 {
769 + margin-top: 0;
770 + }
798 798  
799 -#mainContentArea .cta-panel h2,
800 -#mainContentArea .cta-panel p,
801 -#mainContentArea .cta-panel .btn {
802 - position: relative;
803 - z-index: 1;
772 + p {
773 + color: @muted;
774 + line-height: 1.55;
775 + }
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;
909 + .cta-panel {
910 + 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 ========== */
... ... @@ -1670,13 +1670,41 @@
1670 1670   background-attachment: fixed;
1671 1671  }
1672 1672  
1673 -#mainContentArea {
1674 - padding: 0;
1675 - 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;
1676 1676  }
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 +} */
1677 1677  
1678 -/* ========== Main Page Hero / SaaS Layout ========== */
1679 1679  
1645 +/* ========== Hero ========== */
1680 1680  #mainContentArea .hero.hero-saas {
1681 1681   min-height: auto;
1682 1682   padding: 60px 0 34px;
... ... @@ -1685,21 +1685,18 @@
1685 1685   overflow: hidden;
1686 1686   background: transparent;
1687 1687  }
1688 -
1689 1689  #mainContentArea .hero-layout {
1690 1690   max-width: 1120px;
1691 1691   margin: 0 auto;
1692 1692   display: grid;
1693 - grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
1658 + grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
1694 1694   gap: 56px;
1695 1695   align-items: center;
1696 1696  }
1697 -
1698 -#mainContentArea .hero-copy {
1699 - min-width: 0;
1662 +#mainContentArea .hero-copy,
1663 +#mainContentArea .hero.hero-saas .lead {
1700 1700   text-align: left;
1701 1701  }
1702 -
1703 1703  #mainContentArea .hero.hero-saas h1 {
1704 1704   max-width: 640px;
1705 1705   margin: 0 0 26px;
... ... @@ -1708,20 +1708,16 @@
1708 1708   line-height: 1;
1709 1709   letter-spacing: -3px;
1710 1710  }
1711 -
1712 1712  #mainContentArea .hero.hero-saas h1 span {
1713 1713   color: @brand;
1714 1714  }
1715 -
1716 1716  #mainContentArea .hero.hero-saas .lead {
1717 1717   max-width: 590px;
1718 1718   margin: 0 0 28px;
1719 1719   color: #334155;
1720 - text-align: left;
1721 1721   font-size: 18px;
1722 1722   line-height: 1.6;
1723 1723  }
1724 -
1725 1725  #mainContentArea .hero.hero-saas .benefits {
1726 1726   max-width: 620px;
1727 1727   margin: 0 0 30px;
... ... @@ -1734,7 +1734,6 @@
1734 1734   font-size: 15px;
1735 1735   text-align: left;
1736 1736  }
1737 -
1738 1738  #mainContentArea .hero.hero-saas .benefits li {
1739 1739   display: grid;
1740 1740   grid-template-columns: 18px minmax(0, 1fr);
... ... @@ -1743,7 +1743,6 @@
1743 1743   margin: 0;
1744 1744   line-height: 1.45;
1745 1745  }
1746 -
1747 1747  #mainContentArea .hero.hero-saas .benefits li::before {
1748 1748   content: "✓";
1749 1749   display: block;
... ... @@ -1754,183 +1754,212 @@
1754 1754   text-align: left;
1755 1755   margin: 0;
1756 1756  }
1757 -
1758 -#mainContentArea .hero.hero-saas .hero-actions,
1759 -#mainContentArea .hero.hero-saas #hero-cta {
1714 +#mainContentArea .hero-actions,
1715 +#mainContentArea #hero-cta {
1760 1760   display: flex;
1761 1761   flex-wrap: wrap;
1762 1762   justify-content: flex-start;
1763 1763   gap: 12px;
1764 - margin-top: 0;
1765 1765  }
1766 -
1767 -#mainContentArea .hero-image-wrapper {
1768 - 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;
1769 1769   display: flex;
1770 - justify-content: center;
1771 1771   align-items: center;
1746 + gap: 10px;
1747 + padding: 0 24px;
1748 + border-bottom: 1px solid @line;
1749 + background: fade(#fff, 74%);
1772 1772  }
1773 -
1774 -#mainContentArea .hero-image {
1775 - display: block;
1776 - width: 100%;
1777 - max-width: 620px;
1778 - height: auto;
1779 - border: 0;
1751 +#mainContentArea .hero-dot,
1752 +#mainContentArea .hero-status-dot {
1753 + border-radius: 50%;
1780 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 - }
1755 +#mainContentArea .hero-dot {
1756 + width: 10px;
1757 + height: 10px;
1758 + background: #CBD5E1;
1825 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 - }
1760 +#mainContentArea .hero-status-dot {
1761 + width: 8px;
1762 + height: 8px;
1763 + background: @brand;
1852 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;
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;
1876 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);
1773 +#mainContentArea .hero-browser-body {
1774 + display: grid;
1775 + grid-template-columns: 150px minmax(0, 1fr);
1884 1884  }
1885 -
1886 -/* Keep the sidebar clearly separated from the background. */
1887 -#mainContentArea .resource-sidebar {
1888 - background: #fff;
1777 +#mainContentArea .hero-sidebar {
1778 + padding: 24px 18px;
1779 + border-right: 1px solid @line;
1780 + background: #F8FAFC;
1889 1889  }
1890 -
1891 -/* Make CTA panels stand out more clearly. */
1892 -#mainContentArea .resource-cta,
1893 -#mainContentArea .resource-inline-cta {
1894 - 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;
1895 1895  }
1896 -
1897 -/* Improve table readability on long resource pages. */
1898 -#mainContentArea .resource-content table {
1899 - background: #fff;
1789 +#mainContentArea .hero-nav-item {
1790 + gap: 9px;
1791 + padding: 10px 8px;
1792 + color: #334155;
1793 + font-size: 13px;
1900 1900  }
1901 -
1902 -#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 {
1903 1903   color: @text;
1904 - background: #F8FAFC;
1807 + font-weight: 800;
1905 1905  }
1906 -
1907 -#mainContentArea .resource-content table td {
1908 - color: @text-soft;
1809 +#mainContentArea .hero-panel-title {
1810 + margin-bottom: 18px;
1811 + font-size: 20px;
1909 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;
1813 +#mainContentArea .hero-skeleton {
1814 + height: 8px;
1815 + margin-bottom: 10px;
1816 + border-radius: 10px;
1817 + background: #E2E8F0;
1915 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;
1819 +#mainContentArea .hero-skeleton.short {
1820 + width: 64%;
1921 1921  }
1922 -
1923 -@media (max-width: 900px) {
1924 - #mainContentArea .resource-layout {
1925 - padding: 22px;
1926 - }
1822 +#mainContentArea .hero-dashboard-grid {
1823 + margin-top: 28px;
1824 + display: grid;
1825 + grid-template-columns: repeat(2, minmax(0, 1fr));
1826 + gap: 18px;
1927 1927  }
1928 -
1929 -@media (max-width: 640px) {
1930 - #mainContentArea .resource-layout {
1931 - padding: 18px;
1932 - border-radius: 14px;
1933 - }
1828 +#mainContentArea .hero-mini-card {
1829 + padding: 18px;
1830 + border: 1px solid @line;
1831 + border-radius: 14px;
1832 + background: #fff;
1934 1934  }
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 +}
1935 1935  
1936 -