Changes for page Public Web Site
Last modified by Agnease on 2026/07/03 16:14
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 1 removed)
-
Objects (1 modified, 0 added, 0 removed)
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
-
... ... @@ -165,7 +165,6 @@ 165 165 */ 166 166 .btn-secondary { 167 167 color: @text; 168 - background: #fff; 169 169 border: 1px solid fade(@text, 35%); 170 170 171 171 } ... ... @@ -247,130 +247,36 @@ 247 247 margin-top: 22px; 248 248 } 249 249 250 -/* ========== ContrastBand========== */249 +/* ========== 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; 251 +.trust-strip { 252 + padding: 18px 0; 253 + border-top: 1px solid @line; 259 259 260 - /* Remove gradient from here */ 261 - background: none; 262 -} 255 + ul { 256 + max-width: 960px; 257 + margin: 0 auto; 258 + padding: 0; 259 + list-style: none; 260 + display: flex; 261 + justify-content: center; 262 + gap: 22px; 263 + flex-wrap: wrap; 264 + color: @muted; 265 + font-size: 13px; 266 + } 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; 268 + li { 269 + display: flex; 270 + align-items: center; 271 + gap: 7px; 365 365 } 366 366 367 - .contrast-tags span { 368 - font-size: 12px; 369 - padding: 8px 11px; 274 + i { 275 + 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 435 +.industry-trust-section { 436 + background: 437 + radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 70%); 438 + 439 + .industry-trust-panel { 440 + max-width: 1040px; 441 + margin: 0 auto; 442 + padding: 30px 28px; 443 + border: 1px solid fade(@brand, 16%); 444 + border-radius: @radius; 445 + background: 446 + radial-gradient(34rem 12rem at 50% 0%, fade(@brand-soft, 75%) 0%, #fff 72%); 447 + box-shadow: @shadow-sm; 448 + text-align: center; 449 + } 450 + 451 + h2 { 452 + margin-bottom: 12px; 453 + } 454 + 455 + .section-intro { 456 + margin-bottom: 20px; 457 + max-width: 820px; 458 + } 459 + 460 + .industry-tags { 461 + max-width: 880px; 462 + margin: 0 auto; 463 + display: flex; 464 + flex-wrap: wrap; 465 + justify-content: center; 466 + gap: 10px; 467 + } 468 + 469 + .industry-tags span { 470 + display: inline-flex; 471 + align-items: center; 472 + padding: 7px 12px; 473 + border: 1px solid fade(@brand, 20%); 474 + border-radius: 999px; 475 + background: #fff; 476 + color: @text; 477 + font-size: 13px; 478 + font-weight: 600; 479 + line-height: 1.2; 480 + box-shadow: 0 3px 10px rgba(0, 0, 0, .04); 481 + } 482 + 483 + .industry-support { 484 + max-width: 820px; 485 + margin: 22px auto 0; 486 + color: @muted; 487 + font-size: 16px; 488 + line-height: 1.6; 489 + } 490 +} 491 + 492 +@media (max-width: 640px) { 493 + .industry-trust-section { 494 + .industry-trust-panel { 495 + padding: 24px 18px; 496 + } 497 + 498 + .industry-tags { 499 + gap: 8px; 500 + } 501 + 502 + .industry-tags span { 503 + font-size: 12px; 504 + padding: 6px 10px; 505 + } 506 + } 507 +} 508 + 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;739 +.cta-section { 740 + 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; 752 +.cta-panel { 753 + 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; 755 + padding: 32px; 756 + border-radius: @radius; 757 + border: 1px solid fade(@brand, 20%); 758 + 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 -} 761 + h2 { 762 + margin-top: 0; 763 + } 800 800 801 -#mainContentArea .cta-panel h2, 802 -#mainContentArea .cta-panel p, 803 -#mainContentArea .cta-panel .btn { 804 - position: relative; 805 - z-index: 1; 765 + p { 766 + color: @muted; 767 + line-height: 1.55; 768 + } 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; 902 + .cta-panel { 903 + 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,8 +1672,41 @@ 1672 1672 background-attachment: fixed; 1673 1673 } 1674 1674 1675 -/* ========== Main Page Hero / SaaS Layout ========== */ 1604 +/* Let the body background show through the XWiki wrappers. 1605 +#mainContentArea, 1606 +.resource-page, 1607 +.resources-index-page { 1608 + background: transparent !important; 1609 + background-image: none !important; 1610 +} 1611 +*/ 1612 +/* Remove local decorative backgrounds that compete with the global gradient. 1613 +.hero, 1614 +.hero.hero-centered, 1615 +.trust-strip, 1616 +.industry-trust-section, 1617 +.split-section, 1618 +.resource-strip, 1619 +.homepage-resource-strip, 1620 +.resource-header, 1621 +.product-section-muted, 1622 +.resources-index-page { 1623 + background: transparent !important; 1624 + background-image: none !important; 1625 +} 1626 + */ 1627 +/* Keep large panels readable, but remove their inner gradients. 1628 +.industry-trust-section .industry-trust-panel, 1629 +.cta-panel, 1630 +.resource-inline-cta, 1631 +.resource-note, 1632 +.resource-cta { 1633 + background: #fff !important; 1634 + background-image: none !important; 1635 +} */ 1676 1676 1637 + 1638 +/* ========== 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);1651 + 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; 1655 +#mainContentArea .hero-copy, 1656 +#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,183 +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 { 1707 +#mainContentArea .hero-actions, 1708 +#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; 1714 +#mainContentArea .hero-visual { 1715 + position: relative; 1716 + min-height: 540px; 1717 +} 1718 +#mainContentArea .hero-browser, 1719 +#mainContentArea .hero-floating { 1720 + border: 1px solid @line; 1721 + background: fade(#fff, 94%); 1722 + box-shadow: @shadow; 1723 + backdrop-filter: blur(14px); 1724 +} 1725 +#mainContentArea .hero-browser { 1726 + position: absolute; 1727 + top: 8px; 1728 + right: 0; 1729 + width: 100%; 1730 + max-width: 720px; 1731 + overflow: hidden; 1732 + border-radius: 18px; 1733 + background: fade(#fff, 88%); 1734 +} 1735 +#mainContentArea .hero-browser-top { 1736 + height: 58px; 1766 1766 display: flex; 1767 - justify-content: center; 1768 1768 align-items: center; 1739 + gap: 10px; 1740 + padding: 0 24px; 1741 + border-bottom: 1px solid @line; 1742 + 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; 1744 +#mainContentArea .hero-dot, 1745 +#mainContentArea .hero-status-dot { 1746 + 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 - } 1748 +#mainContentArea .hero-dot { 1749 + width: 10px; 1750 + height: 10px; 1751 + 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 - } 1753 +#mainContentArea .hero-status-dot { 1754 + width: 8px; 1755 + height: 8px; 1756 + background: @brand; 1849 1849 } 1850 - 1851 -/* ========== Accessibility / Contrast Improvements ========== */ 1852 - 1853 -/* Keep the article area readable while preserving the page background around it. */ 1854 -/*#mainContentArea .resource-layout { 1855 - padding: 28px; 1856 - border: 1px solid fade(@line, 85%); 1857 - border-radius: @radius; 1858 - background: rgba(255, 255, 255, .88); 1859 - box-shadow: @shadow-sm; 1860 -}*/ 1861 - 1862 -/* Ensure all reusable cards have a real surface, not transparent over the gradient. */ 1863 -#mainContentArea .widget, 1864 -#mainContentArea .pathway-card, 1865 -#mainContentArea .service-card, 1866 -#mainContentArea .resource-card, 1867 -#mainContentArea .services .service, 1868 -#mainContentArea .product-card, 1869 -#mainContentArea .product-feature, 1870 -#mainContentArea .product-summary-card, 1871 -#mainContentArea .product-info-card { 1872 - background: #fff; 1758 +#mainContentArea .hero-search { 1759 + margin-left: auto; 1760 + width: 170px; 1761 + height: 26px; 1762 + border: 1px solid #E2E8F0; 1763 + border-radius: 20px; 1764 + background: #F1F5F9; 1873 1873 } 1874 - 1875 -/* Make notes more readable and visually stronger. */ 1876 -#mainContentArea .resource-note { 1877 - border: 1px solid fade(@brand, 18%); 1878 - border-left: 4px solid @brand; 1879 - background: #fff; 1880 - box-shadow: 0 10px 28px rgba(15, 23, 42, .045); 1766 +#mainContentArea .hero-browser-body { 1767 + display: grid; 1768 + grid-template-columns: 150px minmax(0, 1fr); 1881 1881 } 1882 - 1883 - /*Keepthe sidebar clearly separatedfrom the background.*/1884 - #mainContentArea.resource-sidebar{1885 - background: # fff;1770 +#mainContentArea .hero-sidebar { 1771 + padding: 24px 18px; 1772 + border-right: 1px solid @line; 1773 + background: #F8FAFC; 1886 1886 } 1887 - 1888 -/* Make CTA panels stand out more clearly. */ 1889 -#mainContentArea .resource-cta, 1890 -#mainContentArea .resource-inline-cta { 1891 - background: #fff; 1775 +#mainContentArea .hero-nav-item, 1776 +#mainContentArea .hero-status-row, 1777 +#mainContentArea .hero-version-flow, 1778 +#mainContentArea .hero-flow { 1779 + display: flex; 1780 + align-items: center; 1892 1892 } 1893 - 1894 -/* Improve table readability on long resource pages. */ 1895 -#mainContentArea .resource-content table { 1896 - background: #fff; 1782 +#mainContentArea .hero-nav-item { 1783 + gap: 9px; 1784 + padding: 10px 8px; 1785 + color: #334155; 1786 + font-size: 13px; 1897 1897 } 1898 - 1899 -#mainContentArea .resource-content table th { 1788 +#mainContentArea .hero-nav-icon { 1789 + width: 20px; 1790 + height: 20px; 1791 + border: 1px solid #CBD5E1; 1792 + border-radius: 5px; 1793 +} 1794 +#mainContentArea .hero-content-panel { 1795 + padding: 26px; 1796 +} 1797 +#mainContentArea .hero-panel-title, 1798 +#mainContentArea .hero-card-title { 1900 1900 color: @text; 1901 - background:#F8FAFC;1800 + font-weight: 800; 1902 1902 } 1903 - 1904 - #mainContentArea .resource-contenttable td {1905 - color: @text-soft;1802 +#mainContentArea .hero-panel-title { 1803 + margin-bottom: 18px; 1804 + font-size: 20px; 1906 1906 } 1907 - 1908 - /*Slightlyimproveparagraph/listcontrast in long articles. */1909 - #mainContentArea .resource-content p,1910 - #mainContentArea.resource-content li{1911 - c olor:@text-soft;1806 +#mainContentArea .hero-skeleton { 1807 + height: 8px; 1808 + margin-bottom: 10px; 1809 + border-radius: 10px; 1810 + background: #E2E8F0; 1912 1912 } 1913 - 1914 -#mainContentArea .resource-content .resource-note p, 1915 -#mainContentArea .resource-content .resource-checklist li, 1916 -#mainContentArea .resource-content .process-list li { 1917 - color: @muted; 1812 +#mainContentArea .hero-skeleton.short { 1813 + width: 64%; 1918 1918 } 1919 - 1920 - @media(max-width:900px) {1921 - #mainContentArea .resource-layout{1922 - padding:22px;1923 - }1815 +#mainContentArea .hero-dashboard-grid { 1816 + margin-top: 28px; 1817 + display: grid; 1818 + grid-template-columns: repeat(2, minmax(0, 1fr)); 1819 + gap: 18px; 1924 1924 } 1925 - 1926 -@media (max-width: 640px) { 1927 - #mainContentArea .resource-layout { 1928 - padding: 18px; 1929 - border-radius: 14px; 1930 - } 1821 +#mainContentArea .hero-mini-card { 1822 + padding: 18px; 1823 + border: 1px solid @line; 1824 + border-radius: 14px; 1825 + background: #fff; 1931 1931 } 1827 +#mainContentArea .hero-mini-card h4 { 1828 + margin: 0 0 14px; 1829 + font-size: 15px; 1830 +} 1831 +#mainContentArea .hero-status-row { 1832 + gap: 10px; 1833 + margin: 11px 0; 1834 + color: #475569; 1835 + font-size: 13px; 1836 +} 1837 +#mainContentArea .hero-floating { 1838 + position: absolute; 1839 + border-radius: 16px; 1840 +} 1841 +#mainContentArea .hero-upgrade-card { 1842 + left: 0; 1843 + bottom: 72px; 1844 + width: 320px; 1845 + padding: 20px; 1846 +} 1847 +#mainContentArea .hero-security-card { 1848 + right: 20px; 1849 + top: 260px; 1850 + width: 260px; 1851 + padding: 22px; 1852 +} 1853 +#mainContentArea .hero-security-card ul { 1854 + margin: 0; 1855 + padding: 0; 1856 + list-style: none; 1857 +} 1858 +#mainContentArea .hero-security-card li { 1859 + margin: 12px 0; 1860 + font-size: 14px; 1861 +} 1862 +#mainContentArea .hero-security-card li::before { 1863 + content: "✓"; 1864 + margin-right: 8px; 1865 + color: @brand; 1866 + font-weight: 900; 1867 +} 1868 +#mainContentArea .hero-card-title { 1869 + margin-bottom: 16px; 1870 +} 1871 +#mainContentArea .hero-version-flow { 1872 + gap: 8px; 1873 +} 1874 +#mainContentArea .hero-version { 1875 + width: 62px; 1876 + height: 54px; 1877 + padding: 0 8px; 1878 + display: grid; 1879 + place-items: center; 1880 + box-sizing: border-box; 1881 + border-radius: 8px; 1882 + background: #F1F5F9; 1883 + color: #334155; 1884 + text-align: center; 1885 + font-size: 13px; 1886 + line-height: 1.25; 1887 +} 1888 +#mainContentArea .hero-version.active { 1889 + width: 84px; 1890 + background: @text; 1891 + color: #fff; 1892 +} 1893 +#mainContentArea .hero-arrow { 1894 + color: #64748B; 1895 +} 1896 +#mainContentArea .hero-flow { 1897 + position: absolute; 1898 + right: 48px; 1899 + bottom: 18px; 1900 + gap: 12px; 1901 +} 1902 +#mainContentArea .hero-env { 1903 + min-width: 130px; 1904 + padding: 16px 20px; 1905 + border: 1px solid @line; 1906 + border-radius: 12px; 1907 + background: #fff; 1908 + color: #475569; 1909 + text-align: center; 1910 + text-transform: uppercase; 1911 + font-size: 12px; 1912 + letter-spacing: 1.3px; 1913 + box-shadow: 0 16px 40px rgba(15, 23, 42, .08); 1914 +} 1932 1932 1933 -