Changes for page Public Web Site
Last modified by Alex Cotiuga on 2026/07/29 05:00
From 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
To version 31.14
edited by Alex Cotiuga
on 2026/07/29 05:00
on 2026/07/29 05:00
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,37 +149,35 @@ 149 149 </div> 150 150 </section> 151 151 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> 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> 157 157 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>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> 162 162 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> 173 - 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> 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> 179 179 </div> 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> 180 180 </div> 181 - </ section>182 - </ div>179 + </div> 180 + </section> 183 183 184 184 <section class="split-section" aria-labelledby="why-title"> 185 185 <div class="container"> ... ... @@ -251,6 +251,7 @@ 251 251 A short description is enough to define practical next steps. 252 252 </p> 253 253 <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> 254 254 </div> 255 255 </div> 256 256 </section>
- XWiki.StyleSheetExtension[0]
-
- code
-
... ... @@ -79,7 +79,7 @@ 79 79 80 80 .section-intro { 81 81 max-width: 760px; 82 - margin: 0 auto 22px; 82 + margin: 10px auto 22px; 83 83 text-align: center; 84 84 color: @muted; 85 85 font-size: 16px; ... ... @@ -117,19 +117,51 @@ 117 117 .site-nav { 118 118 display: flex; 119 119 align-items: center; 120 - gap: 22px;120 + gap: 8px; 121 121 font-size: 15px; 122 122 123 123 a { 124 + display: inline-flex; 125 + align-items: center; 126 + gap: 5px; 127 + padding: 8px 11px; 128 + border-radius: 9px; 124 124 color: @text; 130 + background: transparent; 125 125 text-decoration: none; 126 126 font-weight: 600; 133 + line-height: 1.2; 134 + transition: 135 + color .18s ease, 136 + background .18s ease, 137 + box-shadow .18s ease, 138 + transform .18s ease; 127 127 128 128 &:hover, 129 129 &:focus { 130 - color: @brand; 142 + color: #fff; 143 + background: 144 + linear-gradient( 145 + 110deg, 146 + @text 0%, 147 + @text-soft 55%, 148 + @brand-strong 100% 149 + ); 150 + box-shadow: 0 8px 18px rgba(7, 24, 45, .14); 131 131 text-decoration: none; 152 + transform: translateY(-1px); 132 132 } 154 + 155 + &:focus-visible { 156 + outline: 2px solid fade(@brand, 45%); 157 + outline-offset: 2px; 158 + } 159 + 160 + i, 161 + .fa, 162 + .caret { 163 + color: inherit; 164 + } 133 133 } 134 134 135 135 .nav-cta { ... ... @@ -136,14 +136,20 @@ 136 136 color: #fff; 137 137 background: @brand; 138 138 border: 1px solid @brand; 139 - border-radius: 6px;171 + border-radius: 9px; 140 140 padding: 8px 14px; 141 141 142 142 &:hover, 143 143 &:focus { 144 144 color: #fff; 145 - background: @brand-strong; 146 - border-color: @brand-strong; 177 + border-color: transparent; 178 + background: 179 + linear-gradient( 180 + 110deg, 181 + @text 0%, 182 + @text-soft 55%, 183 + @brand-strong 100% 184 + ); 147 147 } 148 148 } 149 149 } ... ... @@ -247,61 +247,36 @@ 247 247 margin-top: 22px; 248 248 } 249 249 250 -/* ========== ContrastBand========== */288 +/* ========== Trust Strip ========== */ 251 251 252 -/* Full‑bleed wrapper */ 253 -.contrast-band-wrapper { 254 - position: relative; 255 - overflow: visible; 256 -} 290 +.trust-strip { 291 + padding: 18px 0; 292 + border-top: 1px solid @line; 257 257 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; 294 + ul { 295 + max-width: 960px; 296 + margin: 0 auto; 297 + padding: 0; 298 + list-style: none; 299 + display: flex; 300 + justify-content: center; 301 + gap: 22px; 302 + flex-wrap: wrap; 303 + color: @muted; 304 + font-size: 13px; 305 + } 268 268 269 - background:270 - radial-gradient(circleat 18% 18%,fade(@brand, 22%) 0%, transparent 28%),271 - radial-gradient(circle at86% 12%, fade(@brand, 16%) 0%, transparent30%),272 - linear-gradient(135deg,@text 0%, @text-soft 100%);273 -} 307 + li { 308 + display: flex; 309 + align-items: center; 310 + gap: 7px; 311 + } 274 274 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; 313 + i { 314 + color: @brand; 315 + } 283 283 } 284 284 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 - 305 305 /* ========== Reusable Grids ========== */ 306 306 307 307 .card-grid, ... ... @@ -458,6 +458,80 @@ 458 458 } 459 459 } 460 460 474 +.industry-trust-section { 475 + background: 476 + radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 70%); 477 + 478 + .industry-trust-panel { 479 + max-width: 1040px; 480 + margin: 0 auto; 481 + padding: 30px 28px; 482 + border: 1px solid fade(@brand, 16%); 483 + border-radius: @radius; 484 + background: 485 + radial-gradient(34rem 12rem at 50% 0%, fade(@brand-soft, 75%) 0%, #fff 72%); 486 + box-shadow: @shadow-sm; 487 + text-align: center; 488 + } 489 + 490 + h2 { 491 + margin-bottom: 12px; 492 + } 493 + 494 + .section-intro { 495 + margin-bottom: 20px; 496 + max-width: 820px; 497 + } 498 + 499 + .industry-tags { 500 + max-width: 880px; 501 + margin: 0 auto; 502 + display: flex; 503 + flex-wrap: wrap; 504 + justify-content: center; 505 + gap: 10px; 506 + } 507 + 508 + .industry-tags span { 509 + display: inline-flex; 510 + align-items: center; 511 + padding: 7px 12px; 512 + border: 1px solid fade(@brand, 20%); 513 + border-radius: 999px; 514 + background: #fff; 515 + color: @text; 516 + font-size: 13px; 517 + font-weight: 600; 518 + line-height: 1.2; 519 + box-shadow: 0 3px 10px rgba(0, 0, 0, .04); 520 + } 521 + 522 + .industry-support { 523 + max-width: 820px; 524 + margin: 22px auto 0; 525 + color: @muted; 526 + font-size: 16px; 527 + line-height: 1.6; 528 + } 529 +} 530 + 531 +@media (max-width: 640px) { 532 + .industry-trust-section { 533 + .industry-trust-panel { 534 + padding: 24px 18px; 535 + } 536 + 537 + .industry-tags { 538 + gap: 8px; 539 + } 540 + 541 + .industry-tags span { 542 + font-size: 12px; 543 + padding: 6px 10px; 544 + } 545 + } 546 +} 547 + 461 461 /* ========== Services ========== */ 462 462 463 463 .services { ... ... @@ -527,23 +527,104 @@ 527 527 528 528 .split-grid { 529 529 display: grid; 530 - grid-template-columns: 1.1fr .9fr;617 + grid-template-columns: .95fr 1.05fr; 531 531 grid-gap: 36px; 532 532 max-width: 1040px; 533 533 margin: 0 auto; 534 - align-items: center;621 + align-items: stretch; 535 535 } 536 536 537 537 .split-copy { 625 + position: relative; 626 + overflow: hidden; 627 + min-height: 100%; 628 + padding: 42px 38px; 629 + border-radius: 26px; 630 + background: 631 + radial-gradient(circle at 86% 12%, fade(@brand, 22%) 0%, transparent 32%), 632 + linear-gradient(135deg, @text 0%, @text-soft 100%); 633 + color: #fff; 634 + box-shadow: @shadow; 635 + 636 + &::before { 637 + content: ""; 638 + position: absolute; 639 + inset: 0; 640 + background: 641 + linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px), 642 + linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px); 643 + background-size: 48px 48px; 644 + opacity: .36; 645 + pointer-events: none; 646 + } 647 + 648 + h2, 649 + p { 650 + position: relative; 651 + z-index: 1; 652 + } 653 + 538 538 h2 { 539 539 text-align: left; 540 - margin-top: 0; 656 + margin: 0 0 18px; 657 + color: #fff; 658 + font-size: 30px; 659 + line-height: 1.18; 660 + letter-spacing: -.02em; 541 541 } 542 542 543 543 p { 544 - color: @muted; 545 - line-height: 1.6; 664 + margin: 0 0 18px; 665 + color: #DBE4EF; 666 + line-height: 1.65; 667 + 668 + &:last-child { 669 + margin-bottom: 0; 670 + } 546 546 } 672 + 673 + h3, 674 + h4 { 675 + position: relative; 676 + z-index: 1; 677 + margin: 0 0 16px; 678 + color: #fff; 679 + font-size: 24px; 680 + line-height: 1.2; 681 + font-weight: 800; 682 + } 683 + 684 + h2 i, 685 + h3 i, 686 + h4 i { 687 + margin-right: 8px; 688 + color: @brand; 689 + } 690 + 691 + ul { 692 + position: relative; 693 + z-index: 1; 694 + margin: 18px 0 0; 695 + padding: 0; 696 + list-style: none; 697 + } 698 + 699 + li { 700 + position: relative; 701 + margin: 10px 0; 702 + padding-left: 28px; 703 + color: #DBE4EF; 704 + line-height: 1.5; 705 + 706 + &::before { 707 + content: "\f00c"; 708 + font-family: FontAwesome; 709 + position: absolute; 710 + left: 0; 711 + top: 1px; 712 + color: @brand; 713 + } 714 + } 547 547 } 548 548 549 549 .process-list { ... ... @@ -555,38 +555,75 @@ 555 555 li { 556 556 counter-increment: process; 557 557 position: relative; 558 - padding: 16px 16px 16px 58px; 559 - margin-bottom: 12px; 726 + min-height: 104px; 727 + padding: 24px 26px 24px 82px; 728 + margin-bottom: 18px; 560 560 border: 1px solid @line; 561 561 border-radius: @radius; 731 + background: #fff; 562 562 box-shadow: @shadow-sm; 563 563 color: @muted; 564 564 line-height: 1.5; 565 565 736 + &:last-child { 737 + margin-bottom: 0; 738 + } 739 + 566 566 &:before { 567 567 content: counter(process); 568 568 position: absolute; 569 - left: 16px;570 - top: 16px;571 - width: 28px;572 - height: 28px;743 + left: 26px; 744 + top: 26px; 745 + width: 38px; 746 + height: 38px; 573 573 border-radius: 50%; 574 - background: fade(@brand, 10%);575 - color: @brand;748 + background: @brand; 749 + color: #fff; 576 576 display: flex; 577 577 align-items: center; 578 578 justify-content: center; 579 579 font-weight: 800; 754 + box-shadow: 0 0 0 8px fade(@brand, 10%); 580 580 } 581 581 582 582 strong { 583 583 display: block; 584 584 color: @text; 585 - margin-bottom: 3px; 760 + margin-bottom: 5px; 761 + font-size: 16px; 762 + line-height: 1.3; 586 586 } 587 587 } 588 588 } 589 589 767 +/* ===== Contact page side panel ===== */ 768 + 769 +.contact-side-panel { 770 + padding-top: 10px; 771 +} 772 + 773 +.contact-help-panel { 774 + margin-bottom: 18px; 775 + padding: 30px 28px; 776 +} 777 + 778 +.contact-help-panel h2 { 779 + font-size: 24px; 780 +} 781 + 782 +.contact-process-list li { 783 + min-height: auto; 784 +} 785 + 786 +/* CSS for hidden field to identify requests filled by bots. */ 787 +.contact-hp-wrapper { 788 + position: absolute; 789 + left: -9999px; 790 + width: 1px; 791 + height: 1px; 792 + overflow: hidden; 793 +} 794 + 590 590 /* ========== Resources ========== */ 591 591 592 592 .resource-strip { ... ... @@ -594,6 +594,7 @@ 594 594 } 595 595 596 596 .resource-card { 802 + background-color: #fff; 597 597 padding: 20px; 598 598 599 599 h4 { ... ... @@ -688,8 +688,8 @@ 688 688 689 689 /* ========== CTA ========== */ 690 690 691 - #mainContentArea.cta-section {692 - padding:44px 0 56px;897 +.cta-section { 898 + border: none; 693 693 694 694 .contact-inline { 695 695 margin: 0; ... ... @@ -699,113 +699,72 @@ 699 699 color: @brand; 700 700 } 701 701 } 702 -} 703 703 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 -} 909 + .cta-panel { 910 + position: relative; 911 + overflow: hidden; 912 + max-width: 1040px; 913 + margin: 0 auto; 914 + padding: 48px 40px; 915 + border: 0; 916 + border-radius: 26px; 917 + background: 918 + radial-gradient(circle at 88% 10%, fade(@brand, 24%) 0%, transparent 30%), 919 + linear-gradient(135deg, @text 0%, @text-soft 100%); 920 + color: #fff; 921 + box-shadow: @shadow; 922 + text-align: center; 719 719 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 -} 924 + &::before { 925 + content: ""; 926 + position: absolute; 927 + inset: 0; 928 + background: 929 + linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px), 930 + linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px); 931 + background-size: 48px 48px; 932 + opacity: .4; 933 + pointer-events: none; 934 + } 731 731 732 -#mainContentArea .cta-panel h2, 733 -#mainContentArea .cta-panel p, 734 -#mainContentArea .cta-panel .btn { 735 - position: relative; 736 - z-index: 1; 737 -} 936 + > h2, 937 + > p, 938 + > form, 939 + > .hero-actions, 940 + > .cta-actions, 941 + > .reviewNotifications { 942 + position: relative; 943 + z-index: 1; 944 + } 738 738 739 - #mainContentArea.cta-panelh2 {740 - max-width: 760px; 741 - margin: 0 auto 16px; 742 - color: #fff; 743 -} 946 + > h2 { 947 + max-width: 760px; 948 + margin: 0 auto 16px; 949 + color: #fff; 950 + } 744 744 745 - #mainContentArea.cta-panelp {746 - max-width: 760px; 747 - margin: 0 auto 28px; 748 - color: #DBE4EF; 749 - font-size: 16px; 750 - line-height: 1.6; 751 -} 952 + > p { 953 + max-width: 760px; 954 + margin: 0 auto 28px; 955 + color: #DBE4EF; 956 + font-size: 16px; 957 + line-height: 1.6; 958 + } 752 752 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 -} 960 + .btn-primary { 961 + border-color: #fff; 962 + background: #fff; 963 + color: @text; 964 + box-shadow: 0 18px 42px rgba(0, 0, 0, .18); 759 759 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; 966 + &:hover, 967 + &:focus { 968 + border-color: #fff; 969 + background: #fff; 970 + color: @brand-strong; 971 + text-decoration: none; 972 + } 802 802 } 803 - 804 - .btn { 805 - display: inline-block; 806 - margin-left: auto; 807 - margin-right: auto; 808 - } 809 809 } 810 810 } 811 811 ... ... @@ -823,11 +823,29 @@ 823 823 grid-template-columns: 1fr; 824 824 } 825 825 826 - .split-copy h2 { 827 - text-align: center; 991 + .split-copy { 992 + padding: 34px 28px; 993 + 994 + h2 { 995 + text-align: center; 996 + } 828 828 } 829 829 } 830 830 1000 +/* ========== XWiki notifications inside public CTA panels ========== */ 1001 + 1002 +#mainContentArea { 1003 + .cta-panel { 1004 + .reviewNotifications { 1005 + position: relative; 1006 + z-index: 1; 1007 + max-width: 920px; 1008 + margin: 22px auto 0; 1009 + text-align: left; 1010 + } 1011 + } 1012 +} 1013 + 831 831 @media (max-width: 760px) { 832 832 section[id] { 833 833 scroll-margin-top: 132px; ... ... @@ -892,17 +892,35 @@ 892 892 padding: 20px; 893 893 } 894 894 1078 + .split-copy { 1079 + padding: 30px 22px; 1080 + border-radius: 20px; 1081 + } 1082 + 1083 + .process-list li { 1084 + padding: 22px 20px 22px 68px; 1085 + 1086 + &:before { 1087 + left: 20px; 1088 + top: 22px; 1089 + width: 32px; 1090 + height: 32px; 1091 + } 1092 + } 1093 + 895 895 .services .service { 896 896 gap: 14px; 897 897 } 898 898 899 - #mainContentArea.cta-panel{900 - pa dding:30px 22px;901 - border-radius:20px;902 - }1098 + .cta-section { 1099 + .cta-panel { 1100 + padding: 30px 22px; 1101 + border-radius: 20px; 903 903 904 - #mainContentArea .cta-panel .btn-primary { 905 - width: 100%; 1103 + .btn-primary { 1104 + width: 100%; 1105 + } 1106 + } 906 906 } 907 907 } 908 908 ... ... @@ -982,7 +982,7 @@ 982 982 983 983 .resource-note { 984 984 border-left: 4px solid @brand; 985 - background: @brand-bg;1186 + background: #fff; 986 986 padding: 16px 18px; 987 987 margin: 22px 0; 988 988 border-radius: 0 @radius @radius 0; ... ... @@ -1114,9 +1114,43 @@ 1114 1114 } 1115 1115 } 1116 1116 1318 +.resource-inline-cta { 1319 + display: flex; 1320 + align-items: center; 1321 + justify-content: space-between; 1322 + gap: 22px; 1323 + margin: 30px 0; 1324 + padding: 20px 22px; 1325 + border: 1px solid @line; 1326 + border-left: 4px solid @brand; 1327 + border-radius: @radius; 1328 + background: #fff; 1329 + box-shadow: @shadow-sm; 1330 + 1331 + p { 1332 + margin: 0; 1333 + color: @muted; 1334 + line-height: 1.55; 1335 + } 1336 + 1337 + strong { 1338 + display: block; 1339 + margin-bottom: 4px; 1340 + color: @text; 1341 + font-size: 17px; 1342 + line-height: 1.3; 1343 + } 1344 + 1345 + .btn { 1346 + flex-shrink: 0; 1347 + white-space: nowrap; 1348 + } 1349 +} 1350 + 1117 1117 .resource-note, 1118 1118 .resource-checklist, 1119 -.resource-cta { 1353 +.resource-cta, 1354 +.resource-inline-cta { 1120 1120 display: flow-root; 1121 1121 } 1122 1122 ... ... @@ -1126,6 +1126,22 @@ 1126 1126 } 1127 1127 } 1128 1128 1364 +@media (max-width: 767px) { 1365 + .resource-inline-cta { 1366 + display: block; 1367 + 1368 + p { 1369 + margin-bottom: 14px; 1370 + } 1371 + 1372 + .btn { 1373 + display: block; 1374 + width: 100%; 1375 + white-space: normal; 1376 + } 1377 + } 1378 +} 1379 + 1129 1129 @media (max-width: 900px) { 1130 1130 .resource-layout { 1131 1131 padding-top: 22px; ... ... @@ -1259,17 +1259,6 @@ 1259 1259 } 1260 1260 } 1261 1261 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 - 1273 1273 @media (max-width: 640px) { 1274 1274 .product-card { 1275 1275 grid-template-columns: 1fr; ... ... @@ -1603,6 +1603,39 @@ 1603 1603 background-attachment: fixed; 1604 1604 } 1605 1605 1846 +/* Let the body background show through the XWiki wrappers. 1847 +#mainContentArea, 1848 +.resource-page, 1849 +.resources-index-page { 1850 + background: transparent !important; 1851 + background-image: none !important; 1852 +} 1853 +*/ 1854 +/* Remove local decorative backgrounds that compete with the global gradient. 1855 +.hero, 1856 +.hero.hero-centered, 1857 +.trust-strip, 1858 +.industry-trust-section, 1859 +.split-section, 1860 +.resource-strip, 1861 +.homepage-resource-strip, 1862 +.resource-header, 1863 +.product-section-muted, 1864 +.resources-index-page { 1865 + background: transparent !important; 1866 + background-image: none !important; 1867 +} 1868 + */ 1869 +/* Keep large panels readable, but remove their inner gradients. 1870 +.industry-trust-section .industry-trust-panel, 1871 +.cta-panel, 1872 +.resource-inline-cta, 1873 +.resource-note, 1874 +.resource-cta { 1875 + background: #fff !important; 1876 + background-image: none !important; 1877 +} */ 1878 + 1606 1606 /* ========== Main Page Hero / SaaS Layout ========== */ 1607 1607 1608 1608 #mainContentArea .hero.hero-saas { ... ... @@ -1779,86 +1779,177 @@ 1779 1779 } 1780 1780 } 1781 1781 1782 -/* ========== Accessibility / ContrastImprovements========== */2055 +/* ========== Temporary marketing campaign banner ========== */ 1783 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 -}*/ 2057 +.public-campaign-banner { 2058 + position: relative; 2059 + margin-top: 30px; 2060 + z-index: 20; 2061 + border: 0; 2062 + background: 2063 + radial-gradient(circle at 88% 0%, fade(@brand, 30%) 0%, transparent 32%), 2064 + linear-gradient(110deg, @text 0%, @text-soft 55%, @brand-strong 100%); 2065 + color: #fff; 2066 + border-radius: 14px; 2067 + box-shadow: 0 10px 26px rgba(7, 24, 45, .10); 2068 +} 1792 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; 2070 +.public-campaign-inner { 2071 + min-height: 88px; 2072 + padding-top: 14px; 2073 + padding-bottom: 14px; 2074 + display: flex; 2075 + align-items: center; 2076 + justify-content: space-between; 2077 + gap: 30px; 1804 1804 } 1805 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); 2080 +.public-campaign-copy { 2081 + min-width: 0; 2082 + display: flex; 2083 + align-items: center; 2084 + gap: 18px; 1812 1812 } 1813 1813 1814 -/* Keep the sidebar clearly separated from the background. */ 1815 -#mainContentArea .resource-sidebar { 1816 - background: #fff; 2087 +.public-campaign-label { 2088 + flex-shrink: 0; 2089 + display: inline-flex; 2090 + align-items: center; 2091 + gap: 7px; 2092 + padding: 7px 11px; 2093 + border: 1px solid fade(#fff, 32%); 2094 + border-radius: 999px; 2095 + background: fade(#fff, 12%); 2096 + color: #fff; 2097 + font-size: 12px; 2098 + line-height: 1.2; 2099 + font-weight: 800; 2100 + text-transform: uppercase; 2101 + letter-spacing: .05em; 1817 1817 } 1818 1818 1819 -/* Make CTA panels stand out more clearly. */ 1820 -#mainContentArea .resource-cta, 1821 -#mainContentArea .resource-inline-cta { 1822 - background: #fff; 2104 +.public-campaign-message { 2105 + min-width: 0; 2106 + flex: 1; 2107 + 2108 + strong { 2109 + display: block; 2110 + margin-bottom: 5px; 2111 + color: #fff; 2112 + font-size: 18px; 2113 + line-height: 1.25; 2114 + font-weight: 800; 2115 + letter-spacing: -.01em; 2116 + } 2117 + 2118 + span { 2119 + display: block; 2120 + max-width: 660px; 2121 + color: #DBE4EF; 2122 + font-size: 14px; 2123 + line-height: 1.45; 2124 + } 1823 1823 } 1824 1824 1825 -/* Improve table readability on long resource pages. */ 1826 -#mainContentArea .resource-content table { 1827 - background: #fff; 2127 +.public-campaign-actions { 2128 + flex-shrink: 0; 2129 + display: flex; 2130 + align-items: center; 2131 + gap: 18px; 1828 1828 } 1829 1829 1830 -#mainContentArea .resource-content table th { 2134 +.public-campaign-primary { 2135 + white-space: nowrap; 2136 + padding: 9px 16px; 2137 + border-color: #fff; 2138 + border-radius: 7px; 2139 + background: #fff; 1831 1831 color: @text; 1832 - background: #F8FAFC; 2141 + font-weight: 800; 2142 + box-shadow: 0 8px 20px rgba(0, 0, 0, .16); 1833 1833 } 1834 1834 1835 -#mainContentArea .resource-content table td { 1836 - color: @text-soft; 1837 -} 2145 +.public-campaign-link { 2146 + white-space: nowrap; 2147 + color: #fff; 2148 + font-size: 14px; 2149 + font-weight: 700; 2150 + text-decoration: none; 1838 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 -} 2152 + i { 2153 + margin-left: 6px; 2154 + transition: transform .18s ease; 2155 + } 1844 1844 1845 - #mainContentArea.resource-content.resource-note p,1846 - #mainContentArea.resource-content.resource-checklistli,1847 - #mainContentArea.resource-content.process-listli {1848 - co lor:@muted;1849 - }2157 + &:hover, 2158 + &:focus { 2159 + color: #fff; 2160 + text-decoration: underline; 2161 + text-underline-offset: 3px; 1850 1850 1851 - @media(max-width:900px){1852 - #mainContentArea.resource-layout{1853 - padding: 22px;2163 + i { 2164 + transform: translateX(3px); 2165 + } 1854 1854 } 1855 1855 } 1856 1856 1857 -@media (max-width: 640px) {1858 - #mainContentArea .resource-layout{1859 - padding:18px;1860 - border-radius: 14px;2169 +@media (max-width: 980px) { 2170 + .public-campaign-inner { 2171 + align-items: flex-start; 2172 + gap: 18px; 1861 1861 } 2174 + 2175 + .public-campaign-copy { 2176 + align-items: flex-start; 2177 + } 2178 + 2179 + .public-campaign-actions { 2180 + flex-direction: column; 2181 + align-items: flex-end; 2182 + gap: 10px; 2183 + } 1862 1862 } 1863 1863 2186 +@media (max-width: 760px) { 2187 + .public-campaign-inner { 2188 + display: block; 2189 + padding-top: 18px; 2190 + padding-bottom: 18px; 2191 + text-align: center; 2192 + } 1864 1864 2194 + .public-campaign-copy { 2195 + display: block; 2196 + } 2197 + 2198 + .public-campaign-label { 2199 + margin-bottom: 12px; 2200 + } 2201 + 2202 + .public-campaign-message { 2203 + strong { 2204 + font-size: 16px; 2205 + } 2206 + 2207 + span { 2208 + margin: 0 auto; 2209 + } 2210 + } 2211 + 2212 + .public-campaign-actions { 2213 + margin-top: 16px; 2214 + display: flex; 2215 + flex-direction: column; 2216 + align-items: stretch; 2217 + gap: 11px; 2218 + } 2219 + 2220 + .public-campaign-primary { 2221 + width: 100%; 2222 + white-space: normal; 2223 + } 2224 + 2225 + .public-campaign-link { 2226 + white-space: normal; 2227 + } 2228 +}