Changes for page Public Web Site
Last modified by Alex Cotiuga on 2026/07/29 05:00
From 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
To version 31.13
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,128 +247,36 @@ 247 247 margin-top: 22px; 248 248 } 249 249 250 -/* ========== ContrastBand========== */288 +/* ========== Trust Strip ========== */ 251 251 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; 290 +.trust-strip { 291 + padding: 18px 0; 292 + border-top: 1px solid @line; 259 259 260 - /* Remove gradient from here */ 261 - background: none; 262 -} 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 + } 263 263 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; 307 + li { 308 + display: flex; 309 + align-items: center; 310 + gap: 7px; 363 363 } 364 364 365 - .contrast-tags span { 366 - font-size: 12px; 367 - padding: 8px 11px; 313 + i { 314 + color: @brand; 368 368 } 369 369 } 370 370 371 - 372 372 /* ========== Reusable Grids ========== */ 373 373 374 374 .card-grid, ... ... @@ -525,6 +525,80 @@ 525 525 } 526 526 } 527 527 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 + 528 528 /* ========== Services ========== */ 529 529 530 530 .services { ... ... @@ -594,23 +594,104 @@ 594 594 595 595 .split-grid { 596 596 display: grid; 597 - grid-template-columns: 1.1fr .9fr;617 + grid-template-columns: .95fr 1.05fr; 598 598 grid-gap: 36px; 599 599 max-width: 1040px; 600 600 margin: 0 auto; 601 - align-items: center;621 + align-items: stretch; 602 602 } 603 603 604 604 .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 + 605 605 h2 { 606 606 text-align: left; 607 - margin-top: 0; 656 + margin: 0 0 18px; 657 + color: #fff; 658 + font-size: 30px; 659 + line-height: 1.18; 660 + letter-spacing: -.02em; 608 608 } 609 609 610 610 p { 611 - color: @muted; 612 - 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 + } 613 613 } 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 + } 614 614 } 615 615 616 616 .process-list { ... ... @@ -622,38 +622,75 @@ 622 622 li { 623 623 counter-increment: process; 624 624 position: relative; 625 - padding: 16px 16px 16px 58px; 626 - margin-bottom: 12px; 726 + min-height: 104px; 727 + padding: 24px 26px 24px 82px; 728 + margin-bottom: 18px; 627 627 border: 1px solid @line; 628 628 border-radius: @radius; 731 + background: #fff; 629 629 box-shadow: @shadow-sm; 630 630 color: @muted; 631 631 line-height: 1.5; 632 632 736 + &:last-child { 737 + margin-bottom: 0; 738 + } 739 + 633 633 &:before { 634 634 content: counter(process); 635 635 position: absolute; 636 - left: 16px;637 - top: 16px;638 - width: 28px;639 - height: 28px;743 + left: 26px; 744 + top: 26px; 745 + width: 38px; 746 + height: 38px; 640 640 border-radius: 50%; 641 - background: fade(@brand, 10%);642 - color: @brand;748 + background: @brand; 749 + color: #fff; 643 643 display: flex; 644 644 align-items: center; 645 645 justify-content: center; 646 646 font-weight: 800; 754 + box-shadow: 0 0 0 8px fade(@brand, 10%); 647 647 } 648 648 649 649 strong { 650 650 display: block; 651 651 color: @text; 652 - margin-bottom: 3px; 760 + margin-bottom: 5px; 761 + font-size: 16px; 762 + line-height: 1.3; 653 653 } 654 654 } 655 655 } 656 656 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 + 657 657 /* ========== Resources ========== */ 658 658 659 659 .resource-strip { ... ... @@ -661,6 +661,7 @@ 661 661 } 662 662 663 663 .resource-card { 802 + background-color: #fff; 664 664 padding: 20px; 665 665 666 666 h4 { ... ... @@ -755,8 +755,8 @@ 755 755 756 756 /* ========== CTA ========== */ 757 757 758 - #mainContentArea.cta-section {759 - padding:44px 0 56px;897 +.cta-section { 898 + border: none; 760 760 761 761 .contact-inline { 762 762 margin: 0; ... ... @@ -766,113 +766,72 @@ 766 766 color: @brand; 767 767 } 768 768 } 769 -} 770 770 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 -} 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; 786 786 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 -} 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 + } 798 798 799 -#mainContentArea .cta-panel h2, 800 -#mainContentArea .cta-panel p, 801 -#mainContentArea .cta-panel .btn { 802 - position: relative; 803 - z-index: 1; 804 -} 936 + > h2, 937 + > p, 938 + > form, 939 + > .hero-actions, 940 + > .cta-actions, 941 + > .reviewNotifications { 942 + position: relative; 943 + z-index: 1; 944 + } 805 805 806 - #mainContentArea.cta-panelh2 {807 - max-width: 760px; 808 - margin: 0 auto 16px; 809 - color: #fff; 810 -} 946 + > h2 { 947 + max-width: 760px; 948 + margin: 0 auto 16px; 949 + color: #fff; 950 + } 811 811 812 - #mainContentArea.cta-panelp {813 - max-width: 760px; 814 - margin: 0 auto 28px; 815 - color: #DBE4EF; 816 - font-size: 16px; 817 - line-height: 1.6; 818 -} 952 + > p { 953 + max-width: 760px; 954 + margin: 0 auto 28px; 955 + color: #DBE4EF; 956 + font-size: 16px; 957 + line-height: 1.6; 958 + } 819 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 -} 960 + .btn-primary { 961 + border-color: #fff; 962 + background: #fff; 963 + color: @text; 964 + box-shadow: 0 18px 42px rgba(0, 0, 0, .18); 826 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 - 867 - p { 868 - margin-bottom: 14px; 966 + &:hover, 967 + &:focus { 968 + border-color: #fff; 969 + background: #fff; 970 + color: @brand-strong; 971 + text-decoration: none; 972 + } 869 869 } 870 - 871 - .btn { 872 - display: inline-block; 873 - margin-left: auto; 874 - margin-right: auto; 875 - } 876 876 } 877 877 } 878 878 ... ... @@ -890,11 +890,29 @@ 890 890 grid-template-columns: 1fr; 891 891 } 892 892 893 - .split-copy h2 { 894 - text-align: center; 991 + .split-copy { 992 + padding: 34px 28px; 993 + 994 + h2 { 995 + text-align: center; 996 + } 895 895 } 896 896 } 897 897 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 + 898 898 @media (max-width: 760px) { 899 899 section[id] { 900 900 scroll-margin-top: 132px; ... ... @@ -959,17 +959,35 @@ 959 959 padding: 20px; 960 960 } 961 961 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 + 962 962 .services .service { 963 963 gap: 14px; 964 964 } 965 965 966 - #mainContentArea.cta-panel{967 - pa dding:30px 22px;968 - border-radius:20px;969 - }1098 + .cta-section { 1099 + .cta-panel { 1100 + padding: 30px 22px; 1101 + border-radius: 20px; 970 970 971 - #mainContentArea .cta-panel .btn-primary { 972 - width: 100%; 1103 + .btn-primary { 1104 + width: 100%; 1105 + } 1106 + } 973 973 } 974 974 } 975 975 ... ... @@ -1049,7 +1049,7 @@ 1049 1049 1050 1050 .resource-note { 1051 1051 border-left: 4px solid @brand; 1052 - background: @brand-bg;1186 + background: #fff; 1053 1053 padding: 16px 18px; 1054 1054 margin: 22px 0; 1055 1055 border-radius: 0 @radius @radius 0; ... ... @@ -1181,9 +1181,43 @@ 1181 1181 } 1182 1182 } 1183 1183 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 + 1184 1184 .resource-note, 1185 1185 .resource-checklist, 1186 -.resource-cta { 1353 +.resource-cta, 1354 +.resource-inline-cta { 1187 1187 display: flow-root; 1188 1188 } 1189 1189 ... ... @@ -1193,6 +1193,22 @@ 1193 1193 } 1194 1194 } 1195 1195 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 + 1196 1196 @media (max-width: 900px) { 1197 1197 .resource-layout { 1198 1198 padding-top: 22px; ... ... @@ -1326,17 +1326,6 @@ 1326 1326 } 1327 1327 } 1328 1328 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 - 1340 1340 @media (max-width: 640px) { 1341 1341 .product-card { 1342 1342 grid-template-columns: 1fr; ... ... @@ -1670,6 +1670,39 @@ 1670 1670 background-attachment: fixed; 1671 1671 } 1672 1672 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 + 1673 1673 /* ========== Main Page Hero / SaaS Layout ========== */ 1674 1674 1675 1675 #mainContentArea .hero.hero-saas { ... ... @@ -1846,86 +1846,177 @@ 1846 1846 } 1847 1847 } 1848 1848 1849 -/* ========== Accessibility / ContrastImprovements========== */2055 +/* ========== Temporary marketing campaign banner ========== */ 1850 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 -}*/ 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 +} 1859 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; 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; 1871 1871 } 1872 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); 2080 +.public-campaign-copy { 2081 + min-width: 0; 2082 + display: flex; 2083 + align-items: center; 2084 + gap: 18px; 1879 1879 } 1880 1880 1881 -/* Keep the sidebar clearly separated from the background. */ 1882 -#mainContentArea .resource-sidebar { 1883 - 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; 1884 1884 } 1885 1885 1886 -/* Make CTA panels stand out more clearly. */ 1887 -#mainContentArea .resource-cta, 1888 -#mainContentArea .resource-inline-cta { 1889 - 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 + } 1890 1890 } 1891 1891 1892 -/* Improve table readability on long resource pages. */ 1893 -#mainContentArea .resource-content table { 1894 - background: #fff; 2127 +.public-campaign-actions { 2128 + flex-shrink: 0; 2129 + display: flex; 2130 + align-items: center; 2131 + gap: 18px; 1895 1895 } 1896 1896 1897 -#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; 1898 1898 color: @text; 1899 - background: #F8FAFC; 2141 + font-weight: 800; 2142 + box-shadow: 0 8px 20px rgba(0, 0, 0, .16); 1900 1900 } 1901 1901 1902 -#mainContentArea .resource-content table td { 1903 - color: @text-soft; 1904 -} 2145 +.public-campaign-link { 2146 + white-space: nowrap; 2147 + color: #fff; 2148 + font-size: 14px; 2149 + font-weight: 700; 2150 + text-decoration: none; 1905 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 -} 2152 + i { 2153 + margin-left: 6px; 2154 + transition: transform .18s ease; 2155 + } 1911 1911 1912 - #mainContentArea.resource-content.resource-note p,1913 - #mainContentArea.resource-content.resource-checklistli,1914 - #mainContentArea.resource-content.process-listli {1915 - co lor:@muted;1916 - }2157 + &:hover, 2158 + &:focus { 2159 + color: #fff; 2160 + text-decoration: underline; 2161 + text-underline-offset: 3px; 1917 1917 1918 - @media(max-width:900px){1919 - #mainContentArea.resource-layout{1920 - padding: 22px;2163 + i { 2164 + transform: translateX(3px); 2165 + } 1921 1921 } 1922 1922 } 1923 1923 1924 -@media (max-width: 640px) {1925 - #mainContentArea .resource-layout{1926 - padding:18px;1927 - border-radius: 14px;2169 +@media (max-width: 980px) { 2170 + .public-campaign-inner { 2171 + align-items: flex-start; 2172 + gap: 18px; 1928 1928 } 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 + } 1929 1929 } 1930 1930 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 + } 1931 1931 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 +}