Changes for page Public Web Site
Last modified by Alex Cotiuga on 2026/07/27 04:27
From version 31.3
edited by Alex Cotiuga
on 2026/07/27 04:17
on 2026/07/27 04:17
Change comment:
There is no comment for this version
To version 28.48
edited by Alex Cotiuga
on 2026/07/03 15:11
on 2026/07/03 15:11
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Objects (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -149,35 +149,37 @@ 149 149 </div> 150 150 </section> 151 151 152 - <section class="industry-trust-section" aria-labelledby="industry-trust-title"> 153 - <div class="container"> 154 - <div class="industry-trust-panel"> 155 - <h2 id="industry-trust-title">Trusted XWiki expertise for business-critical platforms</h2> 152 + <div class="contrast-band-wrapper"> 153 + <section class="contrast-band" aria-labelledby="industry-trust-title"> 154 + <div class="container"> 155 + <div class="contrast-panel"> 156 + <h2 id="industry-trust-title">Trusted XWiki expertise for business-critical platforms</h2> 156 156 157 - <p class="section-intro"> 158 - Experience supporting XWiki platforms used in healthcare, financial services, scientific research, 159 - government institutions, transportation, software development, compliance programs and regulated environments. 160 - </p> 158 + <p class="section-intro"> 159 + Experience supporting XWiki platforms used in healthcare, financial services, scientific research, 160 + government institutions, transportation, software development, compliance programs and regulated environments. 161 + </p> 161 161 162 - <div class=" industry-tags" aria-label="Industries and environments supported">163 - <span>Healthcare</span> 164 - <span>Financial services</span> 165 - <span>Scientific research</span> 166 - <span>Government institutions</span> 167 - <span>Transportation</span> 168 - <span>Software development</span> 169 - <span>Compliance programs</span> 170 - <span>Regulated environments</span> 171 - </div> 163 + <div class="contrast-tags" aria-label="Industries and environments supported"> 164 + <span>Healthcare</span> 165 + <span>Financial services</span> 166 + <span>Scientific research</span> 167 + <span>Government institutions</span> 168 + <span>Transportation</span> 169 + <span>Software development</span> 170 + <span>Compliance programs</span> 171 + <span>Regulated environments</span> 172 + </div> 172 172 173 - <p class="industry-support"> 174 - Organizations rely on these platforms to manage documentation, workflows, compliance processes, 175 - research knowledge and critical business information. From upgrades and authentication integrations 176 - to workflow systems and long-term maintenance, Agnease helps keep XWiki secure, stable and ready for the future. 177 - </p> 174 + <p class="contrast-support"> 175 + Organizations rely on these platforms to manage documentation, workflows, compliance processes, 176 + research knowledge and critical business information. From upgrades and authentication integrations 177 + to workflow systems and long-term maintenance, Agnease helps keep XWiki secure, stable and ready for the future. 178 + </p> 179 + </div> 178 178 </div> 179 - </ div>180 - </ section>181 + </section> 182 + </div> 181 181 182 182 <section class="split-section" aria-labelledby="why-title"> 183 183 <div class="container"> ... ... @@ -249,7 +249,6 @@ 249 249 A short description is enough to define practical next steps. 250 250 </p> 251 251 <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Contact Agnease</a> 252 - <a class="btn btn-secondary" href="$xwiki.getURL('pricing.WebHome')">View service packages</a> 253 253 </div> 254 254 </div> 255 255 </section>
- XWiki.StyleSheetExtension[0]
-
- code
-
... ... @@ -79,7 +79,7 @@ 79 79 80 80 .section-intro { 81 81 max-width: 760px; 82 - margin: 10pxauto 22px;82 + margin: 0 auto 22px; 83 83 text-align: center; 84 84 color: @muted; 85 85 font-size: 16px; ... ... @@ -247,36 +247,61 @@ 247 247 margin-top: 22px; 248 248 } 249 249 250 -/* ========== TrustStrip========== */250 +/* ========== Contrast Band ========== */ 251 251 252 -.trust-strip { 253 - padding: 18px 0; 254 - border-top: 1px solid @line; 252 +/* Full‑bleed wrapper */ 253 +.contrast-band-wrapper { 254 + position: relative; 255 + overflow: visible; 256 +} 255 255 256 - ul { 257 - max-width: 960px; 258 - margin: 0 auto; 259 - padding: 0; 260 - list-style: none; 261 - display: flex; 262 - justify-content: center; 263 - gap: 22px; 264 - flex-wrap: wrap; 265 - color: @muted; 266 - font-size: 13px; 267 - } 258 +/* Full‑bleed gradient background */ 259 +.contrast-band-wrapper::before { 260 + content: ""; 261 + position: absolute; 262 + top: 0; 263 + left: 50%; 264 + width: 100vw; 265 + height: 100%; 266 + transform: translateX(-50%); 267 + z-index: -1; 268 268 269 - li {270 - di splay:flex;271 - a lign-items:center;272 - ga p:7px;273 - }269 + background: 270 + radial-gradient(circle at 18% 18%, fade(@brand, 22%) 0%, transparent 28%), 271 + radial-gradient(circle at 86% 12%, fade(@brand, 16%) 0%, transparent 30%), 272 + linear-gradient(135deg, @text 0%, @text-soft 100%); 273 +} 274 274 275 - i { 276 - color: @brand; 277 - } 275 +/* Inner band (no gradient here anymore) */ 276 +.contrast-band { 277 + position: relative; 278 + z-index: 0; 279 + padding: 54px 0; 280 + border-top: 0; 281 + color: #fff; 282 + background: none; 278 278 } 279 279 285 +/* Grid overlay */ 286 +.contrast-band::after { 287 + content: ""; 288 + position: absolute; 289 + inset: 0; 290 + background: 291 + linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px), 292 + linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px); 293 + background-size: 52px 52px; 294 + opacity: .38; 295 + pointer-events: none; 296 + z-index: 0; 297 +} 298 + 299 +/* Content stays above everything */ 300 +.contrast-band .container { 301 + position: relative; 302 + z-index: 1; 303 +} 304 + 280 280 /* ========== Reusable Grids ========== */ 281 281 282 282 .card-grid, ... ... @@ -433,80 +433,6 @@ 433 433 } 434 434 } 435 435 436 -.industry-trust-section { 437 - background: 438 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 70%); 439 - 440 - .industry-trust-panel { 441 - max-width: 1040px; 442 - margin: 0 auto; 443 - padding: 30px 28px; 444 - border: 1px solid fade(@brand, 16%); 445 - border-radius: @radius; 446 - background: 447 - radial-gradient(34rem 12rem at 50% 0%, fade(@brand-soft, 75%) 0%, #fff 72%); 448 - box-shadow: @shadow-sm; 449 - text-align: center; 450 - } 451 - 452 - h2 { 453 - margin-bottom: 12px; 454 - } 455 - 456 - .section-intro { 457 - margin-bottom: 20px; 458 - max-width: 820px; 459 - } 460 - 461 - .industry-tags { 462 - max-width: 880px; 463 - margin: 0 auto; 464 - display: flex; 465 - flex-wrap: wrap; 466 - justify-content: center; 467 - gap: 10px; 468 - } 469 - 470 - .industry-tags span { 471 - display: inline-flex; 472 - align-items: center; 473 - padding: 7px 12px; 474 - border: 1px solid fade(@brand, 20%); 475 - border-radius: 999px; 476 - background: #fff; 477 - color: @text; 478 - font-size: 13px; 479 - font-weight: 600; 480 - line-height: 1.2; 481 - box-shadow: 0 3px 10px rgba(0, 0, 0, .04); 482 - } 483 - 484 - .industry-support { 485 - max-width: 820px; 486 - margin: 22px auto 0; 487 - color: @muted; 488 - font-size: 16px; 489 - line-height: 1.6; 490 - } 491 -} 492 - 493 -@media (max-width: 640px) { 494 - .industry-trust-section { 495 - .industry-trust-panel { 496 - padding: 24px 18px; 497 - } 498 - 499 - .industry-tags { 500 - gap: 8px; 501 - } 502 - 503 - .industry-tags span { 504 - font-size: 12px; 505 - padding: 6px 10px; 506 - } 507 - } 508 -} 509 - 510 510 /* ========== Services ========== */ 511 511 512 512 .services { ... ... @@ -576,104 +576,23 @@ 576 576 577 577 .split-grid { 578 578 display: grid; 579 - grid-template-columns: . 95fr1.05fr;530 + grid-template-columns: 1.1fr .9fr; 580 580 grid-gap: 36px; 581 581 max-width: 1040px; 582 582 margin: 0 auto; 583 - align-items: stretch;534 + align-items: center; 584 584 } 585 585 586 586 .split-copy { 587 - position: relative; 588 - overflow: hidden; 589 - min-height: 100%; 590 - padding: 42px 38px; 591 - border-radius: 26px; 592 - background: 593 - radial-gradient(circle at 86% 12%, fade(@brand, 22%) 0%, transparent 32%), 594 - linear-gradient(135deg, @text 0%, @text-soft 100%); 595 - color: #fff; 596 - box-shadow: @shadow; 597 - 598 - &::before { 599 - content: ""; 600 - position: absolute; 601 - inset: 0; 602 - background: 603 - linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px), 604 - linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px); 605 - background-size: 48px 48px; 606 - opacity: .36; 607 - pointer-events: none; 608 - } 609 - 610 - h2, 611 - p { 612 - position: relative; 613 - z-index: 1; 614 - } 615 - 616 616 h2 { 617 617 text-align: left; 618 - margin: 0 0 18px; 619 - color: #fff; 620 - font-size: 30px; 621 - line-height: 1.18; 622 - letter-spacing: -.02em; 540 + margin-top: 0; 623 623 } 624 624 625 625 p { 626 - margin: 0 0 18px; 627 - color: #DBE4EF; 628 - line-height: 1.65; 629 - 630 - &:last-child { 631 - margin-bottom: 0; 632 - } 544 + color: @muted; 545 + line-height: 1.6; 633 633 } 634 - 635 - h3, 636 - h4 { 637 - position: relative; 638 - z-index: 1; 639 - margin: 0 0 16px; 640 - color: #fff; 641 - font-size: 24px; 642 - line-height: 1.2; 643 - font-weight: 800; 644 - } 645 - 646 - h2 i, 647 - h3 i, 648 - h4 i { 649 - margin-right: 8px; 650 - color: @brand; 651 - } 652 - 653 - ul { 654 - position: relative; 655 - z-index: 1; 656 - margin: 18px 0 0; 657 - padding: 0; 658 - list-style: none; 659 - } 660 - 661 - li { 662 - position: relative; 663 - margin: 10px 0; 664 - padding-left: 28px; 665 - color: #DBE4EF; 666 - line-height: 1.5; 667 - 668 - &::before { 669 - content: "\f00c"; 670 - font-family: FontAwesome; 671 - position: absolute; 672 - left: 0; 673 - top: 1px; 674 - color: @brand; 675 - } 676 - } 677 677 } 678 678 679 679 .process-list { ... ... @@ -685,75 +685,38 @@ 685 685 li { 686 686 counter-increment: process; 687 687 position: relative; 688 - min-height: 104px; 689 - padding: 24px 26px 24px 82px; 690 - margin-bottom: 18px; 558 + padding: 16px 16px 16px 58px; 559 + margin-bottom: 12px; 691 691 border: 1px solid @line; 692 692 border-radius: @radius; 693 - background: #fff; 694 694 box-shadow: @shadow-sm; 695 695 color: @muted; 696 696 line-height: 1.5; 697 697 698 - &:last-child { 699 - margin-bottom: 0; 700 - } 701 - 702 702 &:before { 703 703 content: counter(process); 704 704 position: absolute; 705 - left: 26px;706 - top: 26px;707 - width: 38px;708 - height: 38px;569 + left: 16px; 570 + top: 16px; 571 + width: 28px; 572 + height: 28px; 709 709 border-radius: 50%; 710 - background: @brand; 711 - color: #fff;574 + background: fade(@brand, 10%); 575 + color: @brand; 712 712 display: flex; 713 713 align-items: center; 714 714 justify-content: center; 715 715 font-weight: 800; 716 - box-shadow: 0 0 0 8px fade(@brand, 10%); 717 717 } 718 718 719 719 strong { 720 720 display: block; 721 721 color: @text; 722 - margin-bottom: 5px; 723 - font-size: 16px; 724 - line-height: 1.3; 585 + margin-bottom: 3px; 725 725 } 726 726 } 727 727 } 728 728 729 -/* ===== Contact page side panel ===== */ 730 - 731 -.contact-side-panel { 732 - padding-top: 10px; 733 -} 734 - 735 -.contact-help-panel { 736 - margin-bottom: 18px; 737 - padding: 30px 28px; 738 -} 739 - 740 -.contact-help-panel h2 { 741 - font-size: 24px; 742 -} 743 - 744 -.contact-process-list li { 745 - min-height: auto; 746 -} 747 - 748 -/* CSS for hidden field to identify requests filled by bots. */ 749 -.contact-hp-wrapper { 750 - position: absolute; 751 - left: -9999px; 752 - width: 1px; 753 - height: 1px; 754 - overflow: hidden; 755 -} 756 - 757 757 /* ========== Resources ========== */ 758 758 759 759 .resource-strip { ... ... @@ -761,7 +761,6 @@ 761 761 } 762 762 763 763 .resource-card { 764 - background-color: #fff; 765 765 padding: 20px; 766 766 767 767 h4 { ... ... @@ -856,8 +856,8 @@ 856 856 857 857 /* ========== CTA ========== */ 858 858 859 -.cta-section { 860 - border:none;691 +#mainContentArea .cta-section { 692 + padding: 44px 0 56px; 861 861 862 862 .contact-inline { 863 863 margin: 0; ... ... @@ -867,72 +867,113 @@ 867 867 color: @brand; 868 868 } 869 869 } 702 +} 870 870 871 - .cta-panel { 872 - position: relative; 873 - overflow: hidden; 874 - max-width: 1040px; 875 - margin: 0 auto; 876 - padding: 48px 40px; 877 - border: 0; 878 - border-radius: 26px; 879 - background: 880 - radial-gradient(circle at 88% 10%, fade(@brand, 24%) 0%, transparent 30%), 881 - linear-gradient(135deg, @text 0%, @text-soft 100%); 882 - color: #fff; 883 - box-shadow: @shadow; 884 - text-align: center; 704 +#mainContentArea .cta-panel { 705 + position: relative; 706 + overflow: hidden; 707 + max-width: 1040px; 708 + margin: 0 auto; 709 + padding: 48px 40px; 710 + border: 0; 711 + border-radius: 26px; 712 + background: 713 + radial-gradient(circle at 88% 10%, fade(@brand, 24%) 0%, transparent 30%), 714 + linear-gradient(135deg, @text 0%, @text-soft 100%); 715 + color: #fff; 716 + box-shadow: @shadow; 717 + text-align: center; 718 +} 885 885 886 - &::before {887 - content: "";888 - position: absolute;889 - inset: 0;890 - background:891 - linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px),892 - linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px);893 - background-size: 48px 48px;894 - opacity: .4;895 - pointer-events: none;896 - }720 +#mainContentArea .cta-panel::before { 721 + content: ""; 722 + position: absolute; 723 + inset: 0; 724 + background: 725 + linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px), 726 + linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px); 727 + background-size: 48px 48px; 728 + opacity: .4; 729 + pointer-events: none; 730 +} 897 897 898 - > h2, 899 - > p, 900 - > form, 901 - > .hero-actions, 902 - > .cta-actions, 903 - > .reviewNotifications { 904 - position: relative; 905 - z-index: 1; 906 - } 732 +#mainContentArea .cta-panel h2, 733 +#mainContentArea .cta-panel p, 734 +#mainContentArea .cta-panel .btn { 735 + position: relative; 736 + z-index: 1; 737 +} 907 907 908 - >h2 {909 - max-width: 760px;910 - margin: 0 auto 16px;911 - color: #fff;912 - }739 +#mainContentArea .cta-panel h2 { 740 + max-width: 760px; 741 + margin: 0 auto 16px; 742 + color: #fff; 743 +} 913 913 914 - >p {915 - max-width: 760px;916 - margin: 0 auto 28px;917 - color: #DBE4EF;918 - font-size: 16px;919 - line-height: 1.6;920 - }745 +#mainContentArea .cta-panel p { 746 + max-width: 760px; 747 + margin: 0 auto 28px; 748 + color: #DBE4EF; 749 + font-size: 16px; 750 + line-height: 1.6; 751 +} 921 921 922 - .btn-primary { 923 - border-color: #fff; 924 - background: #fff; 925 - color: @text; 926 - box-shadow: 0 18px 42px rgba(0, 0, 0, .18); 753 +#mainContentArea .cta-panel .btn-primary { 754 + border-color: #fff; 755 + background: #fff; 756 + color: @text; 757 + box-shadow: 0 18px 42px rgba(0, 0, 0, .18); 758 +} 927 927 928 - &:hover, 929 - &:focus { 930 - border-color: #fff; 931 - background: #fff; 932 - color: @brand-strong; 933 - text-decoration: none; 934 - } 760 +#mainContentArea .cta-panel .btn-primary:hover, 761 +#mainContentArea .cta-panel .btn-primary:focus { 762 + border-color: #fff; 763 + background: #fff; 764 + color: @brand-strong; 765 + text-decoration: none; 766 +} 767 + 768 +.resource-inline-cta { 769 + display: flex; 770 + align-items: center; 771 + justify-content: space-between; 772 + gap: 22px; 773 + margin: 30px 0; 774 + padding: 20px 22px; 775 + border: 1px solid fade(@brand, 22%); 776 + border-radius: @radius; 777 + background: @brand-bg; 778 + box-shadow: @shadow-sm; 779 + 780 + p { 781 + margin: 0; 782 + color: @muted; 783 + line-height: 1.55; 784 + } 785 + 786 + strong { 787 + color: @text; 788 + } 789 + 790 + .btn { 791 + flex-shrink: 0; 792 + } 793 +} 794 + 795 +@media (max-width: 767px) { 796 + .resource-inline-cta { 797 + display: block; 798 + text-align: center; 799 + 800 + p { 801 + margin-bottom: 14px; 935 935 } 803 + 804 + .btn { 805 + display: inline-block; 806 + margin-left: auto; 807 + margin-right: auto; 808 + } 936 936 } 937 937 } 938 938 ... ... @@ -950,95 +950,11 @@ 950 950 grid-template-columns: 1fr; 951 951 } 952 952 953 - .split-copy { 954 - padding: 34px 28px; 955 - 956 - h2 { 957 - text-align: center; 958 - } 826 + .split-copy h2 { 827 + text-align: center; 959 959 } 960 960 } 961 961 962 -/* ========== XWiki notifications inside public CTA panels ========== */ 963 - 964 -#mainContentArea { 965 - .cta-panel { 966 - .reviewNotifications { 967 - position: relative; 968 - z-index: 1; 969 - max-width: 920px; 970 - margin: 22px auto 0; 971 - text-align: left; 972 - 973 - .box { 974 - margin: 0; 975 - padding: 18px 22px; 976 - border-radius: 8px; 977 - 978 - p { 979 - max-width: none; 980 - margin: 0; 981 - font-size: 15px; 982 - line-height: 1.55; 983 - font-weight: 600; 984 - } 985 - } 986 - 987 - .successmessage { 988 - border-color: #D6E9C6; 989 - border-left: 4px solid #3C763D; 990 - background: #DFF0D8; 991 - color: #3C763D; 992 - 993 - p, 994 - .fa, 995 - .icon { 996 - color: #3C763D; 997 - } 998 - } 999 - 1000 - .errormessage { 1001 - border-color: #EBCCD1; 1002 - border-left: 4px solid #A94442; 1003 - background: #F2DEDE; 1004 - color: #A94442; 1005 - 1006 - p, 1007 - .fa, 1008 - .icon { 1009 - color: #A94442; 1010 - } 1011 - } 1012 - 1013 - .warningmessage { 1014 - border-color: #FAEBCC; 1015 - border-left: 4px solid #8A6D3B; 1016 - background: #FCF8E3; 1017 - color: #8A6D3B; 1018 - 1019 - p, 1020 - .fa, 1021 - .icon { 1022 - color: #8A6D3B; 1023 - } 1024 - } 1025 - 1026 - .infomessage { 1027 - border-color: #BCE8F1; 1028 - border-left: 4px solid #31708F; 1029 - background: #D9EDF7; 1030 - color: #31708F; 1031 - 1032 - p, 1033 - .fa, 1034 - .icon { 1035 - color: #31708F; 1036 - } 1037 - } 1038 - } 1039 - } 1040 -} 1041 - 1042 1042 @media (max-width: 760px) { 1043 1043 section[id] { 1044 1044 scroll-margin-top: 132px; ... ... @@ -1103,35 +1103,17 @@ 1103 1103 padding: 20px; 1104 1104 } 1105 1105 1106 - .split-copy { 1107 - padding: 30px 22px; 1108 - border-radius: 20px; 1109 - } 1110 - 1111 - .process-list li { 1112 - padding: 22px 20px 22px 68px; 1113 - 1114 - &:before { 1115 - left: 20px; 1116 - top: 22px; 1117 - width: 32px; 1118 - height: 32px; 1119 - } 1120 - } 1121 - 1122 1122 .services .service { 1123 1123 gap: 14px; 1124 1124 } 1125 1125 1126 - .cta- section {1127 - .cta-panel{1128 - padding:30px22px;1129 - border-radius: 20px;899 + #mainContentArea .cta-panel { 900 + padding: 30px 22px; 901 + border-radius: 20px; 902 + } 1130 1130 1131 - .btn-primary { 1132 - width: 100%; 1133 - } 1134 - } 904 + #mainContentArea .cta-panel .btn-primary { 905 + width: 100%; 1135 1135 } 1136 1136 } 1137 1137 ... ... @@ -1211,7 +1211,7 @@ 1211 1211 1212 1212 .resource-note { 1213 1213 border-left: 4px solid @brand; 1214 - background: #fff;985 + background: @brand-bg; 1215 1215 padding: 16px 18px; 1216 1216 margin: 22px 0; 1217 1217 border-radius: 0 @radius @radius 0; ... ... @@ -1343,43 +1343,9 @@ 1343 1343 } 1344 1344 } 1345 1345 1346 -.resource-inline-cta { 1347 - display: flex; 1348 - align-items: center; 1349 - justify-content: space-between; 1350 - gap: 22px; 1351 - margin: 30px 0; 1352 - padding: 20px 22px; 1353 - border: 1px solid @line; 1354 - border-left: 4px solid @brand; 1355 - border-radius: @radius; 1356 - background: #fff; 1357 - box-shadow: @shadow-sm; 1358 - 1359 - p { 1360 - margin: 0; 1361 - color: @muted; 1362 - line-height: 1.55; 1363 - } 1364 - 1365 - strong { 1366 - display: block; 1367 - margin-bottom: 4px; 1368 - color: @text; 1369 - font-size: 17px; 1370 - line-height: 1.3; 1371 - } 1372 - 1373 - .btn { 1374 - flex-shrink: 0; 1375 - white-space: nowrap; 1376 - } 1377 -} 1378 - 1379 1379 .resource-note, 1380 1380 .resource-checklist, 1381 -.resource-cta, 1382 -.resource-inline-cta { 1119 +.resource-cta { 1383 1383 display: flow-root; 1384 1384 } 1385 1385 ... ... @@ -1389,22 +1389,6 @@ 1389 1389 } 1390 1390 } 1391 1391 1392 -@media (max-width: 767px) { 1393 - .resource-inline-cta { 1394 - display: block; 1395 - 1396 - p { 1397 - margin-bottom: 14px; 1398 - } 1399 - 1400 - .btn { 1401 - display: block; 1402 - width: 100%; 1403 - white-space: normal; 1404 - } 1405 - } 1406 -} 1407 - 1408 1408 @media (max-width: 900px) { 1409 1409 .resource-layout { 1410 1410 padding-top: 22px; ... ... @@ -1538,6 +1538,17 @@ 1538 1538 } 1539 1539 } 1540 1540 1262 +.product-card-contact { 1263 + color: @brand; 1264 + font-weight: 700; 1265 + text-decoration: underline; 1266 + 1267 + &:hover, 1268 + &:focus { 1269 + color: @brand-strong; 1270 + } 1271 +} 1272 + 1541 1541 @media (max-width: 640px) { 1542 1542 .product-card { 1543 1543 grid-template-columns: 1fr; ... ... @@ -1871,39 +1871,6 @@ 1871 1871 background-attachment: fixed; 1872 1872 } 1873 1873 1874 -/* Let the body background show through the XWiki wrappers. 1875 -#mainContentArea, 1876 -.resource-page, 1877 -.resources-index-page { 1878 - background: transparent !important; 1879 - background-image: none !important; 1880 -} 1881 -*/ 1882 -/* Remove local decorative backgrounds that compete with the global gradient. 1883 -.hero, 1884 -.hero.hero-centered, 1885 -.trust-strip, 1886 -.industry-trust-section, 1887 -.split-section, 1888 -.resource-strip, 1889 -.homepage-resource-strip, 1890 -.resource-header, 1891 -.product-section-muted, 1892 -.resources-index-page { 1893 - background: transparent !important; 1894 - background-image: none !important; 1895 -} 1896 - */ 1897 -/* Keep large panels readable, but remove their inner gradients. 1898 -.industry-trust-section .industry-trust-panel, 1899 -.cta-panel, 1900 -.resource-inline-cta, 1901 -.resource-note, 1902 -.resource-cta { 1903 - background: #fff !important; 1904 - background-image: none !important; 1905 -} */ 1906 - 1907 1907 /* ========== Main Page Hero / SaaS Layout ========== */ 1908 1908 1909 1909 #mainContentArea .hero.hero-saas { ... ... @@ -2080,3 +2080,86 @@ 2080 2080 } 2081 2081 } 2082 2082 1782 +/* ========== Accessibility / Contrast Improvements ========== */ 1783 + 1784 +/* Keep the article area readable while preserving the page background around it. */ 1785 +/*#mainContentArea .resource-layout { 1786 + padding: 28px; 1787 + border: 1px solid fade(@line, 85%); 1788 + border-radius: @radius; 1789 + background: rgba(255, 255, 255, .88); 1790 + box-shadow: @shadow-sm; 1791 +}*/ 1792 + 1793 +/* Ensure all reusable cards have a real surface, not transparent over the gradient. */ 1794 +#mainContentArea .widget, 1795 +#mainContentArea .pathway-card, 1796 +#mainContentArea .service-card, 1797 +#mainContentArea .resource-card, 1798 +#mainContentArea .services .service, 1799 +#mainContentArea .product-card, 1800 +#mainContentArea .product-feature, 1801 +#mainContentArea .product-summary-card, 1802 +#mainContentArea .product-info-card { 1803 + background: #fff; 1804 +} 1805 + 1806 +/* Make notes more readable and visually stronger. */ 1807 +#mainContentArea .resource-note { 1808 + border: 1px solid fade(@brand, 18%); 1809 + border-left: 4px solid @brand; 1810 + background: #fff; 1811 + box-shadow: 0 10px 28px rgba(15, 23, 42, .045); 1812 +} 1813 + 1814 +/* Keep the sidebar clearly separated from the background. */ 1815 +#mainContentArea .resource-sidebar { 1816 + background: #fff; 1817 +} 1818 + 1819 +/* Make CTA panels stand out more clearly. */ 1820 +#mainContentArea .resource-cta, 1821 +#mainContentArea .resource-inline-cta { 1822 + background: #fff; 1823 +} 1824 + 1825 +/* Improve table readability on long resource pages. */ 1826 +#mainContentArea .resource-content table { 1827 + background: #fff; 1828 +} 1829 + 1830 +#mainContentArea .resource-content table th { 1831 + color: @text; 1832 + background: #F8FAFC; 1833 +} 1834 + 1835 +#mainContentArea .resource-content table td { 1836 + color: @text-soft; 1837 +} 1838 + 1839 +/* Slightly improve paragraph/list contrast in long articles. */ 1840 +#mainContentArea .resource-content p, 1841 +#mainContentArea .resource-content li { 1842 + color: @text-soft; 1843 +} 1844 + 1845 +#mainContentArea .resource-content .resource-note p, 1846 +#mainContentArea .resource-content .resource-checklist li, 1847 +#mainContentArea .resource-content .process-list li { 1848 + color: @muted; 1849 +} 1850 + 1851 +@media (max-width: 900px) { 1852 + #mainContentArea .resource-layout { 1853 + padding: 22px; 1854 + } 1855 +} 1856 + 1857 +@media (max-width: 640px) { 1858 + #mainContentArea .resource-layout { 1859 + padding: 18px; 1860 + border-radius: 14px; 1861 + } 1862 +} 1863 + 1864 +