Changes for page Public Web Site

Last modified by Agnease on 2026/07/03 16:14

From version 28.40
edited by Agnease
on 2026/07/03 14:19
Change comment: There is no comment for this version
To version 29.7
edited by Agnease
on 2026/07/03 15:28
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -149,9 +149,9 @@
149 149   </div>
150 150   </section>
151 151  
152 - <section class="contrast-band" aria-labelledby="industry-trust-title">
152 + <section class="industry-trust-section" aria-labelledby="industry-trust-title">
153 153   <div class="container">
154 - <div class="contrast-panel">
154 + <div class="industry-trust-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="contrast-tags" aria-label="Industries and environments supported">
162 + <div class="industry-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="contrast-support">
173 + <p class="industry-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.
XWiki.StyleSheetExtension[0]
code
... ... @@ -247,130 +247,36 @@
247 247   margin-top: 22px;
248 248  }
249 249  
250 -/* ========== Contrast Band ========== */
250 +/* ========== 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;
252 +.trust-strip {
253 + padding: 18px 0;
254 + border-top: 1px solid @line;
259 259  
260 - /* Remove gradient from here */
261 - background: none;
262 -}
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 + }
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 - background: red !important;
281 -}
282 -
283 -/* Grid overlay stays exactly as you had it */
284 -.contrast-band::after {
285 - content: "";
286 - position: absolute;
287 - inset: 0;
288 - background:
289 - linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px),
290 - linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px);
291 - background-size: 52px 52px;
292 - opacity: .38;
293 - pointer-events: none;
294 - z-index: 0;
295 -}
296 -
297 -.contrast-band .container {
298 - position: relative;
299 - z-index: 1;
300 -}
301 -
302 -/* Everything below stays unchanged */
303 -.contrast-panel {
304 - max-width: 1040px;
305 - margin: 0 auto;
306 - text-align: center;
307 -}
308 -
309 -.contrast-band h2 {
310 - max-width: 860px;
311 - margin: 0 auto 12px;
312 - color: #fff;
313 -}
314 -
315 -.contrast-band .section-intro {
316 - max-width: 840px;
317 - margin: 0 auto 26px;
318 - color: #D9E3EE;
319 -}
320 -
321 -.contrast-tags {
322 - max-width: 940px;
323 - margin: 0 auto;
324 - display: flex;
325 - flex-wrap: wrap;
326 - justify-content: center;
327 - gap: 10px;
328 -}
329 -
330 -.contrast-tags span {
331 - display: inline-flex;
332 - align-items: center;
333 - padding: 8px 13px;
334 - border: 1px solid fade(#fff, 18%);
335 - border-radius: 999px;
336 - background: fade(#fff, 8%);
337 - color: #F8FAFC;
338 - font-size: 13px;
339 - font-weight: 700;
340 - line-height: 1.2;
341 -}
342 -
343 -.contrast-tags span::before {
344 - content: "";
345 - width: 7px;
346 - height: 7px;
347 - margin-right: 8px;
348 - border-radius: 50%;
349 - background: @brand;
350 - box-shadow: 0 0 0 4px fade(@brand, 18%);
351 -}
352 -
353 -.contrast-support {
354 - max-width: 860px;
355 - margin: 30px auto 0;
356 - color: #D9E3EE;
357 - text-align: center;
358 - font-size: 15px;
359 - line-height: 1.7;
360 -}
361 -
362 -@media (max-width: 640px) {
363 - .contrast-band {
364 - padding: 40px 0;
269 + li {
270 + display: flex;
271 + align-items: center;
272 + gap: 7px;
365 365   }
366 366  
367 - .contrast-tags span {
368 - font-size: 12px;
369 - padding: 8px 11px;
275 + i {
276 + color: @brand;
370 370   }
371 371  }
372 372  
373 -
374 374  /* ========== Reusable Grids ========== */
375 375  
376 376  .card-grid,
... ... @@ -527,6 +527,80 @@
527 527   }
528 528  }
529 529  
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 +
530 530  /* ========== Services ========== */
531 531  
532 532  .services {
... ... @@ -596,22 +596,60 @@
596 596  
597 597  .split-grid {
598 598   display: grid;
599 - grid-template-columns: 1.1fr .9fr;
579 + grid-template-columns: .95fr 1.05fr;
600 600   grid-gap: 36px;
601 601   max-width: 1040px;
602 602   margin: 0 auto;
603 - align-items: center;
583 + align-items: stretch;
604 604  }
605 605  
606 606  .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 +
607 607   h2 {
608 608   text-align: left;
609 - margin-top: 0;
618 + margin: 0 0 18px;
619 + color: #fff;
620 + font-size: 30px;
621 + line-height: 1.18;
622 + letter-spacing: -.02em;
610 610   }
611 611  
612 612   p {
613 - color: @muted;
614 - line-height: 1.6;
626 + margin: 0 0 18px;
627 + color: #DBE4EF;
628 + line-height: 1.65;
629 +
630 + &:last-child {
631 + margin-bottom: 0;
632 + }
615 615   }
616 616  }
617 617  
... ... @@ -624,34 +624,43 @@
624 624   li {
625 625   counter-increment: process;
626 626   position: relative;
627 - padding: 16px 16px 16px 58px;
628 - margin-bottom: 12px;
645 + min-height: 104px;
646 + padding: 24px 26px 24px 82px;
647 + margin-bottom: 18px;
629 629   border: 1px solid @line;
630 630   border-radius: @radius;
650 + background: #fff;
631 631   box-shadow: @shadow-sm;
632 632   color: @muted;
633 633   line-height: 1.5;
634 634  
655 + &:last-child {
656 + margin-bottom: 0;
657 + }
658 +
635 635   &:before {
636 636   content: counter(process);
637 637   position: absolute;
638 - left: 16px;
639 - top: 16px;
640 - width: 28px;
641 - height: 28px;
662 + left: 26px;
663 + top: 26px;
664 + width: 38px;
665 + height: 38px;
642 642   border-radius: 50%;
643 - background: fade(@brand, 10%);
644 - color: @brand;
667 + background: @brand;
668 + color: #fff;
645 645   display: flex;
646 646   align-items: center;
647 647   justify-content: center;
648 648   font-weight: 800;
673 + box-shadow: 0 0 0 8px fade(@brand, 10%);
649 649   }
650 650  
651 651   strong {
652 652   display: block;
653 653   color: @text;
654 - margin-bottom: 3px;
679 + margin-bottom: 5px;
680 + font-size: 16px;
681 + line-height: 1.3;
655 655   }
656 656   }
657 657  }
... ... @@ -757,7 +757,7 @@
757 757  
758 758  /* ========== CTA ========== */
759 759  
760 -#mainContentArea .cta-section {
787 +.cta-section {
761 761   padding: 44px 0 56px;
762 762  
763 763   .contact-inline {
... ... @@ -768,112 +768,68 @@
768 768   color: @brand;
769 769   }
770 770   }
771 -}
772 772  
773 -#mainContentArea .cta-panel {
774 - position: relative;
775 - overflow: hidden;
776 - max-width: 1040px;
777 - margin: 0 auto;
778 - padding: 48px 40px;
779 - border: 0;
780 - border-radius: 26px;
781 - background:
782 - radial-gradient(circle at 88% 10%, fade(@brand, 24%) 0%, transparent 30%),
783 - linear-gradient(135deg, @text 0%, @text-soft 100%);
784 - color: #fff;
785 - box-shadow: @shadow;
786 - text-align: center;
787 -}
799 + .cta-panel {
800 + position: relative;
801 + overflow: hidden;
802 + max-width: 1040px;
803 + margin: 0 auto;
804 + padding: 48px 40px;
805 + border: 0;
806 + border-radius: 26px;
807 + background:
808 + radial-gradient(circle at 88% 10%, fade(@brand, 24%) 0%, transparent 30%),
809 + linear-gradient(135deg, @text 0%, @text-soft 100%);
810 + color: #fff;
811 + box-shadow: @shadow;
812 + text-align: center;
788 788  
789 -#mainContentArea .cta-panel::before {
790 - content: "";
791 - position: absolute;
792 - inset: 0;
793 - background:
794 - linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px),
795 - linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px);
796 - background-size: 48px 48px;
797 - opacity: .4;
798 - pointer-events: none;
799 -}
814 + &::before {
815 + content: "";
816 + position: absolute;
817 + inset: 0;
818 + background:
819 + linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px),
820 + linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px);
821 + background-size: 48px 48px;
822 + opacity: .4;
823 + pointer-events: none;
824 + }
800 800  
801 -#mainContentArea .cta-panel h2,
802 -#mainContentArea .cta-panel p,
803 -#mainContentArea .cta-panel .btn {
804 - position: relative;
805 - z-index: 1;
806 -}
826 + h2,
827 + p,
828 + .btn {
829 + position: relative;
830 + z-index: 1;
831 + }
807 807  
808 -#mainContentArea .cta-panel h2 {
809 - max-width: 760px;
810 - margin: 0 auto 16px;
811 - color: #fff;
812 -}
833 + h2 {
834 + max-width: 760px;
835 + margin: 0 auto 16px;
836 + color: #fff;
837 + }
813 813  
814 -#mainContentArea .cta-panel p {
815 - max-width: 760px;
816 - margin: 0 auto 28px;
817 - color: #DBE4EF;
818 - font-size: 16px;
819 - line-height: 1.6;
820 -}
821 -
822 -#mainContentArea .cta-panel .btn-primary {
823 - border-color: #fff;
824 - background: #fff;
825 - color: @text;
826 - box-shadow: 0 18px 42px rgba(0, 0, 0, .18);
827 -}
828 -
829 -#mainContentArea .cta-panel .btn-primary:hover,
830 -#mainContentArea .cta-panel .btn-primary:focus {
831 - border-color: #fff;
832 - background: #fff;
833 - color: @brand-strong;
834 - text-decoration: none;
835 -}
836 -
837 -.resource-inline-cta {
838 - display: flex;
839 - align-items: center;
840 - justify-content: space-between;
841 - gap: 22px;
842 - margin: 30px 0;
843 - padding: 20px 22px;
844 - border: 1px solid fade(@brand, 22%);
845 - border-radius: @radius;
846 - background: @brand-bg;
847 - box-shadow: @shadow-sm;
848 -
849 - p {
850 - margin: 0;
851 - color: @muted;
852 - line-height: 1.55;
853 - }
854 -
855 - strong {
856 - color: @text;
857 - }
858 -
859 - .btn {
860 - flex-shrink: 0;
861 - }
862 -}
863 -
864 -@media (max-width: 767px) {
865 - .resource-inline-cta {
866 - display: block;
867 - text-align: center;
868 -
869 869   p {
870 - margin-bottom: 14px;
840 + max-width: 760px;
841 + margin: 0 auto 28px;
842 + color: #DBE4EF;
843 + font-size: 16px;
844 + line-height: 1.6;
871 871   }
872 872  
873 - .btn {
874 - display: inline-block;
875 - margin-left: auto;
876 - margin-right: auto;
847 + .btn-primary {
848 + border-color: #fff;
849 + background: #fff;
850 + color: @text;
851 + box-shadow: 0 18px 42px rgba(0, 0, 0, .18);
852 +
853 + &:hover,
854 + &:focus {
855 + border-color: #fff;
856 + background: #fff;
857 + color: @brand-strong;
858 + text-decoration: none;
859 + }
877 877   }
878 878   }
879 879  }
... ... @@ -892,8 +892,12 @@
892 892   grid-template-columns: 1fr;
893 893   }
894 894  
895 - .split-copy h2 {
896 - text-align: center;
878 + .split-copy {
879 + padding: 34px 28px;
880 +
881 + h2 {
882 + text-align: center;
883 + }
897 897   }
898 898  }
899 899  
... ... @@ -961,17 +961,35 @@
961 961   padding: 20px;
962 962   }
963 963  
951 + .split-copy {
952 + padding: 30px 22px;
953 + border-radius: 20px;
954 + }
955 +
956 + .process-list li {
957 + padding: 22px 20px 22px 68px;
958 +
959 + &:before {
960 + left: 20px;
961 + top: 22px;
962 + width: 32px;
963 + height: 32px;
964 + }
965 + }
966 +
964 964   .services .service {
965 965   gap: 14px;
966 966   }
967 967  
968 - #mainContentArea .cta-panel {
969 - padding: 30px 22px;
970 - border-radius: 20px;
971 - }
971 + .cta-section {
972 + .cta-panel {
973 + padding: 30px 22px;
974 + border-radius: 20px;
972 972  
973 - #mainContentArea .cta-panel .btn-primary {
974 - width: 100%;
976 + .btn-primary {
977 + width: 100%;
978 + }
979 + }
975 975   }
976 976  }
977 977  
... ... @@ -1672,10 +1672,38 @@
1672 1672   background-attachment: fixed;
1673 1673  }
1674 1674  
1675 -#mainContentArea {
1676 - padding: 0;
1677 - overflow-x: hidden;
1680 +/* Let the body background show through the XWiki wrappers.
1681 +#mainContentArea,
1682 +.resource-page,
1683 +.resources-index-page {
1684 + background: transparent !important;
1685 + background-image: none !important;
1678 1678  }
1687 +*/
1688 +/* Remove local decorative backgrounds that compete with the global gradient.
1689 +.hero,
1690 +.hero.hero-centered,
1691 +.trust-strip,
1692 +.industry-trust-section,
1693 +.split-section,
1694 +.resource-strip,
1695 +.homepage-resource-strip,
1696 +.resource-header,
1697 +.product-section-muted,
1698 +.resources-index-page {
1699 + background: transparent !important;
1700 + background-image: none !important;
1701 +}
1702 + */
1703 +/* Keep large panels readable, but remove their inner gradients.
1704 +.industry-trust-section .industry-trust-panel,
1705 +.cta-panel,
1706 +.resource-inline-cta,
1707 +.resource-note,
1708 +.resource-cta {
1709 + background: #fff !important;
1710 + background-image: none !important;
1711 +} */
1679 1679  
1680 1680  /* ========== Main Page Hero / SaaS Layout ========== */
1681 1681  
... ... @@ -1853,86 +1853,3 @@
1853 1853   }
1854 1854  }
1855 1855  
1856 -/* ========== Accessibility / Contrast Improvements ========== */
1857 -
1858 -/* Keep the article area readable while preserving the page background around it. */
1859 -/*#mainContentArea .resource-layout {
1860 - padding: 28px;
1861 - border: 1px solid fade(@line, 85%);
1862 - border-radius: @radius;
1863 - background: rgba(255, 255, 255, .88);
1864 - box-shadow: @shadow-sm;
1865 -}*/
1866 -
1867 -/* Ensure all reusable cards have a real surface, not transparent over the gradient. */
1868 -#mainContentArea .widget,
1869 -#mainContentArea .pathway-card,
1870 -#mainContentArea .service-card,
1871 -#mainContentArea .resource-card,
1872 -#mainContentArea .services .service,
1873 -#mainContentArea .product-card,
1874 -#mainContentArea .product-feature,
1875 -#mainContentArea .product-summary-card,
1876 -#mainContentArea .product-info-card {
1877 - background: #fff;
1878 -}
1879 -
1880 -/* Make notes more readable and visually stronger. */
1881 -#mainContentArea .resource-note {
1882 - border: 1px solid fade(@brand, 18%);
1883 - border-left: 4px solid @brand;
1884 - background: #fff;
1885 - box-shadow: 0 10px 28px rgba(15, 23, 42, .045);
1886 -}
1887 -
1888 -/* Keep the sidebar clearly separated from the background. */
1889 -#mainContentArea .resource-sidebar {
1890 - background: #fff;
1891 -}
1892 -
1893 -/* Make CTA panels stand out more clearly. */
1894 -#mainContentArea .resource-cta,
1895 -#mainContentArea .resource-inline-cta {
1896 - background: #fff;
1897 -}
1898 -
1899 -/* Improve table readability on long resource pages. */
1900 -#mainContentArea .resource-content table {
1901 - background: #fff;
1902 -}
1903 -
1904 -#mainContentArea .resource-content table th {
1905 - color: @text;
1906 - background: #F8FAFC;
1907 -}
1908 -
1909 -#mainContentArea .resource-content table td {
1910 - color: @text-soft;
1911 -}
1912 -
1913 -/* Slightly improve paragraph/list contrast in long articles. */
1914 -#mainContentArea .resource-content p,
1915 -#mainContentArea .resource-content li {
1916 - color: @text-soft;
1917 -}
1918 -
1919 -#mainContentArea .resource-content .resource-note p,
1920 -#mainContentArea .resource-content .resource-checklist li,
1921 -#mainContentArea .resource-content .process-list li {
1922 - color: @muted;
1923 -}
1924 -
1925 -@media (max-width: 900px) {
1926 - #mainContentArea .resource-layout {
1927 - padding: 22px;
1928 - }
1929 -}
1930 -
1931 -@media (max-width: 640px) {
1932 - #mainContentArea .resource-layout {
1933 - padding: 18px;
1934 - border-radius: 14px;
1935 - }
1936 -}
1937 -
1938 -