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.43
edited by Alex Cotiuga
on 2026/07/03 14:22
on 2026/07/03 14:22
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,9 +149,9 @@ 149 149 </div> 150 150 </section> 151 151 152 - <section class=" industry-trust-section" aria-labelledby="industry-trust-title">152 + <section class="contrast-band" aria-labelledby="industry-trust-title"> 153 153 <div class="container"> 154 - <div class=" industry-trust-panel">154 + <div class="contrast-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=" industry-tags" aria-label="Industries and environments supported">162 + <div class="contrast-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=" industry-support">173 + <p class="contrast-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. ... ... @@ -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,128 @@ 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 +.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; 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 - } 260 + /* Remove gradient from here */ 261 + background: none; 262 +} 268 268 269 - li { 270 - display: flex; 271 - align-items: center; 272 - gap: 7px; 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 + 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; 273 273 } 274 274 275 - i { 276 - color: @brand; 365 + .contrast-tags span { 366 + font-size: 12px; 367 + padding: 8px 11px; 277 277 } 278 278 } 279 279 371 + 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;597 + 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;601 + 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; 607 + 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 - } 611 + color: @muted; 612 + 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; 625 + padding: 16px 16px 16px 58px; 626 + 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;636 + left: 16px; 637 + top: 16px; 638 + width: 28px; 639 + height: 28px; 709 709 border-radius: 50%; 710 - background: @brand; 711 - color: #fff;641 + background: fade(@brand, 10%); 642 + 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; 652 + 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;758 +#mainContentArea .cta-section { 759 + 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 } 769 +} 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; 771 +#mainContentArea .cta-panel { 772 + position: relative; 773 + overflow: hidden; 774 + max-width: 1040px; 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; 784 + text-align: center; 785 +} 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 - }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 +} 897 897 898 - > h2, 899 - > p, 900 - > form, 901 - > .hero-actions, 902 - > .cta-actions, 903 - > .reviewNotifications { 904 - position: relative; 905 - z-index: 1; 906 - } 799 +#mainContentArea .cta-panel h2, 800 +#mainContentArea .cta-panel p, 801 +#mainContentArea .cta-panel .btn { 802 + position: relative; 803 + z-index: 1; 804 +} 907 907 908 - >h2 {909 - max-width: 760px;910 - margin: 0 auto 16px;911 - color: #fff;912 - }806 +#mainContentArea .cta-panel h2 { 807 + max-width: 760px; 808 + margin: 0 auto 16px; 809 + color: #fff; 810 +} 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 - }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 +} 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); 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 +} 927 927 928 - &:hover, 929 - &:focus { 930 - border-color: #fff; 931 - background: #fff; 932 - color: @brand-strong; 933 - text-decoration: none; 934 - } 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 +.resource-inline-cta { 836 + display: flex; 837 + align-items: center; 838 + justify-content: space-between; 839 + gap: 22px; 840 + margin: 30px 0; 841 + padding: 20px 22px; 842 + border: 1px solid fade(@brand, 22%); 843 + border-radius: @radius; 844 + background: @brand-bg; 845 + box-shadow: @shadow-sm; 846 + 847 + p { 848 + margin: 0; 849 + color: @muted; 850 + line-height: 1.55; 851 + } 852 + 853 + strong { 854 + color: @text; 855 + } 856 + 857 + .btn { 858 + flex-shrink: 0; 859 + } 860 +} 861 + 862 +@media (max-width: 767px) { 863 + .resource-inline-cta { 864 + display: block; 865 + text-align: center; 866 + 867 + p { 868 + margin-bottom: 14px; 935 935 } 870 + 871 + .btn { 872 + display: inline-block; 873 + margin-left: auto; 874 + margin-right: auto; 875 + } 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 - } 893 + .split-copy h2 { 894 + 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;966 + #mainContentArea .cta-panel { 967 + padding: 30px 22px; 968 + border-radius: 20px; 969 + } 1130 1130 1131 - .btn-primary { 1132 - width: 100%; 1133 - } 1134 - } 971 + #mainContentArea .cta-panel .btn-primary { 972 + 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;1052 + 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 { 1186 +.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 1329 +.product-card-contact { 1330 + color: @brand; 1331 + font-weight: 700; 1332 + text-decoration: underline; 1333 + 1334 + &:hover, 1335 + &:focus { 1336 + color: @brand-strong; 1337 + } 1338 +} 1339 + 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 1849 +/* ========== Accessibility / Contrast Improvements ========== */ 1850 + 1851 +/* Keep the article area readable while preserving the page background around it. */ 1852 +/*#mainContentArea .resource-layout { 1853 + padding: 28px; 1854 + border: 1px solid fade(@line, 85%); 1855 + border-radius: @radius; 1856 + background: rgba(255, 255, 255, .88); 1857 + box-shadow: @shadow-sm; 1858 +}*/ 1859 + 1860 +/* Ensure all reusable cards have a real surface, not transparent over the gradient. */ 1861 +#mainContentArea .widget, 1862 +#mainContentArea .pathway-card, 1863 +#mainContentArea .service-card, 1864 +#mainContentArea .resource-card, 1865 +#mainContentArea .services .service, 1866 +#mainContentArea .product-card, 1867 +#mainContentArea .product-feature, 1868 +#mainContentArea .product-summary-card, 1869 +#mainContentArea .product-info-card { 1870 + background: #fff; 1871 +} 1872 + 1873 +/* Make notes more readable and visually stronger. */ 1874 +#mainContentArea .resource-note { 1875 + border: 1px solid fade(@brand, 18%); 1876 + border-left: 4px solid @brand; 1877 + background: #fff; 1878 + box-shadow: 0 10px 28px rgba(15, 23, 42, .045); 1879 +} 1880 + 1881 +/* Keep the sidebar clearly separated from the background. */ 1882 +#mainContentArea .resource-sidebar { 1883 + background: #fff; 1884 +} 1885 + 1886 +/* Make CTA panels stand out more clearly. */ 1887 +#mainContentArea .resource-cta, 1888 +#mainContentArea .resource-inline-cta { 1889 + background: #fff; 1890 +} 1891 + 1892 +/* Improve table readability on long resource pages. */ 1893 +#mainContentArea .resource-content table { 1894 + background: #fff; 1895 +} 1896 + 1897 +#mainContentArea .resource-content table th { 1898 + color: @text; 1899 + background: #F8FAFC; 1900 +} 1901 + 1902 +#mainContentArea .resource-content table td { 1903 + color: @text-soft; 1904 +} 1905 + 1906 +/* Slightly improve paragraph/list contrast in long articles. */ 1907 +#mainContentArea .resource-content p, 1908 +#mainContentArea .resource-content li { 1909 + color: @text-soft; 1910 +} 1911 + 1912 +#mainContentArea .resource-content .resource-note p, 1913 +#mainContentArea .resource-content .resource-checklist li, 1914 +#mainContentArea .resource-content .process-list li { 1915 + color: @muted; 1916 +} 1917 + 1918 +@media (max-width: 900px) { 1919 + #mainContentArea .resource-layout { 1920 + padding: 22px; 1921 + } 1922 +} 1923 + 1924 +@media (max-width: 640px) { 1925 + #mainContentArea .resource-layout { 1926 + padding: 18px; 1927 + border-radius: 14px; 1928 + } 1929 +} 1930 + 1931 +