Changes for page Public Web Site
Last modified by Alex Cotiuga on 2026/07/27 04:27
From version 31.2
edited by Alex Cotiuga
on 2026/07/27 04:11
on 2026/07/27 04:11
Change comment:
There is no comment for this version
To version 28.49
edited by Alex Cotiuga
on 2026/07/03 15:12
on 2026/07/03 15:12
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,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,68 +867,112 @@ 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 - .btn {901 - position: relative;902 - z-index: 1;903 - }799 +#mainContentArea .cta-panel h2, 800 +#mainContentArea .cta-panel p, 801 +#mainContentArea .cta-panel .btn { 802 + position: relative; 803 + z-index: 1; 804 +} 904 904 905 - h2 {906 - max-width: 760px;907 - margin: 0 auto 16px;908 - color: #fff;909 - }806 +#mainContentArea .cta-panel h2 { 807 + max-width: 760px; 808 + margin: 0 auto 16px; 809 + color: #fff; 810 +} 910 910 812 +#mainContentArea .cta-panel p { 813 + max-width: 760px; 814 + margin: 0 auto 28px; 815 + color: #DBE4EF; 816 + font-size: 16px; 817 + line-height: 1.6; 818 +} 819 + 820 +#mainContentArea .cta-panel .btn-primary { 821 + border-color: #fff; 822 + background: #fff; 823 + color: @text; 824 + box-shadow: 0 18px 42px rgba(0, 0, 0, .18); 825 +} 826 + 827 +#mainContentArea .cta-panel .btn-primary:hover, 828 +#mainContentArea .cta-panel .btn-primary:focus { 829 + border-color: #fff; 830 + background: #fff; 831 + color: @brand-strong; 832 + text-decoration: none; 833 +} 834 + 835 +.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 + 911 911 p { 912 - max-width: 760px; 913 - margin: 0 auto 28px; 914 - color: #DBE4EF; 915 - font-size: 16px; 916 - line-height: 1.6; 868 + margin-bottom: 14px; 917 917 } 918 918 919 - .btn-primary { 920 - border-color: #fff; 921 - background: #fff; 922 - color: @text; 923 - box-shadow: 0 18px 42px rgba(0, 0, 0, .18); 924 - 925 - &:hover, 926 - &:focus { 927 - border-color: #fff; 928 - background: #fff; 929 - color: @brand-strong; 930 - text-decoration: none; 931 - } 871 + .btn { 872 + display: inline-block; 873 + margin-left: auto; 874 + margin-right: auto; 932 932 } 933 933 } 934 934 } ... ... @@ -947,95 +947,11 @@ 947 947 grid-template-columns: 1fr; 948 948 } 949 949 950 - .split-copy { 951 - padding: 34px 28px; 952 - 953 - h2 { 954 - text-align: center; 955 - } 893 + .split-copy h2 { 894 + text-align: center; 956 956 } 957 957 } 958 958 959 -/* ========== XWiki notifications inside public CTA panels ========== */ 960 - 961 -#mainContentArea { 962 - .cta-panel { 963 - .reviewNotifications { 964 - position: relative; 965 - z-index: 1; 966 - max-width: 920px; 967 - margin: 22px auto 0; 968 - text-align: left; 969 - 970 - .box { 971 - margin: 0; 972 - padding: 18px 22px; 973 - border-radius: 8px; 974 - 975 - p { 976 - max-width: none; 977 - margin: 0; 978 - font-size: 15px; 979 - line-height: 1.55; 980 - font-weight: 600; 981 - } 982 - } 983 - 984 - .successmessage { 985 - border-color: #D6E9C6; 986 - border-left: 4px solid #3C763D; 987 - background: #DFF0D8; 988 - color: #3C763D; 989 - 990 - p, 991 - .fa, 992 - .icon { 993 - color: #3C763D; 994 - } 995 - } 996 - 997 - .errormessage { 998 - border-color: #EBCCD1; 999 - border-left: 4px solid #A94442; 1000 - background: #F2DEDE; 1001 - color: #A94442; 1002 - 1003 - p, 1004 - .fa, 1005 - .icon { 1006 - color: #A94442; 1007 - } 1008 - } 1009 - 1010 - .warningmessage { 1011 - border-color: #FAEBCC; 1012 - border-left: 4px solid #8A6D3B; 1013 - background: #FCF8E3; 1014 - color: #8A6D3B; 1015 - 1016 - p, 1017 - .fa, 1018 - .icon { 1019 - color: #8A6D3B; 1020 - } 1021 - } 1022 - 1023 - .infomessage { 1024 - border-color: #BCE8F1; 1025 - border-left: 4px solid #31708F; 1026 - background: #D9EDF7; 1027 - color: #31708F; 1028 - 1029 - p, 1030 - .fa, 1031 - .icon { 1032 - color: #31708F; 1033 - } 1034 - } 1035 - } 1036 - } 1037 -} 1038 - 1039 1039 @media (max-width: 760px) { 1040 1040 section[id] { 1041 1041 scroll-margin-top: 132px; ... ... @@ -1100,35 +1100,17 @@ 1100 1100 padding: 20px; 1101 1101 } 1102 1102 1103 - .split-copy { 1104 - padding: 30px 22px; 1105 - border-radius: 20px; 1106 - } 1107 - 1108 - .process-list li { 1109 - padding: 22px 20px 22px 68px; 1110 - 1111 - &:before { 1112 - left: 20px; 1113 - top: 22px; 1114 - width: 32px; 1115 - height: 32px; 1116 - } 1117 - } 1118 - 1119 1119 .services .service { 1120 1120 gap: 14px; 1121 1121 } 1122 1122 1123 - .cta- section {1124 - .cta-panel{1125 - padding:30px22px;1126 - border-radius: 20px;966 + #mainContentArea .cta-panel { 967 + padding: 30px 22px; 968 + border-radius: 20px; 969 + } 1127 1127 1128 - .btn-primary { 1129 - width: 100%; 1130 - } 1131 - } 971 + #mainContentArea .cta-panel .btn-primary { 972 + width: 100%; 1132 1132 } 1133 1133 } 1134 1134 ... ... @@ -1208,7 +1208,7 @@ 1208 1208 1209 1209 .resource-note { 1210 1210 border-left: 4px solid @brand; 1211 - background: #fff;1052 + background: @brand-bg; 1212 1212 padding: 16px 18px; 1213 1213 margin: 22px 0; 1214 1214 border-radius: 0 @radius @radius 0; ... ... @@ -1340,43 +1340,9 @@ 1340 1340 } 1341 1341 } 1342 1342 1343 -.resource-inline-cta { 1344 - display: flex; 1345 - align-items: center; 1346 - justify-content: space-between; 1347 - gap: 22px; 1348 - margin: 30px 0; 1349 - padding: 20px 22px; 1350 - border: 1px solid @line; 1351 - border-left: 4px solid @brand; 1352 - border-radius: @radius; 1353 - background: #fff; 1354 - box-shadow: @shadow-sm; 1355 - 1356 - p { 1357 - margin: 0; 1358 - color: @muted; 1359 - line-height: 1.55; 1360 - } 1361 - 1362 - strong { 1363 - display: block; 1364 - margin-bottom: 4px; 1365 - color: @text; 1366 - font-size: 17px; 1367 - line-height: 1.3; 1368 - } 1369 - 1370 - .btn { 1371 - flex-shrink: 0; 1372 - white-space: nowrap; 1373 - } 1374 -} 1375 - 1376 1376 .resource-note, 1377 1377 .resource-checklist, 1378 -.resource-cta, 1379 -.resource-inline-cta { 1186 +.resource-cta { 1380 1380 display: flow-root; 1381 1381 } 1382 1382 ... ... @@ -1386,22 +1386,6 @@ 1386 1386 } 1387 1387 } 1388 1388 1389 -@media (max-width: 767px) { 1390 - .resource-inline-cta { 1391 - display: block; 1392 - 1393 - p { 1394 - margin-bottom: 14px; 1395 - } 1396 - 1397 - .btn { 1398 - display: block; 1399 - width: 100%; 1400 - white-space: normal; 1401 - } 1402 - } 1403 -} 1404 - 1405 1405 @media (max-width: 900px) { 1406 1406 .resource-layout { 1407 1407 padding-top: 22px; ... ... @@ -1535,6 +1535,17 @@ 1535 1535 } 1536 1536 } 1537 1537 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 + 1538 1538 @media (max-width: 640px) { 1539 1539 .product-card { 1540 1540 grid-template-columns: 1fr; ... ... @@ -1868,39 +1868,6 @@ 1868 1868 background-attachment: fixed; 1869 1869 } 1870 1870 1871 -/* Let the body background show through the XWiki wrappers. 1872 -#mainContentArea, 1873 -.resource-page, 1874 -.resources-index-page { 1875 - background: transparent !important; 1876 - background-image: none !important; 1877 -} 1878 -*/ 1879 -/* Remove local decorative backgrounds that compete with the global gradient. 1880 -.hero, 1881 -.hero.hero-centered, 1882 -.trust-strip, 1883 -.industry-trust-section, 1884 -.split-section, 1885 -.resource-strip, 1886 -.homepage-resource-strip, 1887 -.resource-header, 1888 -.product-section-muted, 1889 -.resources-index-page { 1890 - background: transparent !important; 1891 - background-image: none !important; 1892 -} 1893 - */ 1894 -/* Keep large panels readable, but remove their inner gradients. 1895 -.industry-trust-section .industry-trust-panel, 1896 -.cta-panel, 1897 -.resource-inline-cta, 1898 -.resource-note, 1899 -.resource-cta { 1900 - background: #fff !important; 1901 - background-image: none !important; 1902 -} */ 1903 - 1904 1904 /* ========== Main Page Hero / SaaS Layout ========== */ 1905 1905 1906 1906 #mainContentArea .hero.hero-saas { ... ... @@ -2077,3 +2077,86 @@ 2077 2077 } 2078 2078 } 2079 2079 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 +