Changes for page Public Web Site

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

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