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,111 +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 - width: 100vw; 255 - margin-left: calc(50% - 50vw); 256 - margin-right: calc(50% - 50vw); 257 - overflow: hidden; 258 - padding: 54px 0; 259 - background: 260 - radial-gradient(circle at 18% 18%, fade(@brand, 22%) 0%, transparent 28%), 261 - radial-gradient(circle at 86% 12%, fade(@brand, 16%) 0%, transparent 30%), 262 - linear-gradient(135deg, @text 0%, @text-soft 100%); 263 - color: #fff; 248 +.trust-strip { 249 + padding: 18px 0; 250 + border-top: 1px solid @line; 251 + background: #fff; 264 264 265 - &::before { 266 - content: ""; 267 - position: absolute; 268 - inset: 0; 269 - background: 270 - linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px), 271 - linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px); 272 - background-size: 52px 52px; 273 - opacity: .38; 274 - pointer-events: none; 275 - } 276 - 277 - .container { 278 - position: relative; 279 - z-index: 1; 280 - } 281 - 282 - .contrast-panel { 283 - max-width: 1040px; 253 + ul { 254 + max-width: 960px; 284 284 margin: 0 auto; 285 - 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; 286 286 } 287 287 288 - h2 { 289 - max-width: 860px; 290 - margin: 0 auto 12px; 291 - color: #fff; 292 - } 293 - 294 - .section-intro { 295 - max-width: 840px; 296 - margin: 0 auto 26px; 297 - color: #D9E3EE; 298 - } 299 -} 300 - 301 -#mainContentArea { 302 - overflow-x: hidden; 303 -} 304 - 305 -.contrast-tags { 306 - max-width: 940px; 307 - margin: 0 auto; 308 - display: flex; 309 - flex-wrap: wrap; 310 - justify-content: center; 311 - gap: 10px; 312 - 313 - span { 314 - display: inline-flex; 266 + li { 267 + display: flex; 315 315 align-items: center; 316 - padding: 8px 13px; 317 - border: 1px solid fade(#fff, 18%); 318 - border-radius: 999px; 319 - background: fade(#fff, 8%); 320 - color: #F8FAFC; 321 - font-size: 13px; 322 - font-weight: 700; 323 - line-height: 1.2; 324 - 325 - &::before { 326 - content: ""; 327 - width: 7px; 328 - height: 7px; 329 - margin-right: 8px; 330 - border-radius: 50%; 331 - background: @brand; 332 - box-shadow: 0 0 0 4px fade(@brand, 18%); 333 - } 269 + gap: 7px; 334 334 } 335 -} 336 336 337 -.contrast-support { 338 - max-width: 860px; 339 - margin: 30px auto 0; 340 - color: #D9E3EE; 341 - text-align: center; 342 - font-size: 15px; 343 - line-height: 1.7; 344 -} 345 - 346 -@media (max-width: 640px) { 347 - .contrast-band { 348 - padding: 40px 0; 272 + i { 273 + color: @brand; 349 349 } 350 - 351 - .contrast-tags span { 352 - font-size: 12px; 353 - padding: 8px 11px; 354 - } 355 355 } 356 356 357 357 /* ========== Reusable Grids ========== */ ... ... @@ -401,6 +401,7 @@ 401 401 .pathway-card, 402 402 .service-card, 403 403 .resource-card { 324 + background: #fff; 404 404 border: 1px solid @line; 405 405 border-radius: @radius; 406 406 box-shadow: @shadow-sm; ... ... @@ -596,6 +596,7 @@ 596 596 align-items: flex-start; 597 597 gap: 16px; 598 598 padding: 22px; 520 + background: #fff; 599 599 border: 1px solid @line; 600 600 border-radius: @radius; 601 601 box-shadow: @shadow-sm; ... ... @@ -683,6 +683,7 @@ 683 683 position: relative; 684 684 padding: 16px 16px 16px 58px; 685 685 margin-bottom: 12px; 608 + background: #fff; 686 686 border: 1px solid @line; 687 687 border-radius: @radius; 688 688 box-shadow: @shadow-sm; ... ... @@ -814,8 +814,8 @@ 814 814 815 815 /* ========== CTA ========== */ 816 816 817 - #mainContentArea.cta-section {818 - padding: 44px 0 56px;740 +.cta-section { 741 + padding: @section-padding; 819 819 820 820 .contact-inline { 821 821 margin: 0; ... ... @@ -827,70 +827,27 @@ 827 827 } 828 828 } 829 829 830 -#mainContentArea .cta-panel { 831 - position: relative; 832 - overflow: hidden; 833 - max-width: 1040px; 753 +.cta-panel { 754 + max-width: 860px; 834 834 margin: 0 auto; 835 - padding: 48px40px;836 - border: 0;837 - border -radius:26px;756 + padding: 32px; 757 + border-radius: @radius; 758 + border: 1px solid fade(@brand, 20%); 838 838 background: 839 - radial-gradient(circle at 88% 10%, fade(@brand, 24%) 0%, transparent 30%), 840 - linear-gradient(135deg, @text 0%, @text-soft 100%); 841 - color: #fff; 842 - box-shadow: @shadow; 760 + radial-gradient(34rem 12rem at 50% 0%, @brand-soft 0%, #fff 70%); 761 + box-shadow: @shadow-sm; 843 843 text-align: center; 844 -} 845 845 846 -#mainContentArea .cta-panel::before { 847 - content: ""; 848 - position: absolute; 849 - inset: 0; 850 - background: 851 - linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px), 852 - linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px); 853 - background-size: 48px 48px; 854 - opacity: .4; 855 - pointer-events: none; 856 -} 764 + h2 { 765 + margin-top: 0; 766 + } 857 857 858 -#mainContentArea .cta-panel h2, 859 -#mainContentArea .cta-panel p, 860 -#mainContentArea .cta-panel .btn { 861 - position: relative; 862 - z-index: 1; 768 + p { 769 + color: @muted; 770 + line-height: 1.55; 771 + } 863 863 } 864 864 865 -#mainContentArea .cta-panel h2 { 866 - max-width: 760px; 867 - margin: 0 auto 16px; 868 - color: #fff; 869 -} 870 - 871 -#mainContentArea .cta-panel p { 872 - max-width: 760px; 873 - margin: 0 auto 28px; 874 - color: #DBE4EF; 875 - font-size: 16px; 876 - line-height: 1.6; 877 -} 878 - 879 -#mainContentArea .cta-panel .btn-primary { 880 - border-color: #fff; 881 - background: #fff; 882 - color: @text; 883 - box-shadow: 0 18px 42px rgba(0, 0, 0, .18); 884 -} 885 - 886 -#mainContentArea .cta-panel .btn-primary:hover, 887 -#mainContentArea .cta-panel .btn-primary:focus { 888 - border-color: #fff; 889 - background: #fff; 890 - color: @brand-strong; 891 - text-decoration: none; 892 -} 893 - 894 894 .resource-inline-cta { 895 895 display: flex; 896 896 align-items: center; ... ... @@ -1022,14 +1022,9 @@ 1022 1022 gap: 14px; 1023 1023 } 1024 1024 1025 - #mainContentArea .cta-panel { 1026 - padding: 30px 22px; 1027 - border-radius: 20px; 905 + .cta-panel { 906 + padding: 24px 20px; 1028 1028 } 1029 - 1030 - #mainContentArea .cta-panel .btn-primary { 1031 - width: 100%; 1032 - } 1033 1033 } 1034 1034 1035 1035 /* ========== Resource / Article Pages ========== */ ... ... @@ -1041,6 +1041,9 @@ 1041 1041 .resource-header { 1042 1042 padding: @section-padding; 1043 1043 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%); 1044 1044 1045 1045 h1 { 1046 1046 margin: 0 auto 14px; ... ... @@ -1188,6 +1188,7 @@ 1188 1188 border: 1px solid @line; 1189 1189 border-radius: @radius; 1190 1190 padding: 18px; 1069 + background: #fff; 1191 1191 box-shadow: @shadow-sm; 1192 1192 1193 1193 h4 { ... ... @@ -1277,39 +1277,30 @@ 1277 1277 } 1278 1278 1279 1279 .product-card-grid { 1280 - max-width: 980px;1281 - margin: 2 6px auto 0;1159 + max-width: 840px; 1160 + margin: 22px auto 0; 1282 1282 display: grid; 1283 1283 grid-template-columns: 1fr; 1284 - grid-gap: 22px;1163 + grid-gap: 18px; 1285 1285 } 1286 1286 1287 1287 .product-card { 1288 - position:relative;1167 + background: #fff; 1289 1289 border: 1px solid @line; 1290 1290 border-radius: @radius; 1291 1291 box-shadow: @shadow-sm; 1292 - padding: 32px;1171 + padding: 28px; 1293 1293 display: grid; 1294 - grid-template-columns: 70px 1fr;1295 - grid-gap: 2 4px;1173 + grid-template-columns: 68px 1fr; 1174 + grid-gap: 22px; 1296 1296 align-items: start; 1297 - overflow: hidden; 1298 1298 1299 - &:before { 1300 - content: ""; 1301 - position: absolute; 1302 - inset: 0 auto 0 0; 1303 - width: 5px; 1304 - background: linear-gradient(180deg, @brand 0%, @brand-strong 100%); 1305 - } 1306 - 1307 1307 .product-card-icon { 1308 1308 width: 58px; 1309 1309 height: 58px; 1310 1310 border-radius: 50%; 1311 1311 background: fade(@brand, 10%); 1312 - border: 1px solid fade(@brand, 2 2%);1182 + border: 1px solid fade(@brand, 20%); 1313 1313 color: @brand; 1314 1314 display: flex; 1315 1315 align-items: center; ... ... @@ -1318,15 +1318,11 @@ 1318 1318 flex-shrink: 0; 1319 1319 } 1320 1320 1321 - .product-card-body { 1322 - min-width: 0; 1323 - } 1324 - 1325 1325 h3 { 1326 1326 margin: 0 0 10px; 1327 1327 color: @text; 1328 - font-size: 2 5px;1329 - line-height: 1.2 2;1194 + font-size: 23px; 1195 + line-height: 1.25; 1330 1330 font-weight: 800; 1331 1331 } 1332 1332 ... ... @@ -1335,36 +1335,25 @@ 1335 1335 line-height: 1.6; 1336 1336 } 1337 1337 1338 - .product-card-description { 1339 - max-width: 760px; 1340 - margin: 0 0 14px; 1341 - font-size: 16px; 1204 + .card-link { 1205 + margin: 0; 1206 + 1207 + a { 1208 + font-weight: 700; 1209 + } 1342 1342 } 1343 1343 } 1344 1344 1345 1345 .product-card-kicker { 1346 - display: inline-flex; 1347 - align-items: center; 1348 - gap: 7px; 1349 - width: fit-content; 1350 1350 margin-bottom: 10px; 1351 1351 padding: 5px 10px; 1352 - border: 1px solid fade(@brand, 24%); 1353 - border-radius: 999px; 1354 - background: fade(@brand, 8%); 1355 - color: @brand-strong; 1356 1356 font-size: 12px; 1357 - font-weight: 800; 1358 1358 text-transform: uppercase; 1359 1359 letter-spacing: .04em; 1360 - 1361 - i { 1362 - color: @brand; 1363 - } 1364 1364 } 1365 1365 1366 1366 .product-highlights { 1367 - margin: 14px 0 2 2px;1222 + margin: 14px 0 20px; 1368 1368 padding-left: 18px; 1369 1369 color: @muted; 1370 1370 ... ... @@ -1374,58 +1374,12 @@ 1374 1374 } 1375 1375 } 1376 1376 1377 -.product-card-actions { 1378 - display: flex; 1379 - align-items: center; 1380 - gap: 16px; 1381 - flex-wrap: wrap; 1382 - 1383 - .btn { 1384 - font-weight: 700; 1385 - } 1386 -} 1387 - 1388 -.product-card-contact { 1389 - color: @brand; 1390 - font-weight: 700; 1391 - text-decoration: underline; 1392 - 1393 - &:hover, 1394 - &:focus { 1395 - color: @brand-strong; 1396 - } 1397 -} 1398 - 1399 -@media (max-width: 640px) { 1400 - .product-card { 1401 - grid-template-columns: 1fr; 1402 - padding: 26px 22px; 1403 - text-align: left; 1404 - 1405 - &:before { 1406 - width: 4px; 1407 - } 1408 - 1409 - .product-card-icon { 1410 - margin-bottom: 2px; 1411 - } 1412 - 1413 - h3 { 1414 - font-size: 22px; 1415 - } 1416 - } 1417 - 1418 - .product-card-actions { 1419 - gap: 12px; 1420 - } 1421 -} 1422 - 1423 1423 /* ========== Individual Product Pages ========== */ 1424 1424 1425 1425 .product-layout { 1426 1426 display: grid; 1427 - grid-template-columns: minmax(0,1.12fr)minmax(280px,.88fr);1428 - grid-gap: 3 2px;1236 + grid-template-columns: 1.1fr .9fr; 1237 + grid-gap: 36px; 1429 1429 max-width: 1040px; 1430 1430 margin: 0 auto; 1431 1431 align-items: start; ... ... @@ -1435,6 +1435,7 @@ 1435 1435 .product-info-card, 1436 1436 .product-feature, 1437 1437 .product-gallery-panel { 1247 + background: #fff; 1438 1438 border: 1px solid @line; 1439 1439 border-radius: @radius; 1440 1440 box-shadow: @shadow-sm; ... ... @@ -1441,18 +1441,16 @@ 1441 1441 } 1442 1442 1443 1443 .product-summary-card { 1444 - padding: 2 8px;1254 + padding: 26px; 1445 1445 1446 1446 h2 { 1447 1447 text-align: left; 1448 1448 margin-top: 0; 1449 - margin-bottom: 14px; 1450 - line-height: 1.25; 1451 1451 } 1452 1452 1453 1453 p { 1454 1454 color: @muted; 1455 - line-height: 1.6 2;1263 + line-height: 1.6; 1456 1456 } 1457 1457 1458 1458 p:last-child { ... ... @@ -1461,19 +1461,13 @@ 1461 1461 } 1462 1462 1463 1463 .product-info-card { 1464 - padding: 2 4px;1272 + padding: 22px; 1465 1465 1466 1466 h3 { 1467 1467 margin-top: 0; 1468 1468 margin-bottom: 12px; 1469 - line-height: 1.3; 1470 1470 } 1471 1471 1472 - p { 1473 - color: @muted; 1474 - line-height: 1.55; 1475 - } 1476 - 1477 1477 ul { 1478 1478 margin: 0; 1479 1479 padding-left: 20px; ... ... @@ -1482,31 +1482,22 @@ 1482 1482 1483 1483 li { 1484 1484 margin: 8px 0; 1485 - line-height: 1. 3;1287 + line-height: 1.45; 1486 1486 } 1487 1487 } 1488 1488 1489 -.product-card-note { 1490 - margin: 0 0 14px; 1491 - color: @muted; 1492 - line-height: 1.55; 1493 -} 1494 - 1495 1495 .product-feature-grid { 1496 1496 display: grid; 1497 1497 grid-template-columns: repeat(3, minmax(0, 1fr)); 1498 - grid-gap: 20px;1294 + grid-gap: 18px; 1499 1499 max-width: 1040px; 1500 - margin: 2 4px auto 0;1296 + margin: 22px auto 0; 1501 1501 } 1502 1502 1503 1503 .product-feature { 1504 - padding: 24px; 1505 - min-width: 0; 1506 - min-height: 100%; 1300 + padding: 22px; 1507 1507 1508 - .card-heading, 1509 - .feature-heading { 1302 + .card-heading { 1510 1510 display: flex; 1511 1511 align-items: center; 1512 1512 gap: 14px; ... ... @@ -1536,13 +1536,13 @@ 1536 1536 p { 1537 1537 margin: 0; 1538 1538 color: @muted; 1539 - line-height: 1.5 2;1332 + line-height: 1.5; 1540 1540 } 1541 1541 } 1542 1542 1543 1543 .product-gallery-caption { 1544 - max-width: 8 20px;1545 - margin: 12px auto0;1337 + max-width: 860px; 1338 + margin: 28px auto 12px; 1546 1546 color: @muted; 1547 1547 font-size: 14px; 1548 1548 line-height: 1.5; ... ... @@ -1549,43 +1549,37 @@ 1549 1549 text-align: center; 1550 1550 } 1551 1551 1552 -/* Keep the default XWiki gallery style. 1553 - Only add spacing before it and center it. */ 1554 1554 .gallery.xGallery { 1555 - margin: 25px auto; 1556 - width: 920px; 1557 - 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; 1558 1558 } 1559 1559 1560 -.product-section-muted { 1561 - background: 1562 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 65%); 1357 +.gallery.xGallery.loading { 1358 + min-height: 260px; 1563 1563 } 1564 1564 1565 - /* Compact processlist when used inside a product card.*/1566 - .product-summary-card.process-list{1567 - margin-top: 16px;1361 +.gallery.xGallery img { 1362 + border-radius: 12px; 1363 +} 1568 1568 1569 - li{1570 - padding:13px 14px 13px 50px;1571 - margin-bottom:10px;1572 - box-shadow:none;1573 - }1365 +.gallery.xGallery .galleria-container, 1366 +.gallery.xGallery .galleria-stage { 1367 + border-radius: @radius; 1368 + overflow: hidden; 1369 +} 1574 1574 1575 - li:before { 1576 - left: 14px; 1577 - top: 14px; 1578 - width: 24px; 1579 - height: 24px; 1580 - font-size: 12px; 1581 - } 1582 - 1583 - strong { 1584 - margin-bottom: 2px; 1585 - } 1371 +.product-section-muted { 1372 + background: 1373 + radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 65%); 1586 1586 } 1587 1587 1588 -/* Kept for older product pages that still use a screenshot placeholder/panel. */ 1589 1589 .product-gallery-panel { 1590 1590 max-width: 1040px; 1591 1591 margin: 20px auto 0; ... ... @@ -1647,36 +1647,26 @@ 1647 1647 padding: 20px; 1648 1648 } 1649 1649 1650 - .product-feature { 1651 - .card-heading, 1652 - .feature-heading { 1653 - gap: 12px; 1654 - } 1655 - 1656 - .feature-icon { 1657 - width: 42px; 1658 - height: 42px; 1659 - font-size: 16px; 1660 - } 1437 + .product-gallery-caption { 1438 + margin-top: 22px; 1439 + padding: 0 14px; 1661 1661 } 1662 1662 1663 1663 .gallery.xGallery { 1664 - margin-top: 22px !important; 1443 + max-width: calc(100% - 28px); 1444 + margin-bottom: 34px !important; 1445 + border-radius: 12px; 1665 1665 } 1666 1666 1667 - .product-gallery-caption { 1668 - margin-top: 10px; 1669 - padding: 0 14px; 1448 + .gallery.xGallery.loading { 1449 + min-height: 180px; 1670 1670 } 1671 - 1672 - .product-summary-card .process-list li { 1673 - padding-left: 46px; 1674 - } 1675 1675 } 1676 1676 1677 1677 /* ========== Resources Index ========== */ 1678 1678 1679 1679 .resources-index-page { 1456 + background: #fff; 1680 1680 1681 1681 .services-grid { 1682 1682 grid-template-columns: repeat(2, minmax(0, 1fr)); ... ... @@ -1703,330 +1703,1455 @@ 1703 1703 1704 1704 summary { 1705 1705 cursor: pointer; 1706 - font-weight: 700; 1707 - color: @text; 1708 - } 1483 + font-weight: 700;/* ========== Agnease Public Website ========== */ 1709 1709 1710 - p { 1711 - margin: 10px 0 4px; 1712 - color: @muted; 1713 - } 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; 1714 1714 } 1715 1715 1716 -/* ========== 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 +} 1717 1717 1718 -html, 1719 -body { 1720 - min-height: 100%; 1514 +html { 1515 + scroll-behavior: smooth; 1721 1721 } 1722 1722 1723 -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 { 1724 1724 color: @text; 1725 - background: 1726 - radial-gradient(circle at 12% 8%, rgba(0, 147, 125, 0.08) 0, transparent 26%), 1727 - radial-gradient(circle at 90% 28%, rgba(7, 24, 45, 0.05) 0, transparent 30%), 1728 - linear-gradient(180deg, #fff 0, @brand-bg 42%, #fff 100%) !important; 1729 - background-attachment: fixed; 1730 1730 } 1731 1731 1732 -/* Let the body background show through the XWiki wrappers. 1733 -#mainContentArea, 1734 -.resource-page, 1735 -.resources-index-page { 1736 - background: transparent !important; 1737 - background-image: none !important; 1538 +h2 { 1539 + text-align: center; 1540 + margin-top: 0; 1738 1738 } 1739 -*/ 1740 -/* Remove local decorative backgrounds that compete with the global gradient. 1741 -.hero, 1742 -.hero.hero-centered, 1743 -.trust-strip, 1744 -.industry-trust-section, 1745 -.split-section, 1746 -.resource-strip, 1747 -.homepage-resource-strip, 1748 -.resource-header, 1749 -.product-section-muted, 1750 -.resources-index-page { 1751 - background: transparent !important; 1752 - background-image: none !important; 1542 + 1543 +.lead { 1544 + color: @muted; 1545 + text-align: center; 1546 + margin-bottom: 0; 1753 1753 } 1754 - */ 1755 -/* Keep large panels readable, but remove their inner gradients. 1756 -.industry-trust-section .industry-trust-panel, 1757 -.cta-panel, 1758 -.resource-inline-cta, 1759 -.resource-note, 1760 -.resource-cta { 1761 - background: #fff !important; 1762 - background-image: none !important; 1763 -} */ 1764 1764 1765 -/* ========== 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 +} 1766 1766 1767 -#mainContentArea .hero.hero-saas { 1768 - min-height: auto; 1769 - 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; 1770 1770 display: flex; 1771 1771 align-items: center; 1772 - overflow:hidden;1773 - background:transparent;1582 + justify-content: space-between; 1583 + gap: 24px; 1774 1774 } 1775 1775 1776 -#mainContentArea .hero-layout { 1777 - max-width: 1120px; 1778 - margin: 0 auto; 1779 - display: grid; 1780 - grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); 1781 - gap: 56px; 1586 +.site-nav { 1587 + display: flex; 1782 1782 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 + } 1783 1783 } 1784 1784 1785 -#mainContentArea .hero-copy { 1786 - min-width: 0; 1787 - 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 + } 1788 1788 } 1789 1789 1790 -#mainContentArea .hero.hero-saas h1 { 1791 - max-width: 640px; 1792 - margin: 0 0 26px; 1793 - font-size: 60px; 1794 - font-weight: 800; 1795 - line-height: 1; 1796 - 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 + } 1797 1797 } 1798 1798 1799 -#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; 1800 1800 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; 1801 1801 } 1802 1802 1803 - #mainContentArea.hero.hero-saas.lead {1804 - max-width:590px;1805 - margin:0 0 28px;1806 - color:#334155;1807 - text-align:left;1808 - font -size:18px;1809 - 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; 1810 1810 } 1811 1811 1812 -#mainContentArea .hero.hero-saas .benefits { 1813 - max-width: 620px; 1814 - margin: 0 0 30px; 1815 - 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 { 1816 1816 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 { 1817 1817 grid-template-columns: repeat(2, minmax(0, 1fr)); 1818 - gap: 10px 24px; 1819 - list-style: none; 1820 - color: #475569; 1821 - font-size: 15px; 1822 - text-align: left; 1782 + max-width: 1040px; 1783 + margin-top: 22px; 1823 1823 } 1824 1824 1825 -#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 { 1826 1826 display: grid; 1827 - grid-template-columns: 1 8px minmax(0,1fr);1828 - column-gap:8px;1829 - a lign-items:start;1830 - margin: 0; 1831 - 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; 1832 1832 } 1833 1833 1834 -#mainContentArea .hero.hero-saas .benefits li::before { 1835 - content: "✓"; 1836 - display: block; 1837 - width: 18px; 1838 - color: @brand; 1839 - font-weight: 900; 1840 - line-height: 1.45; 1841 - 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; 1842 1842 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 + } 1843 1843 } 1844 1844 1845 -#mainContentArea .hero.hero-saas .hero-actions, 1846 -#mainContentArea .hero.hero-saas #hero-cta { 1847 - display: flex; 1848 - flex-wrap: wrap; 1849 - justify-content: flex-start; 1850 - gap: 12px; 1851 - margin-top: 0; 2121 +/* ========== Resources ========== */ 2122 + 2123 +.resource-strip { 2124 + background: @brand-bg; 1852 1852 } 1853 1853 1854 -#mainContentArea .hero-image-wrapper { 1855 - 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 { 1856 1856 display: flex; 1857 - justify-content: center; 1858 1858 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 + } 1859 1859 } 1860 1860 1861 -#mainContentArea .hero-image { 1862 - display: block; 1863 - width: 100%; 1864 - max-width: 620px; 1865 - height: auto; 1866 - 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 + } 1867 1867 } 1868 1868 1869 -/* ========== Main Page HeroResponsive ========== */2300 +/* ========== Responsive ========== */ 1870 1870 1871 -@media (max-width: 1100px) { 1872 - #mainContentArea .hero-layout { 1873 - 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 { 1874 1874 grid-template-columns: 1fr; 1875 - gap: 34px; 1876 1876 } 1877 1877 1878 - #mainContentArea .hero-copy { 1879 - order: 1; 2314 + .split-copy h2 { 1880 1880 text-align: center; 1881 1881 } 2317 +} 1882 1882 1883 - #mainContentArea .hero-image-wrapper { 1884 - order: 2; 2319 +@media (max-width: 760px) { 2320 + section[id] { 2321 + scroll-margin-top: 132px; 1885 1885 } 1886 1886 1887 - #mainContentArea .hero.hero-saas h1 { 1888 - margin-left: auto; 1889 - 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; 1890 1890 text-align: center; 2408 + line-height: 1.18; 1891 1891 } 1892 1892 1893 - #mainContentArea .hero.hero-saas .lead { 1894 - margin-left: auto; 1895 - margin-right: auto; 2411 + .resource-summary { 2412 + max-width: 780px; 2413 + margin: 0 auto; 2414 + color: @muted; 1896 1896 text-align: center; 2416 + font-size: 18px; 2417 + line-height: 1.55; 1897 1897 } 2419 +} 1898 1898 1899 - #mainContentArea .hero.hero-saas .benefits { 1900 - margin-left: auto; 1901 - 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; 1902 1902 } 1903 1903 1904 - #mainContentArea .hero.hero-saas.hero-actions,1905 - #mainContentArea.hero.hero-saas#hero-cta{1906 - justify-content:center;2445 + h3 { 2446 + margin: 24px 0 8px; 2447 + line-height: 1.3; 1907 1907 } 1908 1908 1909 - #mainContentArea.hero-image{1910 - ma x-width:620px;2450 + p { 2451 + margin: 0 0 16px; 1911 1911 } 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 + } 1912 1912 } 1913 1913 1914 -@media (max-width: 640px) { 1915 - #mainContentArea .hero.hero-saas { 1916 - 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; 1917 1917 } 2479 +} 1918 1918 1919 - #mainContentArea .hero-layout { 1920 - gap: 28px; 2481 +.resource-note.related-resources { 2482 + p { 2483 + margin-bottom: 10px; 1921 1921 } 1922 1922 1923 - #mainContentArea.hero.hero-saas h1{1924 - font-size:42px;1925 - letter-spacing:-1.5px;2486 + ul { 2487 + margin: 0; 2488 + padding-left: 20px; 1926 1926 } 1927 1927 1928 - #mainContentArea .hero.hero-saas .lead { 1929 - font-size: 17px; 2491 + li { 2492 + margin: 6px 0; 2493 + color: @muted; 1930 1930 } 2495 +} 1931 1931 1932 - #mainContentArea .hero.hero-saas .benefits { 1933 - 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; 1934 1934 } 1935 1935 1936 - #mainContentArea .hero-image { 1937 - max-width: 100%; 2509 + summary:hover, 2510 + summary:focus { 2511 + color: @brand-strong; 1938 1938 } 2513 + 2514 + p { 2515 + margin: 10px 0 4px; 2516 + color: @muted; 2517 + } 1939 1939 } 1940 1940 1941 -/* ========== Accessibility / Contrast Improvements ========== */ 2520 +.resource-checklist { 2521 + margin: 18px 0 24px; 2522 + padding: 0; 2523 + list-style: none; 1942 1942 1943 -/* Make the global background softer and less distracting. */ 1944 -body { 1945 - background: 1946 - radial-gradient(circle at 12% 8%, rgba(0, 147, 125, 0.035) 0, transparent 26%), 1947 - radial-gradient(circle at 90% 28%, rgba(7, 24, 45, 0.025) 0, transparent 30%), 1948 - linear-gradient(180deg, #fff 0, @brand-bg 42%, #fff 100%) !important; 1949 - 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 + } 1950 1950 } 1951 1951 1952 -/* Keep the article area readable while preserving the page background around it. */ 1953 -#mainContentArea .resource-layout { 1954 - padding: 28px; 1955 - 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; 1956 1956 border-radius: @radius; 1957 - background: rgba(255, 255, 255, .88); 2550 + padding: 18px; 2551 + background: #fff; 1958 1958 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 + } 1959 1959 } 1960 1960 1961 -/* Ensure all reusable cards have a real surface, not transparent over the gradient. */ 1962 -#mainContentArea .widget, 1963 -#mainContentArea .pathway-card, 1964 -#mainContentArea .service-card, 1965 -#mainContentArea .resource-card, 1966 -#mainContentArea .services .service, 1967 -#mainContentArea .product-card, 1968 -#mainContentArea .product-feature, 1969 -#mainContentArea .product-summary-card, 1970 -#mainContentArea .product-info-card { 1971 - 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 + } 1972 1972 } 1973 1973 1974 -/* Make notes more readable and visually stronger. */ 1975 -#mainContentArea .resource-note { 1976 - border: 1px solid fade(@brand, 18%); 1977 - border-left: 4px solid @brand; 1978 - background: #fff; 1979 - box-shadow: 0 10px 28px rgba(15, 23, 42, .045); 2604 +.resource-note, 2605 +.resource-checklist, 2606 +.resource-cta { 2607 + display: flow-root; 1980 1980 } 1981 1981 1982 -/* Keep the sidebar clearly separated from the background. */ 1983 -#mainContentArea .resource-sidebar { 1984 - background: #fff; 2610 +@media (max-width: 767px) { 2611 + .resource-cta { 2612 + padding: 24px 20px; 2613 + } 1985 1985 } 1986 1986 1987 -/* Make CTA panels stand out more clearly. */ 1988 -#mainContentArea .resource-cta, 1989 -#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 { 1990 1990 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 + } 1991 1991 } 1992 1992 1993 -/* Improve table readability on long resource pages. */ 1994 -#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 { 1995 1995 background: #fff; 2729 + border: 1px solid @line; 2730 + border-radius: @radius; 2731 + box-shadow: @shadow-sm; 1996 1996 } 1997 1997 1998 -#mainContentArea .resource-content table th { 1999 - color: @text; 2000 - 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 + } 2001 2001 } 2002 2002 2003 -#mainContentArea .resource-content table td { 2004 - 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 + } 2005 2005 } 2006 2006 2007 -/* Slightly improve paragraph/list contrast in long articles. */ 2008 -#mainContentArea .resource-content p, 2009 -#mainContentArea .resource-content li { 2010 - 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; 2011 2011 } 2012 2012 2013 -#mainContentArea .resource-content .resource-note p, 2014 -#mainContentArea .resource-content .resource-checklist li, 2015 -#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%); 2016 2016 color: @muted; 2847 + text-align: center; 2848 + display: flex; 2849 + align-items: center; 2850 + justify-content: center; 2017 2017 } 2018 2018 2019 -@media (max-width: 900px) { 2020 - #mainContentArea .resource-layout { 2021 - 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; 2022 2022 } 2863 + 2864 + .product-summary-card h2 { 2865 + text-align: center; 2866 + } 2023 2023 } 2024 2024 2025 2025 @media (max-width: 640px) { 2026 - #mainContentArea .resource-layout { 2027 - padding: 18px; 2028 - 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 + } 2029 2029 } 2879 + 2880 + .product-summary-card, 2881 + .product-info-card, 2882 + .product-feature, 2883 + .product-gallery-panel { 2884 + padding: 20px; 2885 + } 2030 2030 } 2031 2031 2888 +/* ========== Resources Index ========== */ 2032 2032 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 +}