Changes for page Public Web Site

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

From version 25.60
edited by Agnease
on 2026/06/30 12:29
Change comment: There is no comment for this version
To version 26.5
edited by Agnease
on 2026/07/01 17:08
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -7,9 +7,11 @@
7 7   <div class="hero-layout">
8 8   <div class="hero-copy">
9 9   <h1>Professional XWiki consulting <span>and engineering</span></h1>
10 +
10 10   <p class="lead">
11 11   Agnease helps organizations upgrade, maintain, secure and extend production XWiki platforms with practical engineering support, custom development, integrations and long-term care.
12 12   </p>
14 +
13 13   <ul class="benefits">
14 14   <li>XWiki LTS upgrades</li>
15 15   <li>Maintenance and support</li>
... ... @@ -16,6 +16,7 @@
16 16   <li>Custom XWiki development</li>
17 17   <li>Migrations and integrations</li>
18 18   </ul>
21 +
19 19   <div class="hero-actions" id="hero-cta">
20 20   <a class="btn btn-primary" href="https://calendly.com/alex-agnease/30min?back=1&month=2026-06">
21 21   Book a free discussion
... ... @@ -23,69 +23,16 @@
23 23   <a class="btn btn-secondary" href="$xwiki.getURL('services.WebHome')">View XWiki services</a>
24 24   </div>
25 25   </div>
26 - <div class="hero-visual" aria-hidden="true">
27 - <div class="hero-browser">
28 - <div class="hero-browser-top">
29 - <div class="hero-dot"></div>
30 - <div class="hero-dot"></div>
31 - <div class="hero-dot"></div>
32 - <div class="hero-search"></div>
33 - </div>
34 - <div class="hero-browser-body">
35 - <div class="hero-sidebar">
36 - <div class="hero-nav-item"><span class="hero-nav-icon"></span>Home</div>
37 - <div class="hero-nav-item"><span class="hero-nav-icon"></span>Documentation</div>
38 - <div class="hero-nav-item"><span class="hero-nav-icon"></span>Processes</div>
39 - <div class="hero-nav-item"><span class="hero-nav-icon"></span>Policies</div>
40 - <div class="hero-nav-item"><span class="hero-nav-icon"></span>Teams</div>
41 - </div>
42 - <div class="hero-content-panel">
43 - <div class="hero-panel-title">Production XWiki Platform</div>
44 - <div class="hero-skeleton"></div>
45 - <div class="hero-skeleton"></div>
46 - <div class="hero-skeleton short"></div>
47 - <div class="hero-dashboard-grid">
48 - <div class="hero-mini-card">
49 - <h4>Recent work</h4>
50 - <div class="hero-status-row"><span class="hero-status-dot"></span>LTS upgrade plan</div>
51 - <div class="hero-status-row"><span class="hero-status-dot"></span>Extension review</div>
52 - <div class="hero-status-row"><span class="hero-status-dot"></span>Production validation</div>
53 - </div>
54 - <div class="hero-mini-card">
55 - <h4>Platform care</h4>
56 - <div class="hero-status-row"><span class="hero-status-dot"></span>Permissions</div>
57 - <div class="hero-status-row"><span class="hero-status-dot"></span>Authentication</div>
58 - <div class="hero-status-row"><span class="hero-status-dot"></span>Maintainability</div>
59 - </div>
60 - </div>
61 - </div>
62 - </div>
63 - </div>
64 - <div class="hero-floating hero-upgrade-card">
65 - <div class="hero-card-title">Upgrade with confidence</div>
66 - <div class="hero-version-flow">
67 - <div class="hero-version">XWiki<br/>LTS</div>
68 - <div class="hero-arrow">→</div>
69 - <div class="hero-version">Staging</div>
70 - <div class="hero-arrow">→</div>
71 - <div class="hero-version active">Production</div>
72 - </div>
73 - </div>
74 - <div class="hero-floating hero-security-card">
75 - <div class="hero-card-title">Security-aware maintenance</div>
76 - <ul>
77 - <li>Permissions review</li>
78 - <li>Authentication support</li>
79 - <li>Audit and traceability</li>
80 - </ul>
81 - </div>
82 - <div class="hero-flow">
83 - <div class="hero-env">Review</div>
84 - <div class="hero-arrow">→</div>
85 - <div class="hero-env">Plan</div>
86 - <div class="hero-arrow">→</div>
87 - <div class="hero-env">Validate</div>
88 - </div>
29 +
30 + <div class="hero-image-wrapper">
31 + <img
32 + class="hero-image"
33 + src="$xwiki.getDocument('PublicWebSite.WebHome').getAttachmentURL('agnease-xwiki-hero.png')"
34 + alt="Illustration of a professional XWiki platform dashboard with upgrade, security and maintenance elements"
35 + width="1200"
36 + height="900"
37 + loading="eager"
38 + />
89 89   </div>
90 90   </div>
91 91   </div>
agnease-xwiki-hero.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Admin
Size
... ... @@ -1,0 +1,1 @@
1 +981.8 KB
Content
XWiki.StyleSheetExtension[0]
code
... ... @@ -1,20 +1,8 @@
1 1  /* ========== Agnease Public Website ========== */
2 -/*
2 +
3 3  @brand: #00937D;
4 4  @brand-strong: #007B6A;
5 5  @brand-soft: #E7FFF8;
6 -@brand-bg: #F4FCFA;
7 -@text: #2D3A34;
8 -@muted: #5B6B64;
9 -@line: #E4ECE9;
10 -@radius: 16px;
11 -@shadow-sm: 0 6px 20px rgba(0, 0, 0, .06);
12 -@shadow: 0 12px 36px rgba(0, 0, 0, .08);
13 -@maxw: 1140px;
14 -*/
15 -@brand: #00937D;
16 -@brand-strong: #007B6A;
17 -@brand-soft: #E7FFF8;
18 18  @brand-bg: #F7F9FC;
19 19  @text: #07182D;
20 20  @text-soft: #10243D;
... ... @@ -23,32 +23,50 @@
23 23  @radius: 18px;
24 24  @shadow-sm: 0 18px 45px rgba(15, 23, 42, .06);
25 25  @shadow: 0 30px 80px rgba(15, 23, 42, .12);
26 -@maxw: 1140px;
14 +@maxw: 1240px;
27 27  
28 -@section-padding: 30px 0;
29 -@section-padding-mobile: 28px 0;
16 +@section-padding: 42px 0;
17 +@section-padding-mobile: 34px 0;
30 30  
31 31  /* ========== Base ========== */
32 32  
21 +html {
22 + min-height: 100%;
23 + scroll-behavior: smooth;
24 +}
25 +
26 +body {
27 + min-height: 100%;
28 + color: @text;
29 + overflow-x: hidden;
30 + background:
31 + radial-gradient(circle at 12% 8%, rgba(0, 147, 125, 0.08) 0, transparent 26%),
32 + radial-gradient(circle at 90% 28%, rgba(7, 24, 45, 0.05) 0, transparent 30%),
33 + linear-gradient(180deg, #fff 0, @brand-bg 42%, #fff 100%) !important;
34 + background-attachment: fixed;
35 +}
36 +
33 33  #mainContentArea {
34 - padding: 0;
38 + padding: 0 !important;
39 + overflow-x: hidden;
40 + background: transparent !important;
41 + background-image: none !important;
35 35  }
36 36  
37 37  .container {
45 + width: 100%;
38 38   max-width: @maxw;
39 39   margin-left: auto;
40 40   margin-right: auto;
41 - padding-left: 18px;
42 - padding-right: 18px;
49 + padding-left: 24px;
50 + padding-right: 24px;
51 + box-sizing: border-box;
43 43  }
44 44  
45 -html {
46 - scroll-behavior: smooth;
47 -}
48 -
49 49  section {
50 50   padding: @section-padding;
51 - border-top: 1px solid @line;
56 + border-top: 1px solid fade(@line, 65%);
57 + background: transparent;
52 52  
53 53   &:first-of-type {
54 54   border-top: none;
... ... @@ -67,8 +67,10 @@
67 67  }
68 68  
69 69  h2 {
76 + max-width: 820px;
77 + margin: 0 auto 12px;
70 70   text-align: center;
71 - margin-top: 0;
79 + line-height: 1.24;
72 72  }
73 73  
74 74  .lead {
... ... @@ -79,11 +79,11 @@
79 79  
80 80  .section-intro {
81 81   max-width: 760px;
82 - margin: 0 auto 22px;
83 - text-align: center;
90 + margin: 0 auto 24px;
84 84   color: @muted;
92 + text-align: center;
85 85   font-size: 16px;
86 - line-height: 1.55;
94 + line-height: 1.6;
87 87  }
88 88  
89 89  a {
... ... @@ -95,15 +95,42 @@
95 95   }
96 96  }
97 97  
98 -/* ========== Header / Navigation ========== */
106 +/* ========== XWiki / Bootstrap Header Override ========== */
99 99  
108 +.navbar-default {
109 + background: fade(#fff, 72%) !important;
110 + background-image: none !important;
111 + border-color: fade(@line, 70%) !important;
112 + box-shadow: none !important;
113 + backdrop-filter: blur(14px);
114 +}
115 +
116 +.navbar-default .navbar-collapse,
117 +.navbar-default .navbar-form {
118 + border-color: fade(@line, 70%) !important;
119 +}
120 +
121 +.navbar-default .navbar-nav > li > a,
122 +.navbar-default .navbar-brand {
123 + color: @text !important;
124 +}
125 +
126 +.navbar-default .navbar-nav > li > a:hover,
127 +.navbar-default .navbar-nav > li > a:focus,
128 +.navbar-default .navbar-brand:hover,
129 +.navbar-default .navbar-brand:focus {
130 + color: @brand !important;
131 +}
132 +
133 +/* ========== Optional Custom Header / Navigation ========== */
134 +
100 100  .site-header {
101 101   position: sticky;
102 102   top: 0;
103 103   z-index: 1000;
104 - background: fade(#fff, 96%);
105 - border-bottom: 1px solid fade(@line, 85%);
106 - backdrop-filter: blur(8px);
139 + background: fade(#fff, 72%);
140 + border-bottom: 1px solid fade(@line, 70%);
141 + backdrop-filter: blur(14px);
107 107  }
108 108  
109 109  .header-inner {
... ... @@ -123,7 +123,7 @@
123 123   a {
124 124   color: @text;
125 125   text-decoration: none;
126 - font-weight: 600;
161 + font-weight: 700;
127 127  
128 128   &:hover,
129 129   &:focus {
... ... @@ -134,16 +134,16 @@
134 134  
135 135   .nav-cta {
136 136   color: #fff;
137 - background: @brand;
138 - border: 1px solid @brand;
139 - border-radius: 6px;
172 + background: @text;
173 + border: 1px solid @text;
174 + border-radius: 10px;
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;
180 + background: @text-soft;
181 + border-color: @text-soft;
147 147   }
148 148   }
149 149  }
... ... @@ -150,23 +150,44 @@
150 150  
151 151  /* ========== Buttons ========== */
152 152  
153 -/*.btn-primary {
154 - background: @brand;
155 - border-color: @brand;
188 +.btn-primary,
189 +.btn-secondary {
190 + display: inline-flex;
191 + align-items: center;
192 + justify-content: center;
193 + min-height: 40px;
194 + padding: 9px 16px;
195 + border-radius: 10px;
196 + font-weight: 800;
197 + text-decoration: none;
198 +}
199 +
200 +.btn-primary {
201 + background: @text;
202 + border-color: @text;
156 156   color: #fff;
157 157  
158 158   &:hover,
159 159   &:focus {
160 - background: @brand-strong;
161 - border-color: @brand-strong;
207 + background: @text-soft;
208 + border-color: @text-soft;
162 162   color: #fff;
210 + text-decoration: none;
163 163   }
164 164  }
165 -*/
213 +
166 166  .btn-secondary {
167 167   color: @text;
168 - border: 1px solid fade(@text, 35%);
216 + background: #fff;
217 + border: 1px solid fade(@text, 24%);
169 169  
219 + &:hover,
220 + &:focus {
221 + color: @text;
222 + background: #F8FAFC;
223 + border-color: fade(@text, 42%);
224 + text-decoration: none;
225 + }
170 170  }
171 171  
172 172  /* ========== Hero ========== */
... ... @@ -173,15 +173,14 @@
173 173  
174 174  .hero {
175 175   overflow: hidden;
176 - background-repeat: no-repeat;
177 - background-attachment: scroll;
232 + background: transparent;
178 178  
179 179   &.hero-centered {
180 - text-align: center;
235 + min-height: 330px;
181 181   display: flex;
182 182   align-items: center;
183 183   justify-content: center;
184 - min-height: 330px;
239 + text-align: center;
185 185   }
186 186  
187 187   .hero-inner {
... ... @@ -201,9 +201,9 @@
201 201  
202 202   .lead {
203 203   max-width: 820px;
259 + margin-top: 12px;
204 204   font-size: 19px;
205 205   line-height: 1.55;
206 - margin-top: 12px;
207 207   }
208 208  
209 209   .benefits {
... ... @@ -227,14 +227,15 @@
227 227   display: inline-flex;
228 228   align-items: center;
229 229   gap: 8px;
230 - color: @brand;
285 + width: fit-content;
286 + color: @brand-strong;
231 231   background: fade(@brand, 8%);
232 - border: 1px solid fade(@brand, 18%);
288 + border: 1px solid fade(@brand, 22%);
233 233   border-radius: 999px;
234 234   padding: 6px 12px;
235 235   margin-bottom: 14px;
236 236   font-size: 13px;
237 - font-weight: 700;
293 + font-weight: 800;
238 238  }
239 239  
240 240  .hero-actions,
... ... @@ -246,16 +246,118 @@
246 246   margin-top: 22px;
247 247  }
248 248  
305 +/* ========== SaaS Hero With Attached Image ========== */
306 +
307 +.hero.hero-saas {
308 + min-height: auto;
309 + padding: 60px 0 34px;
310 + display: flex;
311 + align-items: center;
312 + background: transparent;
313 +}
314 +
315 +.hero-layout {
316 + max-width: 1120px;
317 + margin: 0 auto;
318 + display: grid;
319 + grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
320 + gap: 56px;
321 + align-items: center;
322 +}
323 +
324 +.hero-copy {
325 + min-width: 0;
326 + text-align: left;
327 +}
328 +
329 +.hero.hero-saas h1 {
330 + max-width: 640px;
331 + margin: 0 0 26px;
332 + font-size: 60px;
333 + font-weight: 800;
334 + line-height: 1;
335 + letter-spacing: -3px;
336 +}
337 +
338 +.hero.hero-saas h1 span {
339 + color: @brand;
340 +}
341 +
342 +.hero.hero-saas .lead {
343 + max-width: 590px;
344 + margin: 0 0 28px;
345 + color: #334155;
346 + text-align: left;
347 + font-size: 18px;
348 + line-height: 1.6;
349 +}
350 +
351 +.hero.hero-saas .benefits {
352 + max-width: 620px;
353 + margin: 0 0 30px;
354 + padding: 0;
355 + display: grid;
356 + grid-template-columns: repeat(2, minmax(0, 1fr));
357 + gap: 10px 24px;
358 + list-style: none;
359 + color: #475569;
360 + font-size: 15px;
361 + text-align: left;
362 +}
363 +
364 +.hero.hero-saas .benefits li {
365 + display: grid;
366 + grid-template-columns: 18px minmax(0, 1fr);
367 + column-gap: 8px;
368 + align-items: start;
369 + margin: 0;
370 + line-height: 1.45;
371 +}
372 +
373 +.hero.hero-saas .benefits li::before {
374 + content: "✓";
375 + display: block;
376 + width: 18px;
377 + color: @brand;
378 + font-weight: 900;
379 + line-height: 1.45;
380 + text-align: left;
381 + margin: 0;
382 +}
383 +
384 +.hero.hero-saas .hero-actions,
385 +.hero.hero-saas #hero-cta {
386 + justify-content: flex-start;
387 + margin-top: 0;
388 +}
389 +
390 +.hero-image-wrapper {
391 + min-width: 0;
392 + display: flex;
393 + justify-content: center;
394 + align-items: center;
395 +}
396 +
397 +.hero-image {
398 + display: block;
399 + width: 100%;
400 + max-width: 620px;
401 + height: auto;
402 + border: 0;
403 +}
404 +
249 249  /* ========== Trust Strip ========== */
250 250  
251 251  .trust-strip {
252 252   padding: 18px 0;
253 - border-top: 1px solid @line;
409 + border-top: 1px solid fade(@line, 70%);
410 + border-bottom: 1px solid fade(@line, 70%);
411 + background: transparent;
254 254  
255 255   ul {
256 256   max-width: 960px;
257 257   margin: 0 auto;
258 - padding: 0;
416 + padding: 0 24px;
259 259   list-style: none;
260 260   display: flex;
261 261   justify-content: center;
... ... @@ -284,7 +284,7 @@
284 284  .resource-grid,
285 285  .widgets {
286 286   display: grid;
287 - grid-gap: 18px;
445 + grid-gap: 22px;
288 288   margin-left: auto;
289 289   margin-right: auto;
290 290  }
... ... @@ -294,19 +294,19 @@
294 294  .services-grid {
295 295   grid-template-columns: repeat(3, minmax(0, 1fr));
296 296   max-width: 1040px;
297 - margin-top: 22px;
455 + margin-top: 24px;
298 298  }
299 299  
300 300  .resource-grid {
301 301   grid-template-columns: repeat(2, minmax(0, 1fr));
302 302   max-width: 1040px;
303 - margin-top: 22px;
461 + margin-top: 24px;
304 304  }
305 305  
306 306  .widgets {
307 307   grid-template-columns: repeat(4, minmax(0, 1fr));
308 308   max-width: 1040px;
309 - margin-top: 20px;
467 + margin-top: 22px;
310 310  }
311 311  
312 312  .card-grid > *,
... ... @@ -322,7 +322,19 @@
322 322  .widget,
323 323  .pathway-card,
324 324  .service-card,
325 -.resource-card {
483 +.resource-card,
484 +.product-card,
485 +.product-summary-card,
486 +.product-info-card,
487 +.product-feature,
488 +.product-gallery-panel,
489 +.process-list li,
490 +.resource-sidebar,
491 +.cta-panel,
492 +.resource-inline-cta,
493 +.resource-note,
494 +.resource-cta {
495 + background: #fff;
326 326   border: 1px solid @line;
327 327   border-radius: @radius;
328 328   box-shadow: @shadow-sm;
... ... @@ -380,12 +380,13 @@
380 380   .pathway-icon {
381 381   width: 52px;
382 382   height: 52px;
383 - border-radius: 50%;
553 + border-radius: 16px;
384 384   display: flex;
385 385   align-items: center;
386 386   justify-content: center;
387 387   color: @brand;
388 388   background: fade(@brand, 10%);
559 + border: 1px solid fade(@brand, 18%);
389 389   font-size: 19px;
390 390   flex-shrink: 0;
391 391   }
... ... @@ -432,19 +432,15 @@
432 432   }
433 433  }
434 434  
606 +/* ========== Industry Trust Section ========== */
607 +
435 435  .industry-trust-section {
436 - background:
437 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 70%);
609 + background: transparent;
438 438  
439 439   .industry-trust-panel {
440 440   max-width: 1040px;
441 441   margin: 0 auto;
442 442   padding: 30px 28px;
443 - border: 1px solid fade(@brand, 16%);
444 - border-radius: @radius;
445 - background:
446 - radial-gradient(34rem 12rem at 50% 0%, fade(@brand-soft, 75%) 0%, #fff 72%);
447 - box-shadow: @shadow-sm;
448 448   text-align: center;
449 449   }
450 450  
... ... @@ -475,9 +475,9 @@
475 475   background: #fff;
476 476   color: @text;
477 477   font-size: 13px;
478 - font-weight: 600;
645 + font-weight: 700;
479 479   line-height: 1.2;
480 - box-shadow: 0 3px 10px rgba(0, 0, 0, .04);
647 + box-shadow: 0 8px 20px rgba(15, 23, 42, .04);
481 481   }
482 482  
483 483   .industry-support {
... ... @@ -489,23 +489,6 @@
489 489   }
490 490  }
491 491  
492 -@media (max-width: 640px) {
493 - .industry-trust-section {
494 - .industry-trust-panel {
495 - padding: 24px 18px;
496 - }
497 -
498 - .industry-tags {
499 - gap: 8px;
500 - }
501 -
502 - .industry-tags span {
503 - font-size: 12px;
504 - padding: 6px 10px;
505 - }
506 - }
507 -}
508 -
509 509  /* ========== Services ========== */
510 510  
511 511  .services {
... ... @@ -518,6 +518,7 @@
518 518   align-items: flex-start;
519 519   gap: 16px;
520 520   padding: 22px;
671 + background: #fff;
521 521   border: 1px solid @line;
522 522   border-radius: @radius;
523 523   box-shadow: @shadow-sm;
... ... @@ -525,7 +525,7 @@
525 525   .service-icon {
526 526   width: 46px;
527 527   height: 46px;
528 - border-radius: 50%;
679 + border-radius: 14px;
529 529   display: flex;
530 530   align-items: center;
531 531   justify-content: center;
... ... @@ -532,6 +532,7 @@
532 532   font-size: 18px;
533 533   color: @brand;
534 534   background: fade(@brand, 10%);
686 + border: 1px solid fade(@brand, 18%);
535 535   flex-shrink: 0;
536 536   margin-top: 2px;
537 537   }
... ... @@ -569,8 +569,7 @@
569 569  /* ========== Split / Process Section ========== */
570 570  
571 571  .split-section {
572 - background:
573 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 65%);
724 + background: transparent;
574 574  }
575 575  
576 576  .split-grid {
... ... @@ -605,9 +605,6 @@
605 605   position: relative;
606 606   padding: 16px 16px 16px 58px;
607 607   margin-bottom: 12px;
608 - border: 1px solid @line;
609 - border-radius: @radius;
610 - box-shadow: @shadow-sm;
611 611   color: @muted;
612 612   line-height: 1.5;
613 613  
... ... @@ -637,8 +637,9 @@
637 637  
638 638  /* ========== Resources ========== */
639 639  
640 -.resource-strip {
641 - background: @brand-bg;
788 +.resource-strip,
789 +.homepage-resource-strip {
790 + background: transparent;
642 642  }
643 643  
644 644  .resource-card {
... ... @@ -666,9 +666,6 @@
666 666  /* ========== Homepage Resource Strip ========== */
667 667  
668 668  .homepage-resource-strip {
669 - background:
670 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 70%);
671 -
672 672   .resource-grid {
673 673   max-width: 1040px;
674 674   margin: 22px auto 0;
... ... @@ -714,26 +714,6 @@
714 714   }
715 715  }
716 716  
717 -@media (max-width: 980px) {
718 - .homepage-resource-strip {
719 - .resource-grid {
720 - grid-template-columns: 1fr;
721 - }
722 - }
723 -}
724 -
725 -@media (max-width: 640px) {
726 - .homepage-resource-strip {
727 - .resource-card {
728 - padding: 22px;
729 - }
730 -
731 - .resource-card h4 {
732 - font-size: 19px;
733 - }
734 - }
735 -}
736 -
737 737  /* ========== CTA ========== */
738 738  
739 739  .cta-section {
... ... @@ -753,9 +753,6 @@
753 753   max-width: 860px;
754 754   margin: 0 auto;
755 755   padding: 32px;
756 - border-radius: @radius;
757 - border: 1px solid fade(@brand, 20%);
758 - box-shadow: @shadow-sm;
759 759   text-align: center;
760 760  
761 761   h2 {
... ... @@ -775,10 +775,6 @@
775 775   gap: 22px;
776 776   margin: 30px 0;
777 777   padding: 20px 22px;
778 - border: 1px solid fade(@brand, 22%);
779 - border-radius: @radius;
780 - background: @brand-bg;
781 - box-shadow: @shadow-sm;
782 782  
783 783   p {
784 784   margin: 0;
... ... @@ -795,124 +795,17 @@
795 795   }
796 796  }
797 797  
798 -@media (max-width: 767px) {
799 - .resource-inline-cta {
800 - display: block;
801 - text-align: center;
802 -
803 - p {
804 - margin-bottom: 14px;
805 - }
806 -
807 - .btn {
808 - display: inline-block;
809 - margin-left: auto;
810 - margin-right: auto;
811 - }
812 - }
813 -}
814 -
815 -/* ========== Responsive ========== */
816 -
817 -@media (max-width: 980px) {
818 - .widgets,
819 - .pathways,
820 - .services-grid,
821 - .resource-grid {
822 - grid-template-columns: repeat(2, minmax(0, 1fr));
823 - }
824 -
825 - .split-grid {
826 - grid-template-columns: 1fr;
827 - }
828 -
829 - .split-copy h2 {
830 - text-align: center;
831 - }
832 -}
833 -
834 -@media (max-width: 760px) {
835 - section[id] {
836 - scroll-margin-top: 132px;
837 - }
838 -
839 - .header-inner {
840 - min-height: auto;
841 - padding-top: 14px;
842 - padding-bottom: 14px;
843 - flex-direction: column;
844 - align-items: center;
845 - gap: 12px;
846 - }
847 -
848 - .site-nav {
849 - width: 100%;
850 - justify-content: center;
851 - flex-wrap: wrap;
852 - gap: 10px 16px;
853 - font-size: 14px;
854 -
855 - .nav-cta {
856 - padding: 7px 12px;
857 - }
858 - }
859 -
860 - .hero.hero-centered {
861 - min-height: 280px;
862 - }
863 -
864 - .hero {
865 - .lead {
866 - font-size: 17px;
867 - }
868 -
869 - .benefits {
870 - gap: 4px 10px;
871 -
872 - li + li::before {
873 - content: none;
874 - }
875 - }
876 - }
877 -}
878 -
879 -@media (max-width: 640px) {
880 - section {
881 - padding: @section-padding-mobile;
882 - }
883 -
884 - .widgets,
885 - .pathways,
886 - .services-grid,
887 - .resource-grid {
888 - grid-template-columns: 1fr;
889 - }
890 -
891 - .pathway-card,
892 - .services .service,
893 - .resource-card,
894 - .widget {
895 - padding: 20px;
896 - }
897 -
898 - .services .service {
899 - gap: 14px;
900 - }
901 -
902 - .cta-panel {
903 - padding: 24px 20px;
904 - }
905 -}
906 -
907 907  /* ========== Resource / Article Pages ========== */
908 908  
909 909  .resource-page {
910 910   padding-top: 0;
921 + background: transparent;
911 911  }
912 912  
913 913  .resource-header {
914 914   padding: @section-padding;
915 915   border-top: none;
927 + background: transparent;
916 916  
917 917   h1 {
918 918   margin: 0 auto 14px;
... ... @@ -980,7 +980,6 @@
980 980  
981 981  .resource-note {
982 982   border-left: 4px solid @brand;
983 - background: @brand-bg;
984 984   padding: 16px 18px;
985 985   margin: 22px 0;
986 986   border-radius: 0 @radius @radius 0;
... ... @@ -1057,10 +1057,7 @@
1057 1057   margin-bottom: 28px;
1058 1058   position: sticky;
1059 1059   top: 96px;
1060 - border: 1px solid @line;
1061 - border-radius: @radius;
1062 1062   padding: 18px;
1063 - box-shadow: @shadow-sm;
1064 1064  
1065 1065   h4 {
1066 1066   margin: 0 0 10px;
... ... @@ -1091,9 +1091,6 @@
1091 1091   max-width: 820px;
1092 1092   margin: 42px auto 0;
1093 1093   padding: 28px 30px;
1094 - border: 1px solid fade(@brand, 20%);
1095 - border-radius: @radius;
1096 - background: @brand-bg;
1097 1097  
1098 1098   h3 {
1099 1099   margin-top: 0;
... ... @@ -1118,26 +1118,6 @@
1118 1118   display: flow-root;
1119 1119  }
1120 1120  
1121 -@media (max-width: 767px) {
1122 - .resource-cta {
1123 - padding: 24px 20px;
1124 - }
1125 -}
1126 -
1127 -@media (max-width: 900px) {
1128 - .resource-layout {
1129 - padding-top: 22px;
1130 - }
1131 -
1132 - .resource-sidebar {
1133 - float: none;
1134 - width: 100%;
1135 - margin-left: 0;
1136 - margin-bottom: 24px;
1137 - position: static;
1138 - }
1139 -}
1140 -
1141 1141  /* ========== Products / Extensions Pages ========== */
1142 1142  
1143 1143  .product-index-section {
... ... @@ -1158,9 +1158,6 @@
1158 1158  
1159 1159  .product-card {
1160 1160   position: relative;
1161 - border: 1px solid @line;
1162 - border-radius: @radius;
1163 - box-shadow: @shadow-sm;
1164 1164   padding: 32px;
1165 1165   display: grid;
1166 1166   grid-template-columns: 70px 1fr;
... ... @@ -1179,7 +1179,7 @@
1179 1179   .product-card-icon {
1180 1180   width: 58px;
1181 1181   height: 58px;
1182 - border-radius: 50%;
1164 + border-radius: 16px;
1183 1183   background: fade(@brand, 10%);
1184 1184   border: 1px solid fade(@brand, 22%);
1185 1185   color: @brand;
... ... @@ -1268,30 +1268,6 @@
1268 1268   }
1269 1269  }
1270 1270  
1271 -@media (max-width: 640px) {
1272 - .product-card {
1273 - grid-template-columns: 1fr;
1274 - padding: 26px 22px;
1275 - text-align: left;
1276 -
1277 - &:before {
1278 - width: 4px;
1279 - }
1280 -
1281 - .product-card-icon {
1282 - margin-bottom: 2px;
1283 - }
1284 -
1285 - h3 {
1286 - font-size: 22px;
1287 - }
1288 - }
1289 -
1290 - .product-card-actions {
1291 - gap: 12px;
1292 - }
1293 -}
1294 -
1295 1295  /* ========== Individual Product Pages ========== */
1296 1296  
1297 1297  .product-layout {
... ... @@ -1303,15 +1303,6 @@
1303 1303   align-items: start;
1304 1304  }
1305 1305  
1306 -.product-summary-card,
1307 -.product-info-card,
1308 -.product-feature,
1309 -.product-gallery-panel {
1310 - border: 1px solid @line;
1311 - border-radius: @radius;
1312 - box-shadow: @shadow-sm;
1313 -}
1314 -
1315 1315  .product-summary-card {
1316 1316   padding: 28px;
1317 1317  
... ... @@ -1388,8 +1388,9 @@
1388 1388   .feature-icon {
1389 1389   width: 46px;
1390 1390   height: 46px;
1391 - border-radius: 50%;
1340 + border-radius: 14px;
1392 1392   background: fade(@brand, 10%);
1342 + border: 1px solid fade(@brand, 18%);
1393 1393   color: @brand;
1394 1394   display: flex;
1395 1395   align-items: center;
... ... @@ -1422,16 +1422,16 @@
1422 1422  }
1423 1423  
1424 1424  /* Keep the default XWiki gallery style.
1425 - Only add spacing before it and center it. */
1375 + Only set size, top spacing and centering. */
1426 1426  .gallery.xGallery {
1427 1427   margin: 25px auto;
1428 1428   width: 920px;
1379 + max-width: 100%;
1429 1429   height: 518px;
1430 1430  }
1431 1431  
1432 1432  .product-section-muted {
1433 - background:
1434 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 65%);
1384 + background: transparent;
1435 1435  }
1436 1436  
1437 1437  /* Compact process list when used inside a product card. */
... ... @@ -1490,28 +1490,183 @@
1490 1490   justify-content: center;
1491 1491  }
1492 1492  
1443 +/* ========== Resources Index ========== */
1444 +
1445 +.resources-index-page {
1446 + background: transparent;
1447 +
1448 + .services-grid {
1449 + grid-template-columns: repeat(2, minmax(0, 1fr));
1450 + }
1451 +}
1452 +
1453 +/* ========== Responsive ========== */
1454 +
1455 +@media (max-width: 1100px) {
1456 + .hero-layout {
1457 + max-width: 760px;
1458 + grid-template-columns: 1fr;
1459 + gap: 34px;
1460 + }
1461 +
1462 + .hero-copy {
1463 + order: 1;
1464 + text-align: center;
1465 + }
1466 +
1467 + .hero-image-wrapper {
1468 + order: 2;
1469 + }
1470 +
1471 + .hero.hero-saas h1 {
1472 + margin-left: auto;
1473 + margin-right: auto;
1474 + text-align: center;
1475 + }
1476 +
1477 + .hero.hero-saas .lead {
1478 + margin-left: auto;
1479 + margin-right: auto;
1480 + text-align: center;
1481 + }
1482 +
1483 + .hero.hero-saas .benefits {
1484 + margin-left: auto;
1485 + margin-right: auto;
1486 + }
1487 +
1488 + .hero.hero-saas .hero-actions,
1489 + .hero.hero-saas #hero-cta {
1490 + justify-content: center;
1491 + }
1492 +
1493 + .hero-image {
1494 + max-width: 620px;
1495 + }
1496 +}
1497 +
1493 1493  @media (max-width: 980px) {
1499 + .widgets,
1500 + .pathways,
1501 + .services-grid,
1502 + .resource-grid {
1503 + grid-template-columns: repeat(2, minmax(0, 1fr));
1504 + }
1505 +
1506 + .split-grid,
1494 1494   .product-layout,
1495 1495   .product-feature-grid {
1496 1496   grid-template-columns: 1fr;
1497 1497   }
1498 1498  
1512 + .split-copy h2,
1499 1499   .product-summary-card h2 {
1500 1500   text-align: center;
1501 1501   }
1516 +
1517 + .homepage-resource-strip {
1518 + .resource-grid {
1519 + grid-template-columns: 1fr;
1520 + }
1521 + }
1522 +
1523 + .resources-index-page {
1524 + .services-grid {
1525 + grid-template-columns: 1fr;
1526 + }
1527 + }
1502 1502  }
1503 1503  
1504 -@media (max-width: 640px) {
1505 - .product-card {
1506 - grid-template-columns: 1fr;
1507 - padding: 22px;
1508 - text-align: left;
1530 +@media (max-width: 900px) {
1531 + .resource-layout {
1532 + padding-top: 22px;
1533 + }
1509 1509  
1510 - .product-card-icon {
1511 - margin-bottom: 2px;
1535 + .resource-sidebar {
1536 + float: none;
1537 + width: 100%;
1538 + margin-left: 0;
1539 + margin-bottom: 24px;
1540 + position: static;
1541 + }
1542 +}
1543 +
1544 +@media (max-width: 767px) {
1545 + section[id] {
1546 + scroll-margin-top: 132px;
1547 + }
1548 +
1549 + .header-inner {
1550 + min-height: auto;
1551 + padding-top: 14px;
1552 + padding-bottom: 14px;
1553 + flex-direction: column;
1554 + align-items: center;
1555 + gap: 12px;
1556 + }
1557 +
1558 + .site-nav {
1559 + width: 100%;
1560 + justify-content: center;
1561 + flex-wrap: wrap;
1562 + gap: 10px 16px;
1563 + font-size: 14px;
1564 +
1565 + .nav-cta {
1566 + padding: 7px 12px;
1512 1512   }
1513 1513   }
1514 1514  
1570 + .hero.hero-centered {
1571 + min-height: 280px;
1572 + }
1573 +
1574 + .resource-inline-cta {
1575 + display: block;
1576 + text-align: center;
1577 +
1578 + p {
1579 + margin-bottom: 14px;
1580 + }
1581 +
1582 + .btn {
1583 + display: inline-block;
1584 + margin-left: auto;
1585 + margin-right: auto;
1586 + }
1587 + }
1588 +
1589 + .resource-cta {
1590 + padding: 24px 20px;
1591 + }
1592 +
1593 + .resources-index-page {
1594 + padding: @section-padding-mobile;
1595 + }
1596 +}
1597 +
1598 +@media (max-width: 640px) {
1599 + section {
1600 + padding: @section-padding-mobile;
1601 + }
1602 +
1603 + .container {
1604 + padding-left: 18px;
1605 + padding-right: 18px;
1606 + }
1607 +
1608 + .widgets,
1609 + .pathways,
1610 + .services-grid,
1611 + .resource-grid,
1612 + .hero.hero-saas .benefits {
1613 + grid-template-columns: 1fr;
1614 + }
1615 +
1616 + .pathway-card,
1617 + .services .service,
1618 + .resource-card,
1619 + .widget,
1515 1515   .product-summary-card,
1516 1516   .product-info-card,
1517 1517   .product-feature,
... ... @@ -1519,397 +1519,112 @@
1519 1519   padding: 20px;
1520 1520   }
1521 1521  
1522 - .product-feature {
1523 - .card-heading,
1524 - .feature-heading {
1525 - gap: 12px;
1627 + .services .service {
1628 + gap: 14px;
1629 + }
1630 +
1631 + .cta-panel {
1632 + padding: 24px 20px;
1633 + }
1634 +
1635 + .industry-trust-section {
1636 + .industry-trust-panel {
1637 + padding: 24px 18px;
1526 1526   }
1527 1527  
1528 - .feature-icon {
1529 - width: 42px;
1530 - height: 42px;
1531 - font-size: 16px;
1640 + .industry-tags {
1641 + gap: 8px;
1532 1532   }
1643 +
1644 + .industry-tags span {
1645 + font-size: 12px;
1646 + padding: 6px 10px;
1647 + }
1533 1533   }
1534 1534  
1535 - .gallery.xGallery {
1536 - margin-top: 22px !important;
1650 + .homepage-resource-strip {
1651 + .resource-card {
1652 + padding: 22px;
1653 + }
1654 +
1655 + .resource-card h4 {
1656 + font-size: 19px;
1657 + }
1537 1537   }
1538 1538  
1539 - .product-gallery-caption {
1540 - margin-top: 10px;
1541 - padding: 0 14px;
1660 + .hero.hero-saas {
1661 + padding: 42px 0 28px;
1542 1542   }
1543 1543  
1544 - .product-summary-card .process-list li {
1545 - padding-left: 46px;
1664 + .hero.hero-saas h1 {
1665 + font-size: 42px;
1666 + letter-spacing: -1.5px;
1546 1546   }
1547 -}
1548 1548  
1549 -/* ========== Resources Index ========== */
1669 + .hero.hero-saas .lead {
1670 + font-size: 17px;
1671 + }
1550 1550  
1551 -.resources-index-page {
1552 -
1553 - .services-grid {
1554 - grid-template-columns: repeat(2, minmax(0, 1fr));
1673 + .hero-layout {
1674 + gap: 28px;
1555 1555   }
1556 -}
1557 1557  
1558 -@media (max-width: 980px) {
1559 - .resources-index-page {
1560 - .services-grid {
1561 - grid-template-columns: 1fr;
1562 - }
1677 + .hero-image {
1678 + max-width: 100%;
1563 1563   }
1564 -}
1565 1565  
1566 -@media (max-width: 767px) {
1567 - .resources-index-page {
1568 - padding: @section-padding-mobile;
1681 + .hero .benefits {
1682 + gap: 4px 10px;
1569 1569   }
1570 -}
1571 1571  
1572 -.resource-faq-item {
1573 - border-bottom: 1px solid @line;
1574 - padding: 12px 0;
1685 + .product-card {
1686 + grid-template-columns: 1fr;
1687 + padding: 26px 22px;
1688 + text-align: left;
1575 1575  
1576 - summary {
1577 - cursor: pointer;
1578 - font-weight: 700;
1579 - color: @text;
1690 + &:before {
1691 + width: 4px;
1692 + }
1693 +
1694 + .product-card-icon {
1695 + margin-bottom: 2px;
1696 + }
1697 +
1698 + h3 {
1699 + font-size: 22px;
1700 + }
1580 1580   }
1581 1581  
1582 - p {
1583 - margin: 10px 0 4px;
1584 - color: @muted;
1703 + .product-card-actions {
1704 + gap: 12px;
1585 1585   }
1586 -}
1587 1587  
1588 -/* ========== Global Theme Background ========== */
1707 + .product-feature {
1708 + .card-heading,
1709 + .feature-heading {
1710 + gap: 12px;
1711 + }
1589 1589  
1590 -html,
1591 -body {
1592 - min-height: 100%;
1593 -}
1713 + .feature-icon {
1714 + width: 42px;
1715 + height: 42px;
1716 + font-size: 16px;
1717 + }
1718 + }
1594 1594  
1595 -body {
1596 - color: @text;
1597 - background:
1598 - radial-gradient(circle at 12% 8%, rgba(0, 147, 125, 0.08) 0, transparent 26%),
1599 - radial-gradient(circle at 90% 28%, rgba(7, 24, 45, 0.05) 0, transparent 30%),
1600 - linear-gradient(180deg, #fff 0, @brand-bg 42%, #fff 100%) !important;
1601 - background-attachment: fixed;
1602 -}
1720 + .gallery.xGallery {
1721 + width: 100%;
1722 + height: 56vw;
1723 + max-height: 360px;
1724 + margin-top: 22px !important;
1725 + }
1603 1603  
1604 -/* Let the body background show through the XWiki wrappers.
1605 -#mainContentArea,
1606 -.resource-page,
1607 -.resources-index-page {
1608 - background: transparent !important;
1609 - background-image: none !important;
1610 -}
1611 -*/
1612 -/* Remove local decorative backgrounds that compete with the global gradient.
1613 -.hero,
1614 -.hero.hero-centered,
1615 -.trust-strip,
1616 -.industry-trust-section,
1617 -.split-section,
1618 -.resource-strip,
1619 -.homepage-resource-strip,
1620 -.resource-header,
1621 -.product-section-muted,
1622 -.resources-index-page {
1623 - background: transparent !important;
1624 - background-image: none !important;
1625 -}
1626 - */
1627 -/* Keep large panels readable, but remove their inner gradients.
1628 -.industry-trust-section .industry-trust-panel,
1629 -.cta-panel,
1630 -.resource-inline-cta,
1631 -.resource-note,
1632 -.resource-cta {
1633 - background: #fff !important;
1634 - background-image: none !important;
1635 -} */
1727 + .product-gallery-caption {
1728 + margin-top: 10px;
1729 + padding: 0 14px;
1730 + }
1636 1636  
1637 -
1638 -/* ========== Hero ========== */
1639 -#mainContentArea .hero.hero-saas {
1640 - min-height: auto;
1641 - padding: 60px 0 34px;
1642 - display: flex;
1643 - align-items: center;
1644 - overflow: hidden;
1645 - background: transparent;
1732 + .product-summary-card .process-list li {
1733 + padding-left: 46px;
1734 + }
1646 1646  }
1647 -#mainContentArea .hero-layout {
1648 - max-width: 1120px;
1649 - margin: 0 auto;
1650 - display: grid;
1651 - grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
1652 - gap: 56px;
1653 - align-items: center;
1654 -}
1655 -#mainContentArea .hero-copy,
1656 -#mainContentArea .hero.hero-saas .lead {
1657 - text-align: left;
1658 -}
1659 -#mainContentArea .hero.hero-saas h1 {
1660 - max-width: 640px;
1661 - margin: 0 0 26px;
1662 - font-size: 60px;
1663 - font-weight: 800;
1664 - line-height: 1;
1665 - letter-spacing: -3px;
1666 -}
1667 -#mainContentArea .hero.hero-saas h1 span {
1668 - color: @brand;
1669 -}
1670 -#mainContentArea .hero.hero-saas .lead {
1671 - max-width: 590px;
1672 - margin: 0 0 28px;
1673 - color: #334155;
1674 - font-size: 18px;
1675 - line-height: 1.6;
1676 -}
1677 -#mainContentArea .hero.hero-saas .benefits {
1678 - max-width: 620px;
1679 - margin: 0 0 30px;
1680 - padding: 0;
1681 - display: grid;
1682 - grid-template-columns: repeat(2, minmax(0, 1fr));
1683 - gap: 10px 24px;
1684 - list-style: none;
1685 - color: #475569;
1686 - font-size: 15px;
1687 - text-align: left;
1688 -}
1689 -#mainContentArea .hero.hero-saas .benefits li {
1690 - display: grid;
1691 - grid-template-columns: 18px minmax(0, 1fr);
1692 - column-gap: 8px;
1693 - align-items: start;
1694 - margin: 0;
1695 - line-height: 1.45;
1696 -}
1697 -#mainContentArea .hero.hero-saas .benefits li::before {
1698 - content: "✓";
1699 - display: block;
1700 - width: 18px;
1701 - color: @brand;
1702 - font-weight: 900;
1703 - line-height: 1.45;
1704 - text-align: left;
1705 - margin: 0;
1706 -}
1707 -#mainContentArea .hero-actions,
1708 -#mainContentArea #hero-cta {
1709 - display: flex;
1710 - flex-wrap: wrap;
1711 - justify-content: flex-start;
1712 - gap: 12px;
1713 -}
1714 -#mainContentArea .hero-visual {
1715 - position: relative;
1716 - min-height: 540px;
1717 -}
1718 -#mainContentArea .hero-browser,
1719 -#mainContentArea .hero-floating {
1720 - border: 1px solid @line;
1721 - background: fade(#fff, 94%);
1722 - box-shadow: @shadow;
1723 - backdrop-filter: blur(14px);
1724 -}
1725 -#mainContentArea .hero-browser {
1726 - position: absolute;
1727 - top: 8px;
1728 - right: 0;
1729 - width: 100%;
1730 - max-width: 720px;
1731 - overflow: hidden;
1732 - border-radius: 18px;
1733 - background: fade(#fff, 88%);
1734 -}
1735 -#mainContentArea .hero-browser-top {
1736 - height: 58px;
1737 - display: flex;
1738 - align-items: center;
1739 - gap: 10px;
1740 - padding: 0 24px;
1741 - border-bottom: 1px solid @line;
1742 - background: fade(#fff, 74%);
1743 -}
1744 -#mainContentArea .hero-dot,
1745 -#mainContentArea .hero-status-dot {
1746 - border-radius: 50%;
1747 -}
1748 -#mainContentArea .hero-dot {
1749 - width: 10px;
1750 - height: 10px;
1751 - background: #CBD5E1;
1752 -}
1753 -#mainContentArea .hero-status-dot {
1754 - width: 8px;
1755 - height: 8px;
1756 - background: @brand;
1757 -}
1758 -#mainContentArea .hero-search {
1759 - margin-left: auto;
1760 - width: 170px;
1761 - height: 26px;
1762 - border: 1px solid #E2E8F0;
1763 - border-radius: 20px;
1764 - background: #F1F5F9;
1765 -}
1766 -#mainContentArea .hero-browser-body {
1767 - display: grid;
1768 - grid-template-columns: 150px minmax(0, 1fr);
1769 -}
1770 -#mainContentArea .hero-sidebar {
1771 - padding: 24px 18px;
1772 - border-right: 1px solid @line;
1773 - background: #F8FAFC;
1774 -}
1775 -#mainContentArea .hero-nav-item,
1776 -#mainContentArea .hero-status-row,
1777 -#mainContentArea .hero-version-flow,
1778 -#mainContentArea .hero-flow {
1779 - display: flex;
1780 - align-items: center;
1781 -}
1782 -#mainContentArea .hero-nav-item {
1783 - gap: 9px;
1784 - padding: 10px 8px;
1785 - color: #334155;
1786 - font-size: 13px;
1787 -}
1788 -#mainContentArea .hero-nav-icon {
1789 - width: 20px;
1790 - height: 20px;
1791 - border: 1px solid #CBD5E1;
1792 - border-radius: 5px;
1793 -}
1794 -#mainContentArea .hero-content-panel {
1795 - padding: 26px;
1796 -}
1797 -#mainContentArea .hero-panel-title,
1798 -#mainContentArea .hero-card-title {
1799 - color: @text;
1800 - font-weight: 800;
1801 -}
1802 -#mainContentArea .hero-panel-title {
1803 - margin-bottom: 18px;
1804 - font-size: 20px;
1805 -}
1806 -#mainContentArea .hero-skeleton {
1807 - height: 8px;
1808 - margin-bottom: 10px;
1809 - border-radius: 10px;
1810 - background: #E2E8F0;
1811 -}
1812 -#mainContentArea .hero-skeleton.short {
1813 - width: 64%;
1814 -}
1815 -#mainContentArea .hero-dashboard-grid {
1816 - margin-top: 28px;
1817 - display: grid;
1818 - grid-template-columns: repeat(2, minmax(0, 1fr));
1819 - gap: 18px;
1820 -}
1821 -#mainContentArea .hero-mini-card {
1822 - padding: 18px;
1823 - border: 1px solid @line;
1824 - border-radius: 14px;
1825 - background: #fff;
1826 -}
1827 -#mainContentArea .hero-mini-card h4 {
1828 - margin: 0 0 14px;
1829 - font-size: 15px;
1830 -}
1831 -#mainContentArea .hero-status-row {
1832 - gap: 10px;
1833 - margin: 11px 0;
1834 - color: #475569;
1835 - font-size: 13px;
1836 -}
1837 -#mainContentArea .hero-floating {
1838 - position: absolute;
1839 - border-radius: 16px;
1840 -}
1841 -#mainContentArea .hero-upgrade-card {
1842 - left: 0;
1843 - bottom: 72px;
1844 - width: 320px;
1845 - padding: 20px;
1846 -}
1847 -#mainContentArea .hero-security-card {
1848 - right: 20px;
1849 - top: 260px;
1850 - width: 260px;
1851 - padding: 22px;
1852 -}
1853 -#mainContentArea .hero-security-card ul {
1854 - margin: 0;
1855 - padding: 0;
1856 - list-style: none;
1857 -}
1858 -#mainContentArea .hero-security-card li {
1859 - margin: 12px 0;
1860 - font-size: 14px;
1861 -}
1862 -#mainContentArea .hero-security-card li::before {
1863 - content: "✓";
1864 - margin-right: 8px;
1865 - color: @brand;
1866 - font-weight: 900;
1867 -}
1868 -#mainContentArea .hero-card-title {
1869 - margin-bottom: 16px;
1870 -}
1871 -#mainContentArea .hero-version-flow {
1872 - gap: 8px;
1873 -}
1874 -#mainContentArea .hero-version {
1875 - width: 62px;
1876 - height: 54px;
1877 - padding: 0 8px;
1878 - display: grid;
1879 - place-items: center;
1880 - box-sizing: border-box;
1881 - border-radius: 8px;
1882 - background: #F1F5F9;
1883 - color: #334155;
1884 - text-align: center;
1885 - font-size: 13px;
1886 - line-height: 1.25;
1887 -}
1888 -#mainContentArea .hero-version.active {
1889 - width: 84px;
1890 - background: @text;
1891 - color: #fff;
1892 -}
1893 -#mainContentArea .hero-arrow {
1894 - color: #64748B;
1895 -}
1896 -#mainContentArea .hero-flow {
1897 - position: absolute;
1898 - right: 48px;
1899 - bottom: 18px;
1900 - gap: 12px;
1901 -}
1902 -#mainContentArea .hero-env {
1903 - min-width: 130px;
1904 - padding: 16px 20px;
1905 - border: 1px solid @line;
1906 - border-radius: 12px;
1907 - background: #fff;
1908 - color: #475569;
1909 - text-align: center;
1910 - text-transform: uppercase;
1911 - font-size: 12px;
1912 - letter-spacing: 1.3px;
1913 - box-shadow: 0 16px 40px rgba(15, 23, 42, .08);
1914 -}
1915 -