Changes for page Public Web Site
Last modified by Agnease on 2026/07/03 16:14
Summary
-
Page properties (3 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 1 removed)
-
Objects (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Default language
-
... ... @@ -1,0 +1,1 @@ 1 +en - Hidden
-
... ... @@ -1,1 +1,1 @@ 1 - true1 +false - Content
-
... ... @@ -2,45 +2,7 @@ 2 2 #macro (displayPublicContent) 3 3 #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome')) 4 4 {{html clean="false"}} 5 - <section class="hero hero-saas" id="top"> 6 - <div class="container"> 7 - <div class="hero-layout"> 8 - <div class="hero-copy"> 9 - <h1>Professional XWiki consulting <span>and engineering</span></h1> 10 10 11 - <p class="lead"> 12 - Agnease helps organizations upgrade, maintain, secure and extend production XWiki platforms with practical engineering support, custom development, integrations and long-term care. 13 - </p> 14 - 15 - <ul class="benefits"> 16 - <li>XWiki LTS upgrades</li> 17 - <li>Maintenance and support</li> 18 - <li>Custom XWiki development</li> 19 - <li>Migrations and integrations</li> 20 - </ul> 21 - 22 - <div class="hero-actions" id="hero-cta"> 23 - <a class="btn btn-primary" href="https://calendly.com/alex-agnease/30min?back=1&month=2026-06"> 24 - Book a free discussion 25 - </a> 26 - <a class="btn btn-secondary" href="$xwiki.getURL('services.WebHome')">View XWiki services</a> 27 - </div> 28 - </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 - /> 39 - </div> 40 - </div> 41 - </div> 42 - </section> 43 -#* 44 44 <section class="hero hero-centered" aria-labelledby="hero-title"> 45 45 <div class="container hero-inner"> 46 46 <h1 id="hero-title">Professional XWiki consulting and engineering</h1> ... ... @@ -64,7 +64,7 @@ 64 64 </div> 65 65 </div> 66 66 </section> 67 - *#29 + 68 68 <section class="trust-strip" aria-label="Agnease experience"> 69 69 <div class="container"> 70 70 <ul> ... ... @@ -149,9 +149,9 @@ 149 149 </div> 150 150 </section> 151 151 152 - <section class=" contrast-band" aria-labelledby="industry-trust-title">114 + <section class="industry-trust-section" aria-labelledby="industry-trust-title"> 153 153 <div class="container"> 154 - <div class=" contrast-panel">116 + <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">124 + <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">135 + <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.
- agnease-xwiki-hero.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Admin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -981.8 KB - Content
- XWiki.StyleSheetExtension[0]
-
- code
-
... ... @@ -1,5 +1,5 @@ 1 1 /* ========== Agnease Public Website ========== */ 2 - /*2 + 3 3 @brand: #00937D; 4 4 @brand-strong: #007B6A; 5 5 @brand-soft: #E7FFF8; ... ... @@ -11,19 +11,6 @@ 11 11 @shadow-sm: 0 6px 20px rgba(0, 0, 0, .06); 12 12 @shadow: 0 12px 36px rgba(0, 0, 0, .08); 13 13 @maxw: 1140px; 14 -*/ 15 -@brand: #00937D; 16 -@brand-strong: #007B6A; 17 -@brand-soft: #E7FFF8; 18 -@brand-bg: #F7F9FC; 19 -@text: #07182D; 20 -@text-soft: #10243D; 21 -@muted: #64748B; 22 -@line: #E6EBF2; 23 -@radius: 18px; 24 -@shadow-sm: 0 18px 45px rgba(15, 23, 42, .06); 25 -@shadow: 0 30px 80px rgba(15, 23, 42, .12); 26 -@maxw: 1140px; 27 27 28 28 @section-padding: 30px 0; 29 29 @section-padding-mobile: 28px 0; ... ... @@ -150,7 +150,7 @@ 150 150 151 151 /* ========== Buttons ========== */ 152 152 153 - /*.btn-primary {140 +.btn-primary { 154 154 background: @brand; 155 155 border-color: @brand; 156 156 color: #fff; ... ... @@ -162,12 +162,18 @@ 162 162 color: #fff; 163 163 } 164 164 } 165 - */152 + 166 166 .btn-secondary { 167 - color: @ text;154 + color: @brand; 168 168 background: #fff; 169 - border: 1px solid fade(@ text, 35%);156 + border: 1px solid fade(@brand, 35%); 170 170 158 + &:hover, 159 + &:focus { 160 + color: @brand-strong; 161 + border-color: @brand; 162 + background: @brand-bg; 163 + } 171 171 } 172 172 173 173 /* ========== Hero ========== */ ... ... @@ -179,6 +179,9 @@ 179 179 180 180 &.hero-centered { 181 181 text-align: center; 175 + background: 176 + radial-gradient(50rem 18rem at 50% -10%, @brand-soft 0%, transparent 60%), 177 + radial-gradient(50rem 18rem at 50% 0%, #E8F6F3 0%, transparent 60%); 182 182 display: flex; 183 183 align-items: center; 184 184 justify-content: center; ... ... @@ -247,104 +247,35 @@ 247 247 margin-top: 22px; 248 248 } 249 249 250 -/* ========== ContrastBand========== */246 +/* ========== Trust Strip ========== */ 251 251 252 -.contrast-band { 253 - position: relative; 254 - overflow: hidden; 255 - padding: 54px 0; 256 - background: 257 - radial-gradient(circle at 18% 18%, fade(@brand, 22%) 0%, transparent 28%), 258 - radial-gradient(circle at 86% 12%, fade(@brand, 16%) 0%, transparent 30%), 259 - linear-gradient(135deg, @text 0%, @text-soft 100%); 260 - color: #fff; 248 +.trust-strip { 249 + padding: 18px 0; 250 + border-top: 1px solid @line; 251 + background: #fff; 261 261 262 - &::before { 263 - content: ""; 264 - position: absolute; 265 - inset: 0; 266 - background: 267 - linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px), 268 - linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px); 269 - background-size: 52px 52px; 270 - opacity: .38; 271 - pointer-events: none; 272 - } 273 - 274 - .container { 275 - position: relative; 276 - z-index: 1; 277 - } 278 - 279 - .contrast-panel { 280 - max-width: 1040px; 253 + ul { 254 + max-width: 960px; 281 281 margin: 0 auto; 282 - text-align: center; 256 + padding: 0; 257 + list-style: none; 258 + display: flex; 259 + justify-content: center; 260 + gap: 22px; 261 + flex-wrap: wrap; 262 + color: @muted; 263 + font-size: 13px; 283 283 } 284 284 285 - h2 { 286 - max-width: 860px; 287 - margin: 0 auto 12px; 288 - color: #fff; 289 - } 290 - 291 - .section-intro { 292 - max-width: 840px; 293 - margin: 0 auto 26px; 294 - color: #D9E3EE; 295 - } 296 -} 297 - 298 -.contrast-tags { 299 - max-width: 940px; 300 - margin: 0 auto; 301 - display: flex; 302 - flex-wrap: wrap; 303 - justify-content: center; 304 - gap: 10px; 305 - 306 - span { 307 - display: inline-flex; 266 + li { 267 + display: flex; 308 308 align-items: center; 309 - padding: 8px 13px; 310 - border: 1px solid fade(#fff, 18%); 311 - border-radius: 999px; 312 - background: fade(#fff, 8%); 313 - color: #F8FAFC; 314 - font-size: 13px; 315 - font-weight: 700; 316 - line-height: 1.2; 317 - 318 - &::before { 319 - content: ""; 320 - width: 7px; 321 - height: 7px; 322 - margin-right: 8px; 323 - border-radius: 50%; 324 - background: @brand; 325 - box-shadow: 0 0 0 4px fade(@brand, 18%); 326 - } 269 + gap: 7px; 327 327 } 328 -} 329 329 330 -.contrast-support { 331 - max-width: 860px; 332 - margin: 30px auto 0; 333 - color: #D9E3EE; 334 - text-align: center; 335 - font-size: 15px; 336 - line-height: 1.7; 337 -} 338 - 339 -@media (max-width: 640px) { 340 - .contrast-band { 341 - padding: 40px 0; 272 + i { 273 + color: @brand; 342 342 } 343 - 344 - .contrast-tags span { 345 - font-size: 12px; 346 - padding: 8px 11px; 347 - } 348 348 } 349 349 350 350 /* ========== Reusable Grids ========== */ ... ... @@ -394,6 +394,7 @@ 394 394 .pathway-card, 395 395 .service-card, 396 396 .resource-card { 324 + background: #fff; 397 397 border: 1px solid @line; 398 398 border-radius: @radius; 399 399 box-shadow: @shadow-sm; ... ... @@ -589,6 +589,7 @@ 589 589 align-items: flex-start; 590 590 gap: 16px; 591 591 padding: 22px; 520 + background: #fff; 592 592 border: 1px solid @line; 593 593 border-radius: @radius; 594 594 box-shadow: @shadow-sm; ... ... @@ -676,6 +676,7 @@ 676 676 position: relative; 677 677 padding: 16px 16px 16px 58px; 678 678 margin-bottom: 12px; 608 + background: #fff; 679 679 border: 1px solid @line; 680 680 border-radius: @radius; 681 681 box-shadow: @shadow-sm; ... ... @@ -807,8 +807,8 @@ 807 807 808 808 /* ========== CTA ========== */ 809 809 810 - #mainContentArea.cta-section {811 - padding: 44px 0 56px;740 +.cta-section { 741 + padding: @section-padding; 812 812 813 813 .contact-inline { 814 814 margin: 0; ... ... @@ -820,70 +820,27 @@ 820 820 } 821 821 } 822 822 823 -#mainContentArea .cta-panel { 824 - position: relative; 825 - overflow: hidden; 826 - max-width: 1040px; 753 +.cta-panel { 754 + max-width: 860px; 827 827 margin: 0 auto; 828 - padding: 48px40px;829 - border: 0;830 - border -radius:26px;756 + padding: 32px; 757 + border-radius: @radius; 758 + border: 1px solid fade(@brand, 20%); 831 831 background: 832 - radial-gradient(circle at 88% 10%, fade(@brand, 24%) 0%, transparent 30%), 833 - linear-gradient(135deg, @text 0%, @text-soft 100%); 834 - color: #fff; 835 - box-shadow: @shadow; 760 + radial-gradient(34rem 12rem at 50% 0%, @brand-soft 0%, #fff 70%); 761 + box-shadow: @shadow-sm; 836 836 text-align: center; 837 -} 838 838 839 -#mainContentArea .cta-panel::before { 840 - content: ""; 841 - position: absolute; 842 - inset: 0; 843 - background: 844 - linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px), 845 - linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px); 846 - background-size: 48px 48px; 847 - opacity: .4; 848 - pointer-events: none; 849 -} 764 + h2 { 765 + margin-top: 0; 766 + } 850 850 851 -#mainContentArea .cta-panel h2, 852 -#mainContentArea .cta-panel p, 853 -#mainContentArea .cta-panel .btn { 854 - position: relative; 855 - z-index: 1; 768 + p { 769 + color: @muted; 770 + line-height: 1.55; 771 + } 856 856 } 857 857 858 -#mainContentArea .cta-panel h2 { 859 - max-width: 760px; 860 - margin: 0 auto 16px; 861 - color: #fff; 862 -} 863 - 864 -#mainContentArea .cta-panel p { 865 - max-width: 760px; 866 - margin: 0 auto 28px; 867 - color: #DBE4EF; 868 - font-size: 16px; 869 - line-height: 1.6; 870 -} 871 - 872 -#mainContentArea .cta-panel .btn-primary { 873 - border-color: #fff; 874 - background: #fff; 875 - color: @text; 876 - box-shadow: 0 18px 42px rgba(0, 0, 0, .18); 877 -} 878 - 879 -#mainContentArea .cta-panel .btn-primary:hover, 880 -#mainContentArea .cta-panel .btn-primary:focus { 881 - border-color: #fff; 882 - background: #fff; 883 - color: @brand-strong; 884 - text-decoration: none; 885 -} 886 - 887 887 .resource-inline-cta { 888 888 display: flex; 889 889 align-items: center; ... ... @@ -1015,14 +1015,9 @@ 1015 1015 gap: 14px; 1016 1016 } 1017 1017 1018 - #mainContentArea .cta-panel { 1019 - padding: 30px 22px; 1020 - border-radius: 20px; 905 + .cta-panel { 906 + padding: 24px 20px; 1021 1021 } 1022 - 1023 - #mainContentArea .cta-panel .btn-primary { 1024 - width: 100%; 1025 - } 1026 1026 } 1027 1027 1028 1028 /* ========== Resource / Article Pages ========== */ ... ... @@ -1034,6 +1034,9 @@ 1034 1034 .resource-header { 1035 1035 padding: @section-padding; 1036 1036 border-top: none; 919 + background: 920 + radial-gradient(50rem 18rem at 50% -10%, @brand-soft 0%, transparent 60%), 921 + radial-gradient(50rem 18rem at 50% 0%, #E8F6F3 0%, transparent 60%); 1037 1037 1038 1038 h1 { 1039 1039 margin: 0 auto 14px; ... ... @@ -1181,6 +1181,7 @@ 1181 1181 border: 1px solid @line; 1182 1182 border-radius: @radius; 1183 1183 padding: 18px; 1069 + background: #fff; 1184 1184 box-shadow: @shadow-sm; 1185 1185 1186 1186 h4 { ... ... @@ -1270,39 +1270,30 @@ 1270 1270 } 1271 1271 1272 1272 .product-card-grid { 1273 - max-width: 980px;1274 - margin: 2 6px auto 0;1159 + max-width: 840px; 1160 + margin: 22px auto 0; 1275 1275 display: grid; 1276 1276 grid-template-columns: 1fr; 1277 - grid-gap: 22px;1163 + grid-gap: 18px; 1278 1278 } 1279 1279 1280 1280 .product-card { 1281 - position:relative;1167 + background: #fff; 1282 1282 border: 1px solid @line; 1283 1283 border-radius: @radius; 1284 1284 box-shadow: @shadow-sm; 1285 - padding: 32px;1171 + padding: 28px; 1286 1286 display: grid; 1287 - grid-template-columns: 70px 1fr;1288 - grid-gap: 2 4px;1173 + grid-template-columns: 68px 1fr; 1174 + grid-gap: 22px; 1289 1289 align-items: start; 1290 - overflow: hidden; 1291 1291 1292 - &:before { 1293 - content: ""; 1294 - position: absolute; 1295 - inset: 0 auto 0 0; 1296 - width: 5px; 1297 - background: linear-gradient(180deg, @brand 0%, @brand-strong 100%); 1298 - } 1299 - 1300 1300 .product-card-icon { 1301 1301 width: 58px; 1302 1302 height: 58px; 1303 1303 border-radius: 50%; 1304 1304 background: fade(@brand, 10%); 1305 - border: 1px solid fade(@brand, 2 2%);1182 + border: 1px solid fade(@brand, 20%); 1306 1306 color: @brand; 1307 1307 display: flex; 1308 1308 align-items: center; ... ... @@ -1311,15 +1311,11 @@ 1311 1311 flex-shrink: 0; 1312 1312 } 1313 1313 1314 - .product-card-body { 1315 - min-width: 0; 1316 - } 1317 - 1318 1318 h3 { 1319 1319 margin: 0 0 10px; 1320 1320 color: @text; 1321 - font-size: 2 5px;1322 - line-height: 1.2 2;1194 + font-size: 23px; 1195 + line-height: 1.25; 1323 1323 font-weight: 800; 1324 1324 } 1325 1325 ... ... @@ -1328,36 +1328,25 @@ 1328 1328 line-height: 1.6; 1329 1329 } 1330 1330 1331 - .product-card-description { 1332 - max-width: 760px; 1333 - margin: 0 0 14px; 1334 - font-size: 16px; 1204 + .card-link { 1205 + margin: 0; 1206 + 1207 + a { 1208 + font-weight: 700; 1209 + } 1335 1335 } 1336 1336 } 1337 1337 1338 1338 .product-card-kicker { 1339 - display: inline-flex; 1340 - align-items: center; 1341 - gap: 7px; 1342 - width: fit-content; 1343 1343 margin-bottom: 10px; 1344 1344 padding: 5px 10px; 1345 - border: 1px solid fade(@brand, 24%); 1346 - border-radius: 999px; 1347 - background: fade(@brand, 8%); 1348 - color: @brand-strong; 1349 1349 font-size: 12px; 1350 - font-weight: 800; 1351 1351 text-transform: uppercase; 1352 1352 letter-spacing: .04em; 1353 - 1354 - i { 1355 - color: @brand; 1356 - } 1357 1357 } 1358 1358 1359 1359 .product-highlights { 1360 - margin: 14px 0 2 2px;1222 + margin: 14px 0 20px; 1361 1361 padding-left: 18px; 1362 1362 color: @muted; 1363 1363 ... ... @@ -1367,58 +1367,12 @@ 1367 1367 } 1368 1368 } 1369 1369 1370 -.product-card-actions { 1371 - display: flex; 1372 - align-items: center; 1373 - gap: 16px; 1374 - flex-wrap: wrap; 1375 - 1376 - .btn { 1377 - font-weight: 700; 1378 - } 1379 -} 1380 - 1381 -.product-card-contact { 1382 - color: @brand; 1383 - font-weight: 700; 1384 - text-decoration: underline; 1385 - 1386 - &:hover, 1387 - &:focus { 1388 - color: @brand-strong; 1389 - } 1390 -} 1391 - 1392 -@media (max-width: 640px) { 1393 - .product-card { 1394 - grid-template-columns: 1fr; 1395 - padding: 26px 22px; 1396 - text-align: left; 1397 - 1398 - &:before { 1399 - width: 4px; 1400 - } 1401 - 1402 - .product-card-icon { 1403 - margin-bottom: 2px; 1404 - } 1405 - 1406 - h3 { 1407 - font-size: 22px; 1408 - } 1409 - } 1410 - 1411 - .product-card-actions { 1412 - gap: 12px; 1413 - } 1414 -} 1415 - 1416 1416 /* ========== Individual Product Pages ========== */ 1417 1417 1418 1418 .product-layout { 1419 1419 display: grid; 1420 - grid-template-columns: minmax(0,1.12fr)minmax(280px,.88fr);1421 - grid-gap: 3 2px;1236 + grid-template-columns: 1.1fr .9fr; 1237 + grid-gap: 36px; 1422 1422 max-width: 1040px; 1423 1423 margin: 0 auto; 1424 1424 align-items: start; ... ... @@ -1428,6 +1428,7 @@ 1428 1428 .product-info-card, 1429 1429 .product-feature, 1430 1430 .product-gallery-panel { 1247 + background: #fff; 1431 1431 border: 1px solid @line; 1432 1432 border-radius: @radius; 1433 1433 box-shadow: @shadow-sm; ... ... @@ -1434,18 +1434,16 @@ 1434 1434 } 1435 1435 1436 1436 .product-summary-card { 1437 - padding: 2 8px;1254 + padding: 26px; 1438 1438 1439 1439 h2 { 1440 1440 text-align: left; 1441 1441 margin-top: 0; 1442 - margin-bottom: 14px; 1443 - line-height: 1.25; 1444 1444 } 1445 1445 1446 1446 p { 1447 1447 color: @muted; 1448 - line-height: 1.6 2;1263 + line-height: 1.6; 1449 1449 } 1450 1450 1451 1451 p:last-child { ... ... @@ -1454,19 +1454,13 @@ 1454 1454 } 1455 1455 1456 1456 .product-info-card { 1457 - padding: 2 4px;1272 + padding: 22px; 1458 1458 1459 1459 h3 { 1460 1460 margin-top: 0; 1461 1461 margin-bottom: 12px; 1462 - line-height: 1.3; 1463 1463 } 1464 1464 1465 - p { 1466 - color: @muted; 1467 - line-height: 1.55; 1468 - } 1469 - 1470 1470 ul { 1471 1471 margin: 0; 1472 1472 padding-left: 20px; ... ... @@ -1475,31 +1475,22 @@ 1475 1475 1476 1476 li { 1477 1477 margin: 8px 0; 1478 - line-height: 1. 3;1287 + line-height: 1.45; 1479 1479 } 1480 1480 } 1481 1481 1482 -.product-card-note { 1483 - margin: 0 0 14px; 1484 - color: @muted; 1485 - line-height: 1.55; 1486 -} 1487 - 1488 1488 .product-feature-grid { 1489 1489 display: grid; 1490 1490 grid-template-columns: repeat(3, minmax(0, 1fr)); 1491 - grid-gap: 20px;1294 + grid-gap: 18px; 1492 1492 max-width: 1040px; 1493 - margin: 2 4px auto 0;1296 + margin: 22px auto 0; 1494 1494 } 1495 1495 1496 1496 .product-feature { 1497 - padding: 24px; 1498 - min-width: 0; 1499 - min-height: 100%; 1300 + padding: 22px; 1500 1500 1501 - .card-heading, 1502 - .feature-heading { 1302 + .card-heading { 1503 1503 display: flex; 1504 1504 align-items: center; 1505 1505 gap: 14px; ... ... @@ -1529,13 +1529,13 @@ 1529 1529 p { 1530 1530 margin: 0; 1531 1531 color: @muted; 1532 - line-height: 1.5 2;1332 + line-height: 1.5; 1533 1533 } 1534 1534 } 1535 1535 1536 1536 .product-gallery-caption { 1537 - max-width: 8 20px;1538 - margin: 12px auto0;1337 + max-width: 860px; 1338 + margin: 28px auto 12px; 1539 1539 color: @muted; 1540 1540 font-size: 14px; 1541 1541 line-height: 1.5; ... ... @@ -1542,43 +1542,37 @@ 1542 1542 text-align: center; 1543 1543 } 1544 1544 1545 -/* Keep the default XWiki gallery style. 1546 - Only add spacing before it and center it. */ 1547 1547 .gallery.xGallery { 1548 - margin: 25px auto; 1549 - width: 920px; 1550 - height: 518px; 1346 + width: 100%; 1347 + max-width: 860px; 1348 + margin: 0 auto 46px !important; 1349 + border: 1px solid @line; 1350 + border-radius: @radius; 1351 + background: #fff; 1352 + box-shadow: @shadow-sm; 1353 + overflow: hidden; 1354 + clear: both; 1551 1551 } 1552 1552 1553 -.product-section-muted { 1554 - background: 1555 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 65%); 1357 +.gallery.xGallery.loading { 1358 + min-height: 260px; 1556 1556 } 1557 1557 1558 - /* Compact processlist when used inside a product card.*/1559 - .product-summary-card.process-list{1560 - margin-top: 16px;1361 +.gallery.xGallery img { 1362 + border-radius: 12px; 1363 +} 1561 1561 1562 - li{1563 - padding:13px 14px 13px 50px;1564 - margin-bottom:10px;1565 - box-shadow:none;1566 - }1365 +.gallery.xGallery .galleria-container, 1366 +.gallery.xGallery .galleria-stage { 1367 + border-radius: @radius; 1368 + overflow: hidden; 1369 +} 1567 1567 1568 - li:before { 1569 - left: 14px; 1570 - top: 14px; 1571 - width: 24px; 1572 - height: 24px; 1573 - font-size: 12px; 1574 - } 1575 - 1576 - strong { 1577 - margin-bottom: 2px; 1578 - } 1371 +.product-section-muted { 1372 + background: 1373 + radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 65%); 1579 1579 } 1580 1580 1581 -/* Kept for older product pages that still use a screenshot placeholder/panel. */ 1582 1582 .product-gallery-panel { 1583 1583 max-width: 1040px; 1584 1584 margin: 20px auto 0; ... ... @@ -1640,36 +1640,26 @@ 1640 1640 padding: 20px; 1641 1641 } 1642 1642 1643 - .product-feature { 1644 - .card-heading, 1645 - .feature-heading { 1646 - gap: 12px; 1647 - } 1648 - 1649 - .feature-icon { 1650 - width: 42px; 1651 - height: 42px; 1652 - font-size: 16px; 1653 - } 1437 + .product-gallery-caption { 1438 + margin-top: 22px; 1439 + padding: 0 14px; 1654 1654 } 1655 1655 1656 1656 .gallery.xGallery { 1657 - margin-top: 22px !important; 1443 + max-width: calc(100% - 28px); 1444 + margin-bottom: 34px !important; 1445 + border-radius: 12px; 1658 1658 } 1659 1659 1660 - .product-gallery-caption { 1661 - margin-top: 10px; 1662 - padding: 0 14px; 1448 + .gallery.xGallery.loading { 1449 + min-height: 180px; 1663 1663 } 1664 - 1665 - .product-summary-card .process-list li { 1666 - padding-left: 46px; 1667 - } 1668 1668 } 1669 1669 1670 1670 /* ========== Resources Index ========== */ 1671 1671 1672 1672 .resources-index-page { 1456 + background: #fff; 1673 1673 1674 1674 .services-grid { 1675 1675 grid-template-columns: repeat(2, minmax(0, 1fr)); ... ... @@ -1696,330 +1696,1455 @@ 1696 1696 1697 1697 summary { 1698 1698 cursor: pointer; 1699 - font-weight: 700; 1700 - color: @text; 1701 - } 1483 + font-weight: 700;/* ========== Agnease Public Website ========== */ 1702 1702 1703 - p { 1704 - margin: 10px 0 4px; 1705 - color: @muted; 1706 - } 1485 +@brand: #00937D; 1486 +@brand-strong: #007B6A; 1487 +@brand-soft: #E7FFF8; 1488 +@brand-bg: #F4FCFA; 1489 +@text: #2D3A34; 1490 +@muted: #5B6B64; 1491 +@line: #E4ECE9; 1492 +@radius: 16px; 1493 +@shadow-sm: 0 6px 20px rgba(0, 0, 0, .06); 1494 +@shadow: 0 12px 36px rgba(0, 0, 0, .08); 1495 +@maxw: 1140px; 1496 + 1497 +@section-padding: 30px 0; 1498 +@section-padding-mobile: 28px 0; 1499 + 1500 +/* ========== Base ========== */ 1501 + 1502 +#mainContentArea { 1503 + padding: 0; 1707 1707 } 1708 1708 1709 -/* ========== Global Theme Background ========== */ 1506 +.container { 1507 + max-width: @maxw; 1508 + margin-left: auto; 1509 + margin-right: auto; 1510 + padding-left: 18px; 1511 + padding-right: 18px; 1512 +} 1710 1710 1711 -html, 1712 -body { 1713 - min-height: 100%; 1514 +html { 1515 + scroll-behavior: smooth; 1714 1714 } 1715 1715 1716 -body { 1518 +section { 1519 + padding: @section-padding; 1520 + border-top: 1px solid @line; 1521 + 1522 + &:first-of-type { 1523 + border-top: none; 1524 + } 1525 +} 1526 + 1527 +section[id] { 1528 + scroll-margin-top: 92px; 1529 +} 1530 + 1531 +h1, 1532 +h2, 1533 +h3, 1534 +h4 { 1717 1717 color: @text; 1718 - background: 1719 - radial-gradient(circle at 12% 8%, rgba(0, 147, 125, 0.08) 0, transparent 26%), 1720 - radial-gradient(circle at 90% 28%, rgba(7, 24, 45, 0.05) 0, transparent 30%), 1721 - linear-gradient(180deg, #fff 0, @brand-bg 42%, #fff 100%) !important; 1722 - background-attachment: fixed; 1723 1723 } 1724 1724 1725 -/* Let the body background show through the XWiki wrappers. 1726 -#mainContentArea, 1727 -.resource-page, 1728 -.resources-index-page { 1729 - background: transparent !important; 1730 - background-image: none !important; 1538 +h2 { 1539 + text-align: center; 1540 + margin-top: 0; 1731 1731 } 1732 -*/ 1733 -/* Remove local decorative backgrounds that compete with the global gradient. 1734 -.hero, 1735 -.hero.hero-centered, 1736 -.trust-strip, 1737 -.industry-trust-section, 1738 -.split-section, 1739 -.resource-strip, 1740 -.homepage-resource-strip, 1741 -.resource-header, 1742 -.product-section-muted, 1743 -.resources-index-page { 1744 - background: transparent !important; 1745 - background-image: none !important; 1542 + 1543 +.lead { 1544 + color: @muted; 1545 + text-align: center; 1546 + margin-bottom: 0; 1746 1746 } 1747 - */ 1748 -/* Keep large panels readable, but remove their inner gradients. 1749 -.industry-trust-section .industry-trust-panel, 1750 -.cta-panel, 1751 -.resource-inline-cta, 1752 -.resource-note, 1753 -.resource-cta { 1754 - background: #fff !important; 1755 - background-image: none !important; 1756 -} */ 1757 1757 1758 -/* ========== Main Page Hero / SaaS Layout ========== */ 1549 +.section-intro { 1550 + max-width: 760px; 1551 + margin: 0 auto 22px; 1552 + text-align: center; 1553 + color: @muted; 1554 + font-size: 16px; 1555 + line-height: 1.55; 1556 +} 1759 1759 1760 -#mainContentArea .hero.hero-saas { 1761 - min-height: auto; 1762 - padding: 60px 0 34px; 1558 +a { 1559 + color: @brand; 1560 + 1561 + &:hover, 1562 + &:focus { 1563 + color: @brand-strong; 1564 + } 1565 +} 1566 + 1567 +/* ========== Header / Navigation ========== */ 1568 + 1569 +.site-header { 1570 + position: sticky; 1571 + top: 0; 1572 + z-index: 1000; 1573 + background: fade(#fff, 96%); 1574 + border-bottom: 1px solid fade(@line, 85%); 1575 + backdrop-filter: blur(8px); 1576 +} 1577 + 1578 +.header-inner { 1579 + min-height: 72px; 1763 1763 display: flex; 1764 1764 align-items: center; 1765 - overflow:hidden;1766 - background:transparent;1582 + justify-content: space-between; 1583 + gap: 24px; 1767 1767 } 1768 1768 1769 -#mainContentArea .hero-layout { 1770 - max-width: 1120px; 1771 - margin: 0 auto; 1772 - display: grid; 1773 - grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); 1774 - gap: 56px; 1586 +.site-nav { 1587 + display: flex; 1775 1775 align-items: center; 1589 + gap: 22px; 1590 + font-size: 15px; 1591 + 1592 + a { 1593 + color: @text; 1594 + text-decoration: none; 1595 + font-weight: 600; 1596 + 1597 + &:hover, 1598 + &:focus { 1599 + color: @brand; 1600 + text-decoration: none; 1601 + } 1602 + } 1603 + 1604 + .nav-cta { 1605 + color: #fff; 1606 + background: @brand; 1607 + border: 1px solid @brand; 1608 + border-radius: 6px; 1609 + padding: 8px 14px; 1610 + 1611 + &:hover, 1612 + &:focus { 1613 + color: #fff; 1614 + background: @brand-strong; 1615 + border-color: @brand-strong; 1616 + } 1617 + } 1776 1776 } 1777 1777 1778 -#mainContentArea .hero-copy { 1779 - min-width: 0; 1780 - text-align: left; 1620 +/* ========== Buttons ========== */ 1621 + 1622 +.btn-primary { 1623 + background: @brand; 1624 + border-color: @brand; 1625 + color: #fff; 1626 + 1627 + &:hover, 1628 + &:focus { 1629 + background: @brand-strong; 1630 + border-color: @brand-strong; 1631 + color: #fff; 1632 + } 1781 1781 } 1782 1782 1783 -#mainContentArea .hero.hero-saas h1 { 1784 - max-width: 640px; 1785 - margin: 0 0 26px; 1786 - font-size: 60px; 1787 - font-weight: 800; 1788 - line-height: 1; 1789 - letter-spacing: -3px; 1635 +.btn-secondary { 1636 + color: @brand; 1637 + background: #fff; 1638 + border: 1px solid fade(@brand, 35%); 1639 + 1640 + &:hover, 1641 + &:focus { 1642 + color: @brand-strong; 1643 + border-color: @brand; 1644 + background: @brand-bg; 1645 + } 1790 1790 } 1791 1791 1792 -#mainContentArea .hero.hero-saas h1 span { 1648 +/* ========== Hero ========== */ 1649 + 1650 +.hero { 1651 + overflow: hidden; 1652 + background-repeat: no-repeat; 1653 + background-attachment: scroll; 1654 + 1655 + &.hero-centered { 1656 + text-align: center; 1657 + background: 1658 + radial-gradient(50rem 18rem at 50% -10%, @brand-soft 0%, transparent 60%), 1659 + radial-gradient(50rem 18rem at 50% 0%, #E8F6F3 0%, transparent 60%); 1660 + display: flex; 1661 + align-items: center; 1662 + justify-content: center; 1663 + min-height: 330px; 1664 + } 1665 + 1666 + .hero-inner { 1667 + max-width: 860px; 1668 + margin: 0 auto; 1669 + display: flex; 1670 + flex-direction: column; 1671 + align-items: center; 1672 + } 1673 + 1674 + h1 { 1675 + max-width: 790px; 1676 + margin-left: auto; 1677 + margin-right: auto; 1678 + line-height: 1.18; 1679 + } 1680 + 1681 + .lead { 1682 + max-width: 820px; 1683 + font-size: 19px; 1684 + line-height: 1.55; 1685 + margin-top: 12px; 1686 + } 1687 + 1688 + .benefits { 1689 + display: flex; 1690 + flex-wrap: wrap; 1691 + justify-content: center; 1692 + list-style: none; 1693 + padding: 0; 1694 + margin: 14px 0 0; 1695 + color: @muted; 1696 + font-size: 14px; 1697 + 1698 + li + li::before { 1699 + content: "•"; 1700 + margin: 0 6px; 1701 + } 1702 + } 1703 +} 1704 + 1705 +.hero-kicker { 1706 + display: inline-flex; 1707 + align-items: center; 1708 + gap: 8px; 1793 1793 color: @brand; 1710 + background: fade(@brand, 8%); 1711 + border: 1px solid fade(@brand, 18%); 1712 + border-radius: 999px; 1713 + padding: 6px 12px; 1714 + margin-bottom: 14px; 1715 + font-size: 13px; 1716 + font-weight: 700; 1794 1794 } 1795 1795 1796 - #mainContentArea.hero.hero-saas.lead {1797 - max-width:590px;1798 - margin:0 0 28px;1799 - color:#334155;1800 - text-align:left;1801 - font -size:18px;1802 - line-height:1.6;1719 +.hero-actions, 1720 +#hero-cta { 1721 + display: flex; 1722 + gap: 12px; 1723 + flex-wrap: wrap; 1724 + justify-content: center; 1725 + margin-top: 22px; 1803 1803 } 1804 1804 1805 -#mainContentArea .hero.hero-saas .benefits { 1806 - max-width: 620px; 1807 - margin: 0 0 30px; 1808 - padding: 0; 1728 +/* ========== Trust Strip ========== */ 1729 + 1730 +.trust-strip { 1731 + padding: 18px 0; 1732 + border-top: 1px solid @line; 1733 + background: #fff; 1734 + 1735 + ul { 1736 + max-width: 960px; 1737 + margin: 0 auto; 1738 + padding: 0; 1739 + list-style: none; 1740 + display: flex; 1741 + justify-content: center; 1742 + gap: 22px; 1743 + flex-wrap: wrap; 1744 + color: @muted; 1745 + font-size: 13px; 1746 + } 1747 + 1748 + li { 1749 + display: flex; 1750 + align-items: center; 1751 + gap: 7px; 1752 + } 1753 + 1754 + i { 1755 + color: @brand; 1756 + } 1757 +} 1758 + 1759 +/* ========== Reusable Grids ========== */ 1760 + 1761 +.card-grid, 1762 +.pathways, 1763 +.services-grid, 1764 +.resource-grid, 1765 +.widgets { 1809 1809 display: grid; 1767 + grid-gap: 18px; 1768 + margin-left: auto; 1769 + margin-right: auto; 1770 +} 1771 + 1772 +.card-grid, 1773 +.pathways, 1774 +.services-grid { 1775 + grid-template-columns: repeat(3, minmax(0, 1fr)); 1776 + max-width: 1040px; 1777 + margin-top: 22px; 1778 +} 1779 + 1780 +.resource-grid { 1810 1810 grid-template-columns: repeat(2, minmax(0, 1fr)); 1811 - gap: 10px 24px; 1812 - list-style: none; 1813 - color: #475569; 1814 - font-size: 15px; 1815 - text-align: left; 1782 + max-width: 1040px; 1783 + margin-top: 22px; 1816 1816 } 1817 1817 1818 -#mainContentArea .hero.hero-saas .benefits li { 1786 +.widgets { 1787 + grid-template-columns: repeat(4, minmax(0, 1fr)); 1788 + max-width: 1040px; 1789 + margin-top: 20px; 1790 +} 1791 + 1792 +.card-grid > *, 1793 +.pathways > *, 1794 +.services-grid > *, 1795 +.resource-grid > *, 1796 +.widgets > * { 1797 + min-width: 0; 1798 +} 1799 + 1800 +/* ========== Shared Card Style ========== */ 1801 + 1802 +.widget, 1803 +.pathway-card, 1804 +.service-card, 1805 +.resource-card { 1806 + background: #fff; 1807 + border: 1px solid @line; 1808 + border-radius: @radius; 1809 + box-shadow: @shadow-sm; 1810 +} 1811 + 1812 +/* ========== Small Widgets ========== */ 1813 + 1814 +.widget { 1815 + padding: 18px; 1816 + display: flex; 1817 + flex-direction: column; 1818 + height: 100%; 1819 + 1820 + .icon { 1821 + display: flex; 1822 + align-items: center; 1823 + gap: 10px; 1824 + padding-bottom: 8px; 1825 + margin-bottom: 10px; 1826 + border-bottom: 1px solid fade(@line, 70%); 1827 + 1828 + i { 1829 + color: @brand; 1830 + } 1831 + 1832 + h4 { 1833 + margin: 0; 1834 + line-height: 1.25; 1835 + color: @text; 1836 + } 1837 + } 1838 + 1839 + p { 1840 + margin: 0; 1841 + color: @muted; 1842 + line-height: 1.45; 1843 + } 1844 +} 1845 + 1846 +/* ========== Homepage Pathway Cards ========== */ 1847 + 1848 +.pathway-card { 1849 + padding: 24px; 1850 + display: flex; 1851 + flex-direction: column; 1852 + min-height: 100%; 1853 + 1854 + .card-heading { 1855 + display: flex; 1856 + align-items: center; 1857 + gap: 14px; 1858 + margin-bottom: 14px; 1859 + } 1860 + 1861 + .pathway-icon { 1862 + width: 52px; 1863 + height: 52px; 1864 + border-radius: 50%; 1865 + display: flex; 1866 + align-items: center; 1867 + justify-content: center; 1868 + color: @brand; 1869 + background: fade(@brand, 10%); 1870 + font-size: 19px; 1871 + flex-shrink: 0; 1872 + } 1873 + 1874 + h3 { 1875 + margin: 0; 1876 + color: @text; 1877 + font-size: 22px; 1878 + line-height: 1.25; 1879 + } 1880 + 1881 + p { 1882 + color: @muted; 1883 + line-height: 1.55; 1884 + margin: 0 0 16px; 1885 + } 1886 + 1887 + ul { 1888 + margin: 0 0 22px; 1889 + padding-left: 18px; 1890 + color: @muted; 1891 + font-size: 14px; 1892 + line-height: 1.55; 1893 + } 1894 + 1895 + li { 1896 + margin: 6px 0; 1897 + } 1898 + 1899 + .card-link { 1900 + margin-top: auto; 1901 + padding-top: 4px; 1902 + 1903 + a { 1904 + color: @brand; 1905 + font-weight: 700; 1906 + text-decoration: underline; 1907 + 1908 + &:hover, 1909 + &:focus { 1910 + color: @brand-strong; 1911 + } 1912 + } 1913 + } 1914 +} 1915 + 1916 +.industry-trust-section { 1917 + background: 1918 + radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 70%); 1919 + 1920 + .industry-trust-panel { 1921 + max-width: 1040px; 1922 + margin: 0 auto; 1923 + padding: 30px 28px; 1924 + border: 1px solid fade(@brand, 16%); 1925 + border-radius: @radius; 1926 + background: 1927 + radial-gradient(34rem 12rem at 50% 0%, fade(@brand-soft, 75%) 0%, #fff 72%); 1928 + box-shadow: @shadow-sm; 1929 + text-align: center; 1930 + } 1931 + 1932 + h2 { 1933 + margin-bottom: 12px; 1934 + } 1935 + 1936 + .section-intro { 1937 + margin-bottom: 20px; 1938 + max-width: 820px; 1939 + } 1940 + 1941 + .industry-tags { 1942 + max-width: 880px; 1943 + margin: 0 auto; 1944 + display: flex; 1945 + flex-wrap: wrap; 1946 + justify-content: center; 1947 + gap: 10px; 1948 + } 1949 + 1950 + .industry-tags span { 1951 + display: inline-flex; 1952 + align-items: center; 1953 + padding: 7px 12px; 1954 + border: 1px solid fade(@brand, 20%); 1955 + border-radius: 999px; 1956 + background: #fff; 1957 + color: @text; 1958 + font-size: 13px; 1959 + font-weight: 600; 1960 + line-height: 1.2; 1961 + box-shadow: 0 3px 10px rgba(0, 0, 0, .04); 1962 + } 1963 + 1964 + .industry-support { 1965 + max-width: 820px; 1966 + margin: 22px auto 0; 1967 + color: @muted; 1968 + font-size: 16px; 1969 + line-height: 1.6; 1970 + } 1971 +} 1972 + 1973 +@media (max-width: 640px) { 1974 + .industry-trust-section { 1975 + .industry-trust-panel { 1976 + padding: 24px 18px; 1977 + } 1978 + 1979 + .industry-tags { 1980 + gap: 8px; 1981 + } 1982 + 1983 + .industry-tags span { 1984 + font-size: 12px; 1985 + padding: 6px 10px; 1986 + } 1987 + } 1988 +} 1989 + 1990 +/* ========== Services ========== */ 1991 + 1992 +.services { 1993 + .services-grid { 1994 + max-width: 1040px; 1995 + } 1996 + 1997 + .service { 1998 + display: flex; 1999 + align-items: flex-start; 2000 + gap: 16px; 2001 + padding: 22px; 2002 + background: #fff; 2003 + border: 1px solid @line; 2004 + border-radius: @radius; 2005 + box-shadow: @shadow-sm; 2006 + 2007 + .service-icon { 2008 + width: 46px; 2009 + height: 46px; 2010 + border-radius: 50%; 2011 + display: flex; 2012 + align-items: center; 2013 + justify-content: center; 2014 + font-size: 18px; 2015 + color: @brand; 2016 + background: fade(@brand, 10%); 2017 + flex-shrink: 0; 2018 + margin-top: 2px; 2019 + } 2020 + 2021 + .service-body { 2022 + h4 { 2023 + margin: 0 0 6px; 2024 + font-size: 18px; 2025 + line-height: 1.25; 2026 + font-weight: 800; 2027 + color: @text; 2028 + } 2029 + 2030 + p { 2031 + margin: 0 0 8px; 2032 + color: @muted; 2033 + line-height: 1.5; 2034 + } 2035 + 2036 + ul { 2037 + margin: 9px 0 0; 2038 + padding-left: 18px; 2039 + color: @muted; 2040 + font-size: 13px; 2041 + line-height: 1.5; 2042 + } 2043 + 2044 + li { 2045 + margin: 4px 0; 2046 + } 2047 + } 2048 + } 2049 +} 2050 + 2051 +/* ========== Split / Process Section ========== */ 2052 + 2053 +.split-section { 2054 + background: 2055 + radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 65%); 2056 +} 2057 + 2058 +.split-grid { 1819 1819 display: grid; 1820 - grid-template-columns: 1 8px minmax(0,1fr);1821 - column-gap:8px;1822 - a lign-items:start;1823 - margin: 0; 1824 - lin e-height:1.45;2060 + grid-template-columns: 1.1fr .9fr; 2061 + grid-gap: 36px; 2062 + max-width: 1040px; 2063 + margin: 0 auto; 2064 + align-items: center; 1825 1825 } 1826 1826 1827 -#mainContentArea .hero.hero-saas .benefits li::before { 1828 - content: "✓"; 1829 - display: block; 1830 - width: 18px; 1831 - color: @brand; 1832 - font-weight: 900; 1833 - line-height: 1.45; 1834 - text-align: left; 2067 +.split-copy { 2068 + h2 { 2069 + text-align: left; 2070 + margin-top: 0; 2071 + } 2072 + 2073 + p { 2074 + color: @muted; 2075 + line-height: 1.6; 2076 + } 2077 +} 2078 + 2079 +.process-list { 2080 + counter-reset: process; 1835 1835 margin: 0; 2082 + padding: 0; 2083 + list-style: none; 2084 + 2085 + li { 2086 + counter-increment: process; 2087 + position: relative; 2088 + padding: 16px 16px 16px 58px; 2089 + margin-bottom: 12px; 2090 + background: #fff; 2091 + border: 1px solid @line; 2092 + border-radius: @radius; 2093 + box-shadow: @shadow-sm; 2094 + color: @muted; 2095 + line-height: 1.5; 2096 + 2097 + &:before { 2098 + content: counter(process); 2099 + position: absolute; 2100 + left: 16px; 2101 + top: 16px; 2102 + width: 28px; 2103 + height: 28px; 2104 + border-radius: 50%; 2105 + background: fade(@brand, 10%); 2106 + color: @brand; 2107 + display: flex; 2108 + align-items: center; 2109 + justify-content: center; 2110 + font-weight: 800; 2111 + } 2112 + 2113 + strong { 2114 + display: block; 2115 + color: @text; 2116 + margin-bottom: 3px; 2117 + } 2118 + } 1836 1836 } 1837 1837 1838 -#mainContentArea .hero.hero-saas .hero-actions, 1839 -#mainContentArea .hero.hero-saas #hero-cta { 1840 - display: flex; 1841 - flex-wrap: wrap; 1842 - justify-content: flex-start; 1843 - gap: 12px; 1844 - margin-top: 0; 2121 +/* ========== Resources ========== */ 2122 + 2123 +.resource-strip { 2124 + background: @brand-bg; 1845 1845 } 1846 1846 1847 -#mainContentArea .hero-image-wrapper { 1848 - min-width: 0; 2127 +.resource-card { 2128 + padding: 20px; 2129 + 2130 + h4 { 2131 + margin: 0 0 8px; 2132 + color: @text; 2133 + font-size: 18px; 2134 + line-height: 1.25; 2135 + } 2136 + 2137 + p { 2138 + color: @muted; 2139 + margin: 0 0 12px; 2140 + line-height: 1.5; 2141 + } 2142 + 2143 + a { 2144 + color: @brand; 2145 + font-weight: 700; 2146 + } 2147 +} 2148 + 2149 +/* ========== Homepage Resource Strip ========== */ 2150 + 2151 +.homepage-resource-strip { 2152 + background: 2153 + radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 70%); 2154 + 2155 + .resource-grid { 2156 + max-width: 1040px; 2157 + margin: 22px auto 0; 2158 + display: grid; 2159 + grid-template-columns: repeat(2, minmax(0, 1fr)); 2160 + grid-gap: 22px; 2161 + align-items: stretch; 2162 + } 2163 + 2164 + .resource-card { 2165 + display: flex; 2166 + flex-direction: column; 2167 + min-width: 0; 2168 + min-height: 100%; 2169 + padding: 26px; 2170 + } 2171 + 2172 + .resource-card h4 { 2173 + margin: 0 0 10px; 2174 + color: @text; 2175 + font-size: 21px; 2176 + line-height: 1.25; 2177 + font-weight: 700; 2178 + } 2179 + 2180 + .resource-card p { 2181 + margin: 0 0 18px; 2182 + color: @muted; 2183 + font-size: 15px; 2184 + line-height: 1.6; 2185 + } 2186 + 2187 + .resource-card a { 2188 + margin-top: auto; 2189 + color: @brand; 2190 + font-weight: 700; 2191 + text-decoration: underline; 2192 + 2193 + &:hover, 2194 + &:focus { 2195 + color: @brand-strong; 2196 + } 2197 + } 2198 +} 2199 + 2200 +@media (max-width: 980px) { 2201 + .homepage-resource-strip { 2202 + .resource-grid { 2203 + grid-template-columns: 1fr; 2204 + } 2205 + } 2206 +} 2207 + 2208 +@media (max-width: 640px) { 2209 + .homepage-resource-strip { 2210 + .resource-card { 2211 + padding: 22px; 2212 + } 2213 + 2214 + .resource-card h4 { 2215 + font-size: 19px; 2216 + } 2217 + } 2218 +} 2219 + 2220 +/* ========== CTA ========== */ 2221 + 2222 +.cta-section { 2223 + padding: @section-padding; 2224 + 2225 + .contact-inline { 2226 + margin: 0; 2227 + color: @muted; 2228 + 2229 + a { 2230 + color: @brand; 2231 + } 2232 + } 2233 +} 2234 + 2235 +.cta-panel { 2236 + max-width: 860px; 2237 + margin: 0 auto; 2238 + padding: 32px; 2239 + border-radius: @radius; 2240 + border: 1px solid fade(@brand, 20%); 2241 + background: 2242 + radial-gradient(34rem 12rem at 50% 0%, @brand-soft 0%, #fff 70%); 2243 + box-shadow: @shadow-sm; 2244 + text-align: center; 2245 + 2246 + h2 { 2247 + margin-top: 0; 2248 + } 2249 + 2250 + p { 2251 + color: @muted; 2252 + line-height: 1.55; 2253 + } 2254 +} 2255 + 2256 +.resource-inline-cta { 1849 1849 display: flex; 1850 - justify-content: center; 1851 1851 align-items: center; 2259 + justify-content: space-between; 2260 + gap: 22px; 2261 + margin: 30px 0; 2262 + padding: 20px 22px; 2263 + border: 1px solid fade(@brand, 22%); 2264 + border-radius: @radius; 2265 + background: @brand-bg; 2266 + box-shadow: @shadow-sm; 2267 + 2268 + p { 2269 + margin: 0; 2270 + color: @muted; 2271 + line-height: 1.55; 2272 + } 2273 + 2274 + strong { 2275 + color: @text; 2276 + } 2277 + 2278 + .btn { 2279 + flex-shrink: 0; 2280 + } 1852 1852 } 1853 1853 1854 -#mainContentArea .hero-image { 1855 - display: block; 1856 - width: 100%; 1857 - max-width: 620px; 1858 - height: auto; 1859 - border: 0; 2283 +@media (max-width: 767px) { 2284 + .resource-inline-cta { 2285 + display: block; 2286 + text-align: center; 2287 + 2288 + p { 2289 + margin-bottom: 14px; 2290 + } 2291 + 2292 + .btn { 2293 + display: inline-block; 2294 + margin-left: auto; 2295 + margin-right: auto; 2296 + } 2297 + } 1860 1860 } 1861 1861 1862 -/* ========== Main Page HeroResponsive ========== */2300 +/* ========== Responsive ========== */ 1863 1863 1864 -@media (max-width: 1100px) { 1865 - #mainContentArea .hero-layout { 1866 - max-width: 760px; 2302 +@media (max-width: 980px) { 2303 + .widgets, 2304 + .pathways, 2305 + .services-grid, 2306 + .resource-grid { 2307 + grid-template-columns: repeat(2, minmax(0, 1fr)); 2308 + } 2309 + 2310 + .split-grid { 1867 1867 grid-template-columns: 1fr; 1868 - gap: 34px; 1869 1869 } 1870 1870 1871 - #mainContentArea .hero-copy { 1872 - order: 1; 2314 + .split-copy h2 { 1873 1873 text-align: center; 1874 1874 } 2317 +} 1875 1875 1876 - #mainContentArea .hero-image-wrapper { 1877 - order: 2; 2319 +@media (max-width: 760px) { 2320 + section[id] { 2321 + scroll-margin-top: 132px; 1878 1878 } 1879 1879 1880 - #mainContentArea .hero.hero-saas h1 { 1881 - margin-left: auto; 1882 - margin-right: auto; 2324 + .header-inner { 2325 + min-height: auto; 2326 + padding-top: 14px; 2327 + padding-bottom: 14px; 2328 + flex-direction: column; 2329 + align-items: center; 2330 + gap: 12px; 2331 + } 2332 + 2333 + .site-nav { 2334 + width: 100%; 2335 + justify-content: center; 2336 + flex-wrap: wrap; 2337 + gap: 10px 16px; 2338 + font-size: 14px; 2339 + 2340 + .nav-cta { 2341 + padding: 7px 12px; 2342 + } 2343 + } 2344 + 2345 + .hero.hero-centered { 2346 + min-height: 280px; 2347 + } 2348 + 2349 + .hero { 2350 + .lead { 2351 + font-size: 17px; 2352 + } 2353 + 2354 + .benefits { 2355 + gap: 4px 10px; 2356 + 2357 + li + li::before { 2358 + content: none; 2359 + } 2360 + } 2361 + } 2362 +} 2363 + 2364 +@media (max-width: 640px) { 2365 + section { 2366 + padding: @section-padding-mobile; 2367 + } 2368 + 2369 + .widgets, 2370 + .pathways, 2371 + .services-grid, 2372 + .resource-grid { 2373 + grid-template-columns: 1fr; 2374 + } 2375 + 2376 + .pathway-card, 2377 + .services .service, 2378 + .resource-card, 2379 + .widget { 2380 + padding: 20px; 2381 + } 2382 + 2383 + .services .service { 2384 + gap: 14px; 2385 + } 2386 + 2387 + .cta-panel { 2388 + padding: 24px 20px; 2389 + } 2390 +} 2391 + 2392 +/* ========== Resource / Article Pages ========== */ 2393 + 2394 +.resource-page { 2395 + padding-top: 0; 2396 +} 2397 + 2398 +.resource-header { 2399 + padding: @section-padding; 2400 + border-top: none; 2401 + background: 2402 + radial-gradient(50rem 18rem at 50% -10%, @brand-soft 0%, transparent 60%), 2403 + radial-gradient(50rem 18rem at 50% 0%, #E8F6F3 0%, transparent 60%); 2404 + 2405 + h1 { 2406 + margin: 0 auto 14px; 1883 1883 text-align: center; 2408 + line-height: 1.18; 1884 1884 } 1885 1885 1886 - #mainContentArea .hero.hero-saas .lead { 1887 - margin-left: auto; 1888 - margin-right: auto; 2411 + .resource-summary { 2412 + max-width: 780px; 2413 + margin: 0 auto; 2414 + color: @muted; 1889 1889 text-align: center; 2416 + font-size: 18px; 2417 + line-height: 1.55; 1890 1890 } 2419 +} 1891 1891 1892 - #mainContentArea .hero.hero-saas .benefits { 1893 - margin-left: auto; 1894 - margin-right: auto; 2421 +.resource-layout { 2422 + display: block; 2423 + max-width: 1080px; 2424 + margin: 0 auto; 2425 + padding-top: 28px; 2426 +} 2427 + 2428 +.resource-layout::after { 2429 + content: ""; 2430 + display: block; 2431 + clear: both; 2432 +} 2433 + 2434 +.resource-content { 2435 + color: @text; 2436 + font-size: 16px; 2437 + line-height: 1.68; 2438 + 2439 + h2 { 2440 + text-align: left; 2441 + margin: 34px 0 12px; 2442 + line-height: 1.28; 1895 1895 } 1896 1896 1897 - #mainContentArea .hero.hero-saas.hero-actions,1898 - #mainContentArea.hero.hero-saas#hero-cta{1899 - justify-content:center;2445 + h3 { 2446 + margin: 24px 0 8px; 2447 + line-height: 1.3; 1900 1900 } 1901 1901 1902 - #mainContentArea.hero-image{1903 - ma x-width:620px;2450 + p { 2451 + margin: 0 0 16px; 1904 1904 } 2453 + 2454 + ul, 2455 + ol { 2456 + margin: 0 0 18px; 2457 + padding-left: 22px; 2458 + } 2459 + 2460 + li { 2461 + margin: 6px 0; 2462 + } 2463 + 2464 + strong { 2465 + color: @text; 2466 + } 1905 1905 } 1906 1906 1907 -@media (max-width: 640px) { 1908 - #mainContentArea .hero.hero-saas { 1909 - padding: 42px 0 28px; 2469 +.resource-note { 2470 + border-left: 4px solid @brand; 2471 + background: @brand-bg; 2472 + padding: 16px 18px; 2473 + margin: 22px 0; 2474 + border-radius: 0 @radius @radius 0; 2475 + 2476 + p:last-child { 2477 + margin-bottom: 0; 1910 1910 } 2479 +} 1911 1911 1912 - #mainContentArea .hero-layout { 1913 - gap: 28px; 2481 +.resource-note.related-resources { 2482 + p { 2483 + margin-bottom: 10px; 1914 1914 } 1915 1915 1916 - #mainContentArea.hero.hero-saas h1{1917 - font-size:42px;1918 - letter-spacing:-1.5px;2486 + ul { 2487 + margin: 0; 2488 + padding-left: 20px; 1919 1919 } 1920 1920 1921 - #mainContentArea .hero.hero-saas .lead { 1922 - font-size: 17px; 2491 + li { 2492 + margin: 6px 0; 2493 + color: @muted; 1923 1923 } 2495 +} 1924 1924 1925 - #mainContentArea .hero.hero-saas .benefits { 1926 - grid-template-columns: 1fr; 2497 +.resource-faq-item { 2498 + display: flow-root; 2499 + border-bottom: 1px solid @line; 2500 + padding: 12px 0; 2501 + 2502 + summary { 2503 + cursor: pointer; 2504 + font-weight: 700; 2505 + color: @text; 2506 + line-height: 1.4; 1927 1927 } 1928 1928 1929 - #mainContentArea .hero-image { 1930 - max-width: 100%; 2509 + summary:hover, 2510 + summary:focus { 2511 + color: @brand-strong; 1931 1931 } 2513 + 2514 + p { 2515 + margin: 10px 0 4px; 2516 + color: @muted; 2517 + } 1932 1932 } 1933 1933 1934 -/* ========== Accessibility / Contrast Improvements ========== */ 2520 +.resource-checklist { 2521 + margin: 18px 0 24px; 2522 + padding: 0; 2523 + list-style: none; 1935 1935 1936 -/* Make the global background softer and less distracting. */ 1937 -body { 1938 - background: 1939 - radial-gradient(circle at 12% 8%, rgba(0, 147, 125, 0.035) 0, transparent 26%), 1940 - radial-gradient(circle at 90% 28%, rgba(7, 24, 45, 0.025) 0, transparent 30%), 1941 - linear-gradient(180deg, #fff 0, @brand-bg 42%, #fff 100%) !important; 1942 - background-attachment: scroll; 2525 + li { 2526 + position: relative; 2527 + padding: 10px 0 10px 34px; 2528 + border-bottom: 1px solid @line; 2529 + 2530 + &:before { 2531 + content: "\f00c"; 2532 + font-family: FontAwesome; 2533 + position: absolute; 2534 + left: 0; 2535 + top: 11px; 2536 + color: @brand; 2537 + } 2538 + } 1943 1943 } 1944 1944 1945 -/* Keep the article area readable while preserving the page background around it. */ 1946 -#mainContentArea .resource-layout { 1947 - padding: 28px; 1948 - border: 1px solid fade(@line, 85%); 2541 +.resource-sidebar { 2542 + float: right; 2543 + width: 280px; 2544 + margin-left: 42px; 2545 + margin-bottom: 28px; 2546 + position: sticky; 2547 + top: 96px; 2548 + border: 1px solid @line; 1949 1949 border-radius: @radius; 1950 - background: rgba(255, 255, 255, .88); 2550 + padding: 18px; 2551 + background: #fff; 1951 1951 box-shadow: @shadow-sm; 2553 + 2554 + h4 { 2555 + margin: 0 0 10px; 2556 + } 2557 + 2558 + ul { 2559 + margin: 0; 2560 + padding-left: 18px; 2561 + color: @muted; 2562 + } 2563 + 2564 + li { 2565 + margin: 8px 0; 2566 + } 2567 + 2568 + a { 2569 + color: @brand; 2570 + font-weight: 600; 2571 + } 1952 1952 } 1953 1953 1954 -/* Ensure all reusable cards have a real surface, not transparent over the gradient. */ 1955 -#mainContentArea .widget, 1956 -#mainContentArea .pathway-card, 1957 -#mainContentArea .service-card, 1958 -#mainContentArea .resource-card, 1959 -#mainContentArea .services .service, 1960 -#mainContentArea .product-card, 1961 -#mainContentArea .product-feature, 1962 -#mainContentArea .product-summary-card, 1963 -#mainContentArea .product-info-card { 1964 - background: #fff; 2574 +.resource-cta { 2575 + display: flex; 2576 + flex-direction: column; 2577 + align-items: center; 2578 + text-align: center; 2579 + 2580 + max-width: 820px; 2581 + margin: 42px auto 0; 2582 + padding: 28px 30px; 2583 + border: 1px solid fade(@brand, 20%); 2584 + border-radius: @radius; 2585 + background: @brand-bg; 2586 + 2587 + h3 { 2588 + margin-top: 0; 2589 + margin-bottom: 10px; 2590 + } 2591 + 2592 + p { 2593 + max-width: 680px; 2594 + margin-left: auto; 2595 + margin-right: auto; 2596 + color: @muted; 2597 + } 2598 + 2599 + .btn { 2600 + margin-top: 8px; 2601 + } 1965 1965 } 1966 1966 1967 -/* Make notes more readable and visually stronger. */ 1968 -#mainContentArea .resource-note { 1969 - border: 1px solid fade(@brand, 18%); 1970 - border-left: 4px solid @brand; 1971 - background: #fff; 1972 - box-shadow: 0 10px 28px rgba(15, 23, 42, .045); 2604 +.resource-note, 2605 +.resource-checklist, 2606 +.resource-cta { 2607 + display: flow-root; 1973 1973 } 1974 1974 1975 -/* Keep the sidebar clearly separated from the background. */ 1976 -#mainContentArea .resource-sidebar { 1977 - background: #fff; 2610 +@media (max-width: 767px) { 2611 + .resource-cta { 2612 + padding: 24px 20px; 2613 + } 1978 1978 } 1979 1979 1980 -/* Make CTA panels stand out more clearly. */ 1981 -#mainContentArea .resource-cta, 1982 -#mainContentArea .resource-inline-cta { 2616 +@media (max-width: 900px) { 2617 + .resource-layout { 2618 + padding-top: 22px; 2619 + } 2620 + 2621 + .resource-sidebar { 2622 + float: none; 2623 + width: 100%; 2624 + margin-left: 0; 2625 + margin-bottom: 24px; 2626 + position: static; 2627 + } 2628 +} 2629 + 2630 +/* ========== Products / Extensions Pages ========== */ 2631 + 2632 +.product-index-section { 2633 + padding: @section-padding; 2634 + 2635 + h2 { 2636 + margin-bottom: 10px; 2637 + } 2638 +} 2639 + 2640 +.product-card-grid { 2641 + max-width: 840px; 2642 + margin: 22px auto 0; 2643 + display: grid; 2644 + grid-template-columns: 1fr; 2645 + grid-gap: 18px; 2646 +} 2647 + 2648 +.product-card { 1983 1983 background: #fff; 2650 + border: 1px solid @line; 2651 + border-radius: @radius; 2652 + box-shadow: @shadow-sm; 2653 + padding: 28px; 2654 + display: grid; 2655 + grid-template-columns: 68px 1fr; 2656 + grid-gap: 22px; 2657 + align-items: start; 2658 + 2659 + .product-card-icon { 2660 + width: 58px; 2661 + height: 58px; 2662 + border-radius: 50%; 2663 + background: fade(@brand, 10%); 2664 + border: 1px solid fade(@brand, 20%); 2665 + color: @brand; 2666 + display: flex; 2667 + align-items: center; 2668 + justify-content: center; 2669 + font-size: 22px; 2670 + flex-shrink: 0; 2671 + } 2672 + 2673 + h3 { 2674 + margin: 0 0 10px; 2675 + color: @text; 2676 + font-size: 23px; 2677 + line-height: 1.25; 2678 + font-weight: 800; 2679 + } 2680 + 2681 + p { 2682 + color: @muted; 2683 + line-height: 1.6; 2684 + } 2685 + 2686 + .card-link { 2687 + margin: 0; 2688 + 2689 + a { 2690 + font-weight: 700; 2691 + } 2692 + } 1984 1984 } 1985 1985 1986 -/* Improve table readability on long resource pages. */ 1987 -#mainContentArea .resource-content table { 2695 +.product-card-kicker { 2696 + margin-bottom: 10px; 2697 + padding: 5px 10px; 2698 + font-size: 12px; 2699 + text-transform: uppercase; 2700 + letter-spacing: .04em; 2701 +} 2702 + 2703 +.product-highlights { 2704 + margin: 14px 0 20px; 2705 + padding-left: 18px; 2706 + color: @muted; 2707 + 2708 + li { 2709 + margin: 6px 0; 2710 + line-height: 1.45; 2711 + } 2712 +} 2713 + 2714 +/* ========== Individual Product Pages ========== */ 2715 + 2716 +.product-layout { 2717 + display: grid; 2718 + grid-template-columns: 1.1fr .9fr; 2719 + grid-gap: 36px; 2720 + max-width: 1040px; 2721 + margin: 0 auto; 2722 + align-items: start; 2723 +} 2724 + 2725 +.product-summary-card, 2726 +.product-info-card, 2727 +.product-gallery-panel { 1988 1988 background: #fff; 2729 + border: 1px solid @line; 2730 + border-radius: @radius; 2731 + box-shadow: @shadow-sm; 1989 1989 } 1990 1990 1991 -#mainContentArea .resource-content table th { 1992 - color: @text; 1993 - background: #F8FAFC; 2734 +.product-summary-card { 2735 + padding: 26px; 2736 + 2737 + h2 { 2738 + text-align: left; 2739 + margin-top: 0; 2740 + } 2741 + 2742 + p { 2743 + color: @muted; 2744 + line-height: 1.6; 2745 + } 2746 + 2747 + p:last-child { 2748 + margin-bottom: 0; 2749 + } 1994 1994 } 1995 1995 1996 -#mainContentArea .resource-content table td { 1997 - color: @text-soft; 2752 +.product-info-card { 2753 + padding: 22px; 2754 + 2755 + h3 { 2756 + margin-top: 0; 2757 + margin-bottom: 12px; 2758 + } 2759 + 2760 + ul { 2761 + margin: 0; 2762 + padding-left: 20px; 2763 + color: @muted; 2764 + } 2765 + 2766 + li { 2767 + margin: 8px 0; 2768 + line-height: 1.45; 2769 + } 1998 1998 } 1999 1999 2000 -/* Slightly improve paragraph/list contrast in long articles. */ 2001 -#mainContentArea .resource-content p, 2002 -#mainContentArea .resource-content li { 2003 - color: @text-soft; 2772 +.product-feature-grid { 2773 + display: grid; 2774 + grid-template-columns: repeat(3, minmax(0, 1fr)); 2775 + grid-gap: 18px; 2776 + max-width: 1040px; 2777 + margin: 22px auto 0; 2004 2004 } 2005 2005 2006 -#mainContentArea .resource-content .resource-note p, 2007 -#mainContentArea .resource-content .resource-checklist li, 2008 -#mainContentArea .resource-content .process-list li { 2780 +.product-feature { 2781 + background: #fff; 2782 + border: 1px solid @line; 2783 + border-radius: @radius; 2784 + box-shadow: @shadow-sm; 2785 + padding: 22px; 2786 + 2787 + .feature-heading { 2788 + display: flex; 2789 + align-items: center; 2790 + gap: 14px; 2791 + margin-bottom: 14px; 2792 + } 2793 + 2794 + .feature-icon { 2795 + width: 46px; 2796 + height: 46px; 2797 + border-radius: 50%; 2798 + background: fade(@brand, 10%); 2799 + color: @brand; 2800 + display: flex; 2801 + align-items: center; 2802 + justify-content: center; 2803 + font-size: 18px; 2804 + flex-shrink: 0; 2805 + } 2806 + 2807 + h3 { 2808 + margin: 0; 2809 + color: @text; 2810 + font-size: 18px; 2811 + line-height: 1.25; 2812 + } 2813 + 2814 + p { 2815 + margin: 0; 2816 + color: @muted; 2817 + line-height: 1.5; 2818 + } 2819 +} 2820 + 2821 +.product-gallery-panel { 2822 + max-width: 1040px; 2823 + margin: 20px auto 0; 2824 + padding: 26px; 2825 + 2826 + h2 { 2827 + margin-top: 0; 2828 + text-align: center; 2829 + } 2830 + 2831 + .gallery-note { 2832 + max-width: 700px; 2833 + margin: 0 auto 18px; 2834 + color: @muted; 2835 + text-align: center; 2836 + line-height: 1.55; 2837 + } 2838 +} 2839 + 2840 +.product-gallery-placeholder { 2841 + min-height: 260px; 2842 + padding: 28px; 2843 + border: 1px dashed fade(@brand, 40%); 2844 + border-radius: @radius; 2845 + background: fade(@brand, 5%); 2009 2009 color: @muted; 2847 + text-align: center; 2848 + display: flex; 2849 + align-items: center; 2850 + justify-content: center; 2010 2010 } 2011 2011 2012 -@media (max-width: 900px) { 2013 - #mainContentArea .resource-layout { 2014 - padding: 22px; 2853 +.product-section-muted { 2854 + background: 2855 + radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 65%); 2856 +} 2857 + 2858 +@media (max-width: 980px) { 2859 + .product-layout, 2860 + .product-feature-grid { 2861 + grid-template-columns: 1fr; 2015 2015 } 2863 + 2864 + .product-summary-card h2 { 2865 + text-align: center; 2866 + } 2016 2016 } 2017 2017 2018 2018 @media (max-width: 640px) { 2019 - #mainContentArea .resource-layout { 2020 - padding: 18px; 2021 - border-radius: 14px; 2870 + .product-card { 2871 + grid-template-columns: 1fr; 2872 + padding: 22px; 2873 + text-align: left; 2874 + 2875 + .product-card-icon { 2876 + margin-bottom: 2px; 2877 + } 2022 2022 } 2879 + 2880 + .product-summary-card, 2881 + .product-info-card, 2882 + .product-feature, 2883 + .product-gallery-panel { 2884 + padding: 20px; 2885 + } 2023 2023 } 2024 2024 2888 +/* ========== Resources Index ========== */ 2025 2025 2890 +.resources-index-page { 2891 + background: #fff; 2892 + 2893 + .services-grid { 2894 + grid-template-columns: repeat(2, minmax(0, 1fr)); 2895 + } 2896 +} 2897 + 2898 +@media (max-width: 980px) { 2899 + .resources-index-page { 2900 + .services-grid { 2901 + grid-template-columns: 1fr; 2902 + } 2903 + } 2904 +} 2905 + 2906 +@media (max-width: 767px) { 2907 + .resources-index-page { 2908 + padding: @section-padding-mobile; 2909 + } 2910 +} 2911 + 2912 +.resource-faq-item { 2913 + border-bottom: 1px solid @line; 2914 + padding: 12px 0; 2915 + 2916 + summary { 2917 + cursor: pointer; 2918 + font-weight: 700; 2919 + color: @text; 2920 + } 2921 + 2922 + p { 2923 + margin: 10px 0 4px; 2924 + color: @muted; 2925 + } 2926 +} 2927 + color: @text; 2928 + } 2929 + 2930 + p { 2931 + margin: 10px 0 4px; 2932 + color: @muted; 2933 + } 2934 +}