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