Changes for page Public Web Site

Last modified by Agnease on 2026/07/07 14:40

From version 28.53
edited by Agnease
on 2026/07/03 15:18
Change comment: There is no comment for this version
To version 29.8
edited by Agnease
on 2026/07/03 15:33
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 - <div class="contrast-band-wrapper">
153 - <section class="contrast-band" aria-labelledby="industry-trust-title">
154 - <div class="contrast-panel">
152 + <section class="industry-trust-section" aria-labelledby="industry-trust-title">
153 + <div class="container">
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,14 +170,14 @@
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.
177 177   </p>
178 178   </div>
179 - </section>
180 - </div>
179 + </div>
180 + </section>
181 181  
182 182   <section class="split-section" aria-labelledby="why-title">
183 183   <div class="container">
XWiki.StyleSheetExtension[0]
code
... ... @@ -247,128 +247,33 @@
247 247   margin-top: 22px;
248 248  }
249 249  
250 -/* ========== Contrast Band (Full‑Bleed) ========== */
250 +/* ========== Trust Strip ========== */
251 251  
252 -/* Full‑bleed wrapper */
253 -.contrast-band-wrapper {
254 - position: relative;
255 - width: 100vw;
256 - left: 50%;
257 - transform: translateX(-50%);
258 - overflow: visible;
259 -}
252 +.trust-strip {
253 + padding: 18px 0;
254 + border-top: 1px solid @line;
260 260  
261 -/* Full‑bleed gradient background */
262 -.contrast-band-wrapper::before {
263 - content: "";
264 - position: absolute;
265 - inset: 0;
266 - z-index: -1;
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 + }
267 267  
268 - background:
269 - radial-gradient(circle at 18% 18%, fade(@brand, 22%) 0%, transparent 28%),
270 - radial-gradient(circle at 86% 12%, fade(@brand, 16%) 0%, transparent 30%),
271 - linear-gradient(135deg, @text 0%, @text-soft 100%);
272 -}
273 -
274 -/* Inner band (content area) */
275 -.contrast-band {
276 - position: relative;
277 - padding: 54px 0;
278 - border-top: 0;
279 - color: #fff;
280 - background: none;
281 - z-index: 0;
282 -}
283 -
284 -/* Grid overlay (clipped to content width) */
285 -.contrast-band::after {
286 - content: "";
287 - position: absolute;
288 - inset: 0;
289 - background:
290 - linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px),
291 - linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px);
292 - background-size: 52px 52px;
293 - opacity: .38;
294 - pointer-events: none;
295 - z-index: 0;
296 -}
297 -
298 -/* Content above overlay */
299 -.contrast-panel {
300 - position: relative;
301 - z-index: 1;
302 - max-width: 1040px;
303 - margin: 0 auto;
304 - text-align: center;
305 -}
306 -
307 -/* Typography + spacing */
308 -.contrast-band h2 {
309 - max-width: 860px;
310 - margin: 0 auto 12px;
311 - color: #fff;
312 -}
313 -
314 -.contrast-band .section-intro {
315 - max-width: 840px;
316 - margin: 0 auto 26px;
317 - color: #D9E3EE;
318 -}
319 -
320 -/* Tags */
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 -/* Support text */
354 -.contrast-support {
355 - max-width: 860px;
356 - margin: 30px auto 0;
357 - color: #D9E3EE;
358 - text-align: center;
359 - font-size: 15px;
360 - line-height: 1.7;
361 -}
362 -
363 -/* Mobile adjustments */
364 -@media (max-width: 640px) {
365 - .contrast-band {
366 - padding: 40px 0;
269 + li {
270 + display: flex;
271 + align-items: center;
272 + gap: 7px;
367 367   }
368 368  
369 - .contrast-tags span {
370 - font-size: 12px;
371 - padding: 8px 11px;
275 + i {
276 + color: @brand;
372 372   }
373 373  }
374 374  
... ... @@ -528,6 +528,80 @@
528 528   }
529 529  }
530 530  
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 +
531 531  /* ========== Services ========== */
532 532  
533 533  .services {
... ... @@ -597,24 +597,106 @@
597 597  
598 598  .split-grid {
599 599   display: grid;
600 - grid-template-columns: 1.1fr .9fr;
579 + grid-template-columns: .95fr 1.05fr;
601 601   grid-gap: 36px;
602 602   max-width: 1040px;
603 603   margin: 0 auto;
604 - align-items: center;
583 + align-items: stretch;
605 605  }
606 606  
607 607  .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 +
608 608   h2 {
609 609   text-align: left;
610 - margin-top: 0;
618 + margin: 0 0 18px;
619 + color: #fff;
620 + font-size: 30px;
621 + line-height: 1.18;
622 + letter-spacing: -.02em;
611 611   }
612 612  
613 613   p {
614 - color: @muted;
615 - 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 + }
616 616   }
634 + .split-copy {
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 + }
617 617  }
678 +}
618 618  
619 619  .process-list {
620 620   counter-reset: process;
... ... @@ -625,34 +625,43 @@
625 625   li {
626 626   counter-increment: process;
627 627   position: relative;
628 - padding: 16px 16px 16px 58px;
629 - margin-bottom: 12px;
689 + min-height: 104px;
690 + padding: 24px 26px 24px 82px;
691 + margin-bottom: 18px;
630 630   border: 1px solid @line;
631 631   border-radius: @radius;
694 + background: #fff;
632 632   box-shadow: @shadow-sm;
633 633   color: @muted;
634 634   line-height: 1.5;
635 635  
699 + &:last-child {
700 + margin-bottom: 0;
701 + }
702 +
636 636   &:before {
637 637   content: counter(process);
638 638   position: absolute;
639 - left: 16px;
640 - top: 16px;
641 - width: 28px;
642 - height: 28px;
706 + left: 26px;
707 + top: 26px;
708 + width: 38px;
709 + height: 38px;
643 643   border-radius: 50%;
644 - background: fade(@brand, 10%);
645 - color: @brand;
711 + background: @brand;
712 + color: #fff;
646 646   display: flex;
647 647   align-items: center;
648 648   justify-content: center;
649 649   font-weight: 800;
717 + box-shadow: 0 0 0 8px fade(@brand, 10%);
650 650   }
651 651  
652 652   strong {
653 653   display: block;
654 654   color: @text;
655 - margin-bottom: 3px;
723 + margin-bottom: 5px;
724 + font-size: 16px;
725 + line-height: 1.3;
656 656   }
657 657   }
658 658  }
... ... @@ -758,7 +758,7 @@
758 758  
759 759  /* ========== CTA ========== */
760 760  
761 -#mainContentArea .cta-section {
831 +.cta-section {
762 762   padding: 44px 0 56px;
763 763  
764 764   .contact-inline {
... ... @@ -769,112 +769,68 @@
769 769   color: @brand;
770 770   }
771 771   }
772 -}
773 773  
774 -#mainContentArea .cta-panel {
775 - position: relative;
776 - overflow: hidden;
777 - max-width: 1040px;
778 - margin: 0 auto;
779 - padding: 48px 40px;
780 - border: 0;
781 - border-radius: 26px;
782 - background:
783 - radial-gradient(circle at 88% 10%, fade(@brand, 24%) 0%, transparent 30%),
784 - linear-gradient(135deg, @text 0%, @text-soft 100%);
785 - color: #fff;
786 - box-shadow: @shadow;
787 - text-align: center;
788 -}
843 + .cta-panel {
844 + position: relative;
845 + overflow: hidden;
846 + max-width: 1040px;
847 + margin: 0 auto;
848 + padding: 48px 40px;
849 + border: 0;
850 + border-radius: 26px;
851 + background:
852 + radial-gradient(circle at 88% 10%, fade(@brand, 24%) 0%, transparent 30%),
853 + linear-gradient(135deg, @text 0%, @text-soft 100%);
854 + color: #fff;
855 + box-shadow: @shadow;
856 + text-align: center;
789 789  
790 -#mainContentArea .cta-panel::before {
791 - content: "";
792 - position: absolute;
793 - inset: 0;
794 - background:
795 - linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px),
796 - linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px);
797 - background-size: 48px 48px;
798 - opacity: .4;
799 - pointer-events: none;
800 -}
858 + &::before {
859 + content: "";
860 + position: absolute;
861 + inset: 0;
862 + background:
863 + linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px),
864 + linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px);
865 + background-size: 48px 48px;
866 + opacity: .4;
867 + pointer-events: none;
868 + }
801 801  
802 -#mainContentArea .cta-panel h2,
803 -#mainContentArea .cta-panel p,
804 -#mainContentArea .cta-panel .btn {
805 - position: relative;
806 - z-index: 1;
807 -}
870 + h2,
871 + p,
872 + .btn {
873 + position: relative;
874 + z-index: 1;
875 + }
808 808  
809 -#mainContentArea .cta-panel h2 {
810 - max-width: 760px;
811 - margin: 0 auto 16px;
812 - color: #fff;
813 -}
877 + h2 {
878 + max-width: 760px;
879 + margin: 0 auto 16px;
880 + color: #fff;
881 + }
814 814  
815 -#mainContentArea .cta-panel p {
816 - max-width: 760px;
817 - margin: 0 auto 28px;
818 - color: #DBE4EF;
819 - font-size: 16px;
820 - line-height: 1.6;
821 -}
822 -
823 -#mainContentArea .cta-panel .btn-primary {
824 - border-color: #fff;
825 - background: #fff;
826 - color: @text;
827 - box-shadow: 0 18px 42px rgba(0, 0, 0, .18);
828 -}
829 -
830 -#mainContentArea .cta-panel .btn-primary:hover,
831 -#mainContentArea .cta-panel .btn-primary:focus {
832 - border-color: #fff;
833 - background: #fff;
834 - color: @brand-strong;
835 - text-decoration: none;
836 -}
837 -
838 -.resource-inline-cta {
839 - display: flex;
840 - align-items: center;
841 - justify-content: space-between;
842 - gap: 22px;
843 - margin: 30px 0;
844 - padding: 20px 22px;
845 - border: 1px solid fade(@brand, 22%);
846 - border-radius: @radius;
847 - background: @brand-bg;
848 - box-shadow: @shadow-sm;
849 -
850 - p {
851 - margin: 0;
852 - color: @muted;
853 - line-height: 1.55;
854 - }
855 -
856 - strong {
857 - color: @text;
858 - }
859 -
860 - .btn {
861 - flex-shrink: 0;
862 - }
863 -}
864 -
865 -@media (max-width: 767px) {
866 - .resource-inline-cta {
867 - display: block;
868 - text-align: center;
869 -
870 870   p {
871 - margin-bottom: 14px;
884 + max-width: 760px;
885 + margin: 0 auto 28px;
886 + color: #DBE4EF;
887 + font-size: 16px;
888 + line-height: 1.6;
872 872   }
873 873  
874 - .btn {
875 - display: inline-block;
876 - margin-left: auto;
877 - margin-right: auto;
891 + .btn-primary {
892 + border-color: #fff;
893 + background: #fff;
894 + color: @text;
895 + box-shadow: 0 18px 42px rgba(0, 0, 0, .18);
896 +
897 + &:hover,
898 + &:focus {
899 + border-color: #fff;
900 + background: #fff;
901 + color: @brand-strong;
902 + text-decoration: none;
903 + }
878 878   }
879 879   }
880 880  }
... ... @@ -893,8 +893,12 @@
893 893   grid-template-columns: 1fr;
894 894   }
895 895  
896 - .split-copy h2 {
897 - text-align: center;
922 + .split-copy {
923 + padding: 34px 28px;
924 +
925 + h2 {
926 + text-align: center;
927 + }
898 898   }
899 899  }
900 900  
... ... @@ -962,17 +962,35 @@
962 962   padding: 20px;
963 963   }
964 964  
995 + .split-copy {
996 + padding: 30px 22px;
997 + border-radius: 20px;
998 + }
999 +
1000 + .process-list li {
1001 + padding: 22px 20px 22px 68px;
1002 +
1003 + &:before {
1004 + left: 20px;
1005 + top: 22px;
1006 + width: 32px;
1007 + height: 32px;
1008 + }
1009 + }
1010 +
965 965   .services .service {
966 966   gap: 14px;
967 967   }
968 968  
969 - #mainContentArea .cta-panel {
970 - padding: 30px 22px;
971 - border-radius: 20px;
972 - }
1015 + .cta-section {
1016 + .cta-panel {
1017 + padding: 30px 22px;
1018 + border-radius: 20px;
973 973  
974 - #mainContentArea .cta-panel .btn-primary {
975 - width: 100%;
1020 + .btn-primary {
1021 + width: 100%;
1022 + }
1023 + }
976 976   }
977 977  }
978 978  
... ... @@ -1673,6 +1673,39 @@
1673 1673   background-attachment: fixed;
1674 1674  }
1675 1675  
1724 +/* Let the body background show through the XWiki wrappers.
1725 +#mainContentArea,
1726 +.resource-page,
1727 +.resources-index-page {
1728 + background: transparent !important;
1729 + background-image: none !important;
1730 +}
1731 +*/
1732 +/* Remove local decorative backgrounds that compete with the global gradient.
1733 +.hero,
1734 +.hero.hero-centered,
1735 +.trust-strip,
1736 +.industry-trust-section,
1737 +.split-section,
1738 +.resource-strip,
1739 +.homepage-resource-strip,
1740 +.resource-header,
1741 +.product-section-muted,
1742 +.resources-index-page {
1743 + background: transparent !important;
1744 + background-image: none !important;
1745 +}
1746 + */
1747 +/* Keep large panels readable, but remove their inner gradients.
1748 +.industry-trust-section .industry-trust-panel,
1749 +.cta-panel,
1750 +.resource-inline-cta,
1751 +.resource-note,
1752 +.resource-cta {
1753 + background: #fff !important;
1754 + background-image: none !important;
1755 +} */
1756 +
1676 1676  /* ========== Main Page Hero / SaaS Layout ========== */
1677 1677  
1678 1678  #mainContentArea .hero.hero-saas {
... ... @@ -1849,86 +1849,3 @@
1849 1849   }
1850 1850  }
1851 1851  
1852 -/* ========== Accessibility / Contrast Improvements ========== */
1853 -
1854 -/* Keep the article area readable while preserving the page background around it. */
1855 -/*#mainContentArea .resource-layout {
1856 - padding: 28px;
1857 - border: 1px solid fade(@line, 85%);
1858 - border-radius: @radius;
1859 - background: rgba(255, 255, 255, .88);
1860 - box-shadow: @shadow-sm;
1861 -}*/
1862 -
1863 -/* Ensure all reusable cards have a real surface, not transparent over the gradient. */
1864 -#mainContentArea .widget,
1865 -#mainContentArea .pathway-card,
1866 -#mainContentArea .service-card,
1867 -#mainContentArea .resource-card,
1868 -#mainContentArea .services .service,
1869 -#mainContentArea .product-card,
1870 -#mainContentArea .product-feature,
1871 -#mainContentArea .product-summary-card,
1872 -#mainContentArea .product-info-card {
1873 - background: #fff;
1874 -}
1875 -
1876 -/* Make notes more readable and visually stronger. */
1877 -#mainContentArea .resource-note {
1878 - border: 1px solid fade(@brand, 18%);
1879 - border-left: 4px solid @brand;
1880 - background: #fff;
1881 - box-shadow: 0 10px 28px rgba(15, 23, 42, .045);
1882 -}
1883 -
1884 -/* Keep the sidebar clearly separated from the background. */
1885 -#mainContentArea .resource-sidebar {
1886 - background: #fff;
1887 -}
1888 -
1889 -/* Make CTA panels stand out more clearly. */
1890 -#mainContentArea .resource-cta,
1891 -#mainContentArea .resource-inline-cta {
1892 - background: #fff;
1893 -}
1894 -
1895 -/* Improve table readability on long resource pages. */
1896 -#mainContentArea .resource-content table {
1897 - background: #fff;
1898 -}
1899 -
1900 -#mainContentArea .resource-content table th {
1901 - color: @text;
1902 - background: #F8FAFC;
1903 -}
1904 -
1905 -#mainContentArea .resource-content table td {
1906 - color: @text-soft;
1907 -}
1908 -
1909 -/* Slightly improve paragraph/list contrast in long articles. */
1910 -#mainContentArea .resource-content p,
1911 -#mainContentArea .resource-content li {
1912 - color: @text-soft;
1913 -}
1914 -
1915 -#mainContentArea .resource-content .resource-note p,
1916 -#mainContentArea .resource-content .resource-checklist li,
1917 -#mainContentArea .resource-content .process-list li {
1918 - color: @muted;
1919 -}
1920 -
1921 -@media (max-width: 900px) {
1922 - #mainContentArea .resource-layout {
1923 - padding: 22px;
1924 - }
1925 -}
1926 -
1927 -@media (max-width: 640px) {
1928 - #mainContentArea .resource-layout {
1929 - padding: 18px;
1930 - border-radius: 14px;
1931 - }
1932 -}
1933 -
1934 -