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, 1 added, 0 removed)
-
Objects (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -2,7 +2,45 @@ 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> 5 5 11 + <p class="lead"> 12 + Agnease helps organizations upgrade, maintain, secure and extend production XWiki platforms with practical engineering support, custom development, integrations and long-term care. 13 + </p> 14 + 15 + <ul class="benefits"> 16 + <li>XWiki LTS upgrades</li> 17 + <li>Maintenance and support</li> 18 + <li>Custom XWiki development</li> 19 + <li>Migrations and integrations</li> 20 + </ul> 21 + 22 + <div class="hero-actions" id="hero-cta"> 23 + <a class="btn btn-primary" href="https://calendly.com/alex-agnease/30min?back=1&month=2026-06"> 24 + Book a free discussion 25 + </a> 26 + <a class="btn btn-secondary" href="$xwiki.getURL('services.WebHome')">View XWiki services</a> 27 + </div> 28 + </div> 29 + 30 + <div class="hero-image-wrapper"> 31 + <img 32 + class="hero-image" 33 + src="$xwiki.getDocument('PublicWebSite.WebHome').getAttachmentURL('agnease-xwiki-hero.png')" 34 + alt="Illustration of a professional XWiki platform dashboard with upgrade, security and maintenance elements" 35 + width="1200" 36 + height="900" 37 + loading="eager" 38 + /> 39 + </div> 40 + </div> 41 + </div> 42 + </section> 43 +#* 6 6 <section class="hero hero-centered" aria-labelledby="hero-title"> 7 7 <div class="container hero-inner"> 8 8 <h1 id="hero-title">Professional XWiki consulting and engineering</h1> ... ... @@ -26,7 +26,7 @@ 26 26 </div> 27 27 </div> 28 28 </section> 29 - 67 +*# 30 30 <section class="trust-strip" aria-label="Agnease experience"> 31 31 <div class="container"> 32 32 <ul> ... ... @@ -111,9 +111,9 @@ 111 111 </div> 112 112 </section> 113 113 114 - <section class=" industry-trust-section" aria-labelledby="industry-trust-title">152 + <section class="contrast-band" aria-labelledby="industry-trust-title"> 115 115 <div class="container"> 116 - <div class=" industry-trust-panel">154 + <div class="contrast-panel"> 117 117 <h2 id="industry-trust-title">Trusted XWiki expertise for business-critical platforms</h2> 118 118 119 119 <p class="section-intro"> ... ... @@ -121,7 +121,7 @@ 121 121 government institutions, transportation, software development, compliance programs and regulated environments. 122 122 </p> 123 123 124 - <div class=" industry-tags" aria-label="Industries and environments supported">162 + <div class="contrast-tags" aria-label="Industries and environments supported"> 125 125 <span>Healthcare</span> 126 126 <span>Financial services</span> 127 127 <span>Scientific research</span> ... ... @@ -132,7 +132,7 @@ 132 132 <span>Regulated environments</span> 133 133 </div> 134 134 135 - <p class=" industry-support">173 + <p class="contrast-support"> 136 136 Organizations rely on these platforms to manage documentation, workflows, compliance processes, 137 137 research knowledge and critical business information. From upgrades and authentication integrations 138 138 to workflow systems and long-term maintenance, Agnease helps keep XWiki secure, stable and ready for the future.
- agnease-xwiki-hero.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Admin - Size
-
... ... @@ -1,0 +1,1 @@ 1 +981.8 KB - Content
- XWiki.StyleSheetExtension[0]
-
- code
-
... ... @@ -1,23 +1,30 @@ 1 1 /* ========== Agnease Public Website ========== */ 2 -/* Old look and feel. */ 3 - 2 +/* 4 4 @brand: #00937D; 5 5 @brand-strong: #007B6A; 6 6 @brand-soft: #E7FFF8; 7 - 8 - 6 +@brand-bg: #F4FCFA; 7 +@text: #2D3A34; 8 +@muted: #5B6B64; 9 +@line: #E4ECE9; 10 +@radius: 16px; 11 +@shadow-sm: 0 6px 20px rgba(0, 0, 0, .06); 12 +@shadow: 0 12px 36px rgba(0, 0, 0, .08); 13 +@maxw: 1140px; 14 +*/ 15 +@brand: #00937D; 16 +@brand-strong: #007B6A; 17 +@brand-soft: #E7FFF8; 9 9 @brand-bg: #F7F9FC; 10 10 @text: #07182D; 11 11 @text-soft: #10243D; 12 12 @muted: #64748B; 13 - 14 14 @line: #E6EBF2; 15 15 @radius: 18px; 16 - 17 17 @shadow-sm: 0 18px 45px rgba(15, 23, 42, .06); 18 18 @shadow: 0 30px 80px rgba(15, 23, 42, .12); 19 -@maxw: 1 240px;20 - /* */26 +@maxw: 1140px; 27 + 21 21 @section-padding: 30px 0; 22 22 @section-padding-mobile: 28px 0; 23 23 ... ... @@ -143,7 +143,7 @@ 143 143 144 144 /* ========== Buttons ========== */ 145 145 146 -.btn-primary { 153 +/*.btn-primary { 147 147 background: @brand; 148 148 border-color: @brand; 149 149 color: #fff; ... ... @@ -155,18 +155,12 @@ 155 155 color: #fff; 156 156 } 157 157 } 158 - 165 +*/ 159 159 .btn-secondary { 160 - color: @ brand;167 + color: @text; 161 161 background: #fff; 162 - border: 1px solid fade(@ brand, 35%);169 + border: 1px solid fade(@text, 35%); 163 163 164 - &:hover, 165 - &:focus { 166 - color: @brand-strong; 167 - border-color: @brand; 168 - background: @brand-bg; 169 - } 170 170 } 171 171 172 172 /* ========== Hero ========== */ ... ... @@ -178,9 +178,6 @@ 178 178 179 179 &.hero-centered { 180 180 text-align: center; 181 - background: 182 - radial-gradient(50rem 18rem at 50% -10%, @brand-soft 0%, transparent 60%), 183 - radial-gradient(50rem 18rem at 50% 0%, #E8F6F3 0%, transparent 60%); 184 184 display: flex; 185 185 align-items: center; 186 186 justify-content: center; ... ... @@ -249,34 +249,122 @@ 249 249 margin-top: 22px; 250 250 } 251 251 252 -/* ========== TrustStrip========== */250 +/* ========== Contrast Band ========== */ 253 253 254 -.trust-strip { 255 - padding: 18px 0; 256 - border-top: 1px solid @line; 257 - background: #fff; 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 258 259 - ul { 260 - max-width: 960px; 261 - margin: 0 auto; 262 - padding: 0; 263 - list-style: none; 264 - display: flex; 265 - justify-content: center; 266 - gap: 22px; 267 - flex-wrap: wrap; 268 - color: @muted; 269 - font-size: 13px; 270 - } 262 +.contrast-band::before { 263 + content: ""; 264 + position: absolute; 265 + top: 0; 266 + bottom: 0; 267 + left: 50%; 268 + width: 100vw; 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 +} 271 271 272 - li { 273 - display: flex; 274 - align-items: center; 275 - gap: 7px; 277 +.contrast-band::after { 278 + content: ""; 279 + position: absolute; 280 + top: 0; 281 + bottom: 0; 282 + left: 50%; 283 + width: 100vw; 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; 276 276 } 277 277 278 - i { 279 - color: @brand; 363 + .contrast-tags span { 364 + font-size: 12px; 365 + padding: 8px 11px; 280 280 } 281 281 } 282 282 ... ... @@ -327,7 +327,6 @@ 327 327 .pathway-card, 328 328 .service-card, 329 329 .resource-card { 330 - background: #fff; 331 331 border: 1px solid @line; 332 332 border-radius: @radius; 333 333 box-shadow: @shadow-sm; ... ... @@ -437,80 +437,6 @@ 437 437 } 438 438 } 439 439 440 -.industry-trust-section { 441 - background: 442 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 70%); 443 - 444 - .industry-trust-panel { 445 - max-width: 1040px; 446 - margin: 0 auto; 447 - padding: 30px 28px; 448 - border: 1px solid fade(@brand, 16%); 449 - border-radius: @radius; 450 - background: 451 - radial-gradient(34rem 12rem at 50% 0%, fade(@brand-soft, 75%) 0%, #fff 72%); 452 - box-shadow: @shadow-sm; 453 - text-align: center; 454 - } 455 - 456 - h2 { 457 - margin-bottom: 12px; 458 - } 459 - 460 - .section-intro { 461 - margin-bottom: 20px; 462 - max-width: 820px; 463 - } 464 - 465 - .industry-tags { 466 - max-width: 880px; 467 - margin: 0 auto; 468 - display: flex; 469 - flex-wrap: wrap; 470 - justify-content: center; 471 - gap: 10px; 472 - } 473 - 474 - .industry-tags span { 475 - display: inline-flex; 476 - align-items: center; 477 - padding: 7px 12px; 478 - border: 1px solid fade(@brand, 20%); 479 - border-radius: 999px; 480 - background: #fff; 481 - color: @text; 482 - font-size: 13px; 483 - font-weight: 600; 484 - line-height: 1.2; 485 - box-shadow: 0 3px 10px rgba(0, 0, 0, .04); 486 - } 487 - 488 - .industry-support { 489 - max-width: 820px; 490 - margin: 22px auto 0; 491 - color: @muted; 492 - font-size: 16px; 493 - line-height: 1.6; 494 - } 495 -} 496 - 497 -@media (max-width: 640px) { 498 - .industry-trust-section { 499 - .industry-trust-panel { 500 - padding: 24px 18px; 501 - } 502 - 503 - .industry-tags { 504 - gap: 8px; 505 - } 506 - 507 - .industry-tags span { 508 - font-size: 12px; 509 - padding: 6px 10px; 510 - } 511 - } 512 -} 513 - 514 514 /* ========== Services ========== */ 515 515 516 516 .services { ... ... @@ -523,7 +523,6 @@ 523 523 align-items: flex-start; 524 524 gap: 16px; 525 525 padding: 22px; 526 - background: #fff; 527 527 border: 1px solid @line; 528 528 border-radius: @radius; 529 529 box-shadow: @shadow-sm; ... ... @@ -611,7 +611,6 @@ 611 611 position: relative; 612 612 padding: 16px 16px 16px 58px; 613 613 margin-bottom: 12px; 614 - background: #fff; 615 615 border: 1px solid @line; 616 616 border-radius: @radius; 617 617 box-shadow: @shadow-sm; ... ... @@ -743,8 +743,8 @@ 743 743 744 744 /* ========== CTA ========== */ 745 745 746 -.cta-section { 747 - padding: @section-padding;755 +#mainContentArea .cta-section { 756 + padding: 44px 0 56px; 748 748 749 749 .contact-inline { 750 750 margin: 0; ... ... @@ -756,27 +756,70 @@ 756 756 } 757 757 } 758 758 759 -.cta-panel { 760 - max-width: 860px; 768 +#mainContentArea .cta-panel { 769 + position: relative; 770 + overflow: hidden; 771 + max-width: 1040px; 761 761 margin: 0 auto; 762 - padding: 32px;763 - border -radius:@radius;764 - border : 1px solid fade(@brand,20%);773 + padding: 48px 40px; 774 + border: 0; 775 + border-radius: 26px; 765 765 background: 766 - radial-gradient(34rem 12rem at 50% 0%, @brand-soft 0%, #fff 70%); 767 - box-shadow: @shadow-sm; 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; 768 768 text-align: center; 782 +} 769 769 770 - h2 { 771 - margin-top: 0; 772 - } 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 +} 773 773 774 - p { 775 - color: @muted; 776 - line-height: 1.55; 777 - } 796 +#mainContentArea .cta-panel h2, 797 +#mainContentArea .cta-panel p, 798 +#mainContentArea .cta-panel .btn { 799 + position: relative; 800 + z-index: 1; 778 778 } 779 779 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 + 780 780 .resource-inline-cta { 781 781 display: flex; 782 782 align-items: center; ... ... @@ -908,9 +908,14 @@ 908 908 gap: 14px; 909 909 } 910 910 911 - .cta-panel { 912 - padding: 24px 20px; 963 + #mainContentArea .cta-panel { 964 + padding: 30px 22px; 965 + border-radius: 20px; 913 913 } 967 + 968 + #mainContentArea .cta-panel .btn-primary { 969 + width: 100%; 970 + } 914 914 } 915 915 916 916 /* ========== Resource / Article Pages ========== */ ... ... @@ -922,9 +922,6 @@ 922 922 .resource-header { 923 923 padding: @section-padding; 924 924 border-top: none; 925 - background: 926 - radial-gradient(50rem 18rem at 50% -10%, @brand-soft 0%, transparent 60%), 927 - radial-gradient(50rem 18rem at 50% 0%, #E8F6F3 0%, transparent 60%); 928 928 929 929 h1 { 930 930 margin: 0 auto 14px; ... ... @@ -1072,7 +1072,6 @@ 1072 1072 border: 1px solid @line; 1073 1073 border-radius: @radius; 1074 1074 padding: 18px; 1075 - background: #fff; 1076 1076 box-shadow: @shadow-sm; 1077 1077 1078 1078 h4 { ... ... @@ -1171,7 +1171,6 @@ 1171 1171 1172 1172 .product-card { 1173 1173 position: relative; 1174 - background: #fff; 1175 1175 border: 1px solid @line; 1176 1176 border-radius: @radius; 1177 1177 box-shadow: @shadow-sm; ... ... @@ -1321,7 +1321,6 @@ 1321 1321 .product-info-card, 1322 1322 .product-feature, 1323 1323 .product-gallery-panel { 1324 - background: #fff; 1325 1325 border: 1px solid @line; 1326 1326 border-radius: @radius; 1327 1327 box-shadow: @shadow-sm; ... ... @@ -1564,7 +1564,6 @@ 1564 1564 /* ========== Resources Index ========== */ 1565 1565 1566 1566 .resources-index-page { 1567 - background: #fff; 1568 1568 1569 1569 .services-grid { 1570 1570 grid-template-columns: repeat(2, minmax(0, 1fr)); ... ... @@ -1600,3 +1600,288 @@ 1600 1600 color: @muted; 1601 1601 } 1602 1602 } 1653 + 1654 +/* ========== Global Theme Background ========== */ 1655 + 1656 +html, 1657 +body { 1658 + min-height: 100%; 1659 +} 1660 + 1661 +body { 1662 + color: @text; 1663 + background: 1664 + radial-gradient(circle at 12% 8%, rgba(0, 147, 125, 0.08) 0, transparent 26%), 1665 + radial-gradient(circle at 90% 28%, rgba(7, 24, 45, 0.05) 0, transparent 30%), 1666 + linear-gradient(180deg, #fff 0, @brand-bg 42%, #fff 100%) !important; 1667 + background-attachment: fixed; 1668 +} 1669 + 1670 +/* ========== Main Page Hero / SaaS Layout ========== */ 1671 + 1672 +#mainContentArea .hero.hero-saas { 1673 + min-height: auto; 1674 + padding: 60px 0 34px; 1675 + display: flex; 1676 + align-items: center; 1677 + overflow: hidden; 1678 + background: transparent; 1679 +} 1680 + 1681 +#mainContentArea .hero-layout { 1682 + max-width: 1120px; 1683 + margin: 0 auto; 1684 + display: grid; 1685 + grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); 1686 + gap: 56px; 1687 + align-items: center; 1688 +} 1689 + 1690 +#mainContentArea .hero-copy { 1691 + min-width: 0; 1692 + text-align: left; 1693 +} 1694 + 1695 +#mainContentArea .hero.hero-saas h1 { 1696 + max-width: 640px; 1697 + margin: 0 0 26px; 1698 + font-size: 60px; 1699 + font-weight: 800; 1700 + line-height: 1; 1701 + letter-spacing: -3px; 1702 +} 1703 + 1704 +#mainContentArea .hero.hero-saas h1 span { 1705 + color: @brand; 1706 +} 1707 + 1708 +#mainContentArea .hero.hero-saas .lead { 1709 + max-width: 590px; 1710 + margin: 0 0 28px; 1711 + color: #334155; 1712 + text-align: left; 1713 + font-size: 18px; 1714 + line-height: 1.6; 1715 +} 1716 + 1717 +#mainContentArea .hero.hero-saas .benefits { 1718 + max-width: 620px; 1719 + margin: 0 0 30px; 1720 + padding: 0; 1721 + display: grid; 1722 + grid-template-columns: repeat(2, minmax(0, 1fr)); 1723 + gap: 10px 24px; 1724 + list-style: none; 1725 + color: #475569; 1726 + font-size: 15px; 1727 + text-align: left; 1728 +} 1729 + 1730 +#mainContentArea .hero.hero-saas .benefits li { 1731 + display: grid; 1732 + grid-template-columns: 18px minmax(0, 1fr); 1733 + column-gap: 8px; 1734 + align-items: start; 1735 + margin: 0; 1736 + line-height: 1.45; 1737 +} 1738 + 1739 +#mainContentArea .hero.hero-saas .benefits li::before { 1740 + content: "✓"; 1741 + display: block; 1742 + width: 18px; 1743 + color: @brand; 1744 + font-weight: 900; 1745 + line-height: 1.45; 1746 + text-align: left; 1747 + margin: 0; 1748 +} 1749 + 1750 +#mainContentArea .hero.hero-saas .hero-actions, 1751 +#mainContentArea .hero.hero-saas #hero-cta { 1752 + display: flex; 1753 + flex-wrap: wrap; 1754 + justify-content: flex-start; 1755 + gap: 12px; 1756 + margin-top: 0; 1757 +} 1758 + 1759 +#mainContentArea .hero-image-wrapper { 1760 + min-width: 0; 1761 + display: flex; 1762 + justify-content: center; 1763 + align-items: center; 1764 +} 1765 + 1766 +#mainContentArea .hero-image { 1767 + display: block; 1768 + width: 100%; 1769 + max-width: 620px; 1770 + height: auto; 1771 + border: 0; 1772 +} 1773 + 1774 +/* ========== Main Page Hero Responsive ========== */ 1775 + 1776 +@media (max-width: 1100px) { 1777 + #mainContentArea .hero-layout { 1778 + max-width: 760px; 1779 + grid-template-columns: 1fr; 1780 + gap: 34px; 1781 + } 1782 + 1783 + #mainContentArea .hero-copy { 1784 + order: 1; 1785 + text-align: center; 1786 + } 1787 + 1788 + #mainContentArea .hero-image-wrapper { 1789 + order: 2; 1790 + } 1791 + 1792 + #mainContentArea .hero.hero-saas h1 { 1793 + margin-left: auto; 1794 + margin-right: auto; 1795 + text-align: center; 1796 + } 1797 + 1798 + #mainContentArea .hero.hero-saas .lead { 1799 + margin-left: auto; 1800 + margin-right: auto; 1801 + text-align: center; 1802 + } 1803 + 1804 + #mainContentArea .hero.hero-saas .benefits { 1805 + margin-left: auto; 1806 + margin-right: auto; 1807 + } 1808 + 1809 + #mainContentArea .hero.hero-saas .hero-actions, 1810 + #mainContentArea .hero.hero-saas #hero-cta { 1811 + justify-content: center; 1812 + } 1813 + 1814 + #mainContentArea .hero-image { 1815 + max-width: 620px; 1816 + } 1817 +} 1818 + 1819 +@media (max-width: 640px) { 1820 + #mainContentArea .hero.hero-saas { 1821 + padding: 42px 0 28px; 1822 + } 1823 + 1824 + #mainContentArea .hero-layout { 1825 + gap: 28px; 1826 + } 1827 + 1828 + #mainContentArea .hero.hero-saas h1 { 1829 + font-size: 42px; 1830 + letter-spacing: -1.5px; 1831 + } 1832 + 1833 + #mainContentArea .hero.hero-saas .lead { 1834 + font-size: 17px; 1835 + } 1836 + 1837 + #mainContentArea .hero.hero-saas .benefits { 1838 + grid-template-columns: 1fr; 1839 + } 1840 + 1841 + #mainContentArea .hero-image { 1842 + max-width: 100%; 1843 + } 1844 +} 1845 + 1846 +/* ========== Accessibility / Contrast Improvements ========== */ 1847 + 1848 +/* Make the global background softer and less distracting. */ 1849 +body { 1850 + background: 1851 + radial-gradient(circle at 12% 8%, rgba(0, 147, 125, 0.035) 0, transparent 26%), 1852 + radial-gradient(circle at 90% 28%, rgba(7, 24, 45, 0.025) 0, transparent 30%), 1853 + linear-gradient(180deg, #fff 0, @brand-bg 42%, #fff 100%) !important; 1854 + background-attachment: scroll; 1855 +} 1856 + 1857 +/* Keep the article area readable while preserving the page background around it. */ 1858 +#mainContentArea .resource-layout { 1859 + padding: 28px; 1860 + border: 1px solid fade(@line, 85%); 1861 + border-radius: @radius; 1862 + background: rgba(255, 255, 255, .88); 1863 + box-shadow: @shadow-sm; 1864 +} 1865 + 1866 +/* Ensure all reusable cards have a real surface, not transparent over the gradient. */ 1867 +#mainContentArea .widget, 1868 +#mainContentArea .pathway-card, 1869 +#mainContentArea .service-card, 1870 +#mainContentArea .resource-card, 1871 +#mainContentArea .services .service, 1872 +#mainContentArea .product-card, 1873 +#mainContentArea .product-feature, 1874 +#mainContentArea .product-summary-card, 1875 +#mainContentArea .product-info-card { 1876 + background: #fff; 1877 +} 1878 + 1879 +/* Make notes more readable and visually stronger. */ 1880 +#mainContentArea .resource-note { 1881 + border: 1px solid fade(@brand, 18%); 1882 + border-left: 4px solid @brand; 1883 + background: #fff; 1884 + box-shadow: 0 10px 28px rgba(15, 23, 42, .045); 1885 +} 1886 + 1887 +/* Keep the sidebar clearly separated from the background. */ 1888 +#mainContentArea .resource-sidebar { 1889 + background: #fff; 1890 +} 1891 + 1892 +/* Make CTA panels stand out more clearly. */ 1893 +#mainContentArea .resource-cta, 1894 +#mainContentArea .resource-inline-cta { 1895 + background: #fff; 1896 +} 1897 + 1898 +/* Improve table readability on long resource pages. */ 1899 +#mainContentArea .resource-content table { 1900 + background: #fff; 1901 +} 1902 + 1903 +#mainContentArea .resource-content table th { 1904 + color: @text; 1905 + background: #F8FAFC; 1906 +} 1907 + 1908 +#mainContentArea .resource-content table td { 1909 + color: @text-soft; 1910 +} 1911 + 1912 +/* Slightly improve paragraph/list contrast in long articles. */ 1913 +#mainContentArea .resource-content p, 1914 +#mainContentArea .resource-content li { 1915 + color: @text-soft; 1916 +} 1917 + 1918 +#mainContentArea .resource-content .resource-note p, 1919 +#mainContentArea .resource-content .resource-checklist li, 1920 +#mainContentArea .resource-content .process-list li { 1921 + color: @muted; 1922 +} 1923 + 1924 +@media (max-width: 900px) { 1925 + #mainContentArea .resource-layout { 1926 + padding: 22px; 1927 + } 1928 +} 1929 + 1930 +@media (max-width: 640px) { 1931 + #mainContentArea .resource-layout { 1932 + padding: 18px; 1933 + border-radius: 14px; 1934 + } 1935 +} 1936 + 1937 +