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; ... ... @@ -252,6 +252,7 @@ 252 252 .trust-strip { 253 253 padding: 18px 0; 254 254 border-top: 1px solid @line; 251 + background: #fff; 255 255 256 256 ul { 257 257 max-width: 960px; ... ... @@ -324,6 +324,7 @@ 324 324 .pathway-card, 325 325 .service-card, 326 326 .resource-card { 324 + background: #fff; 327 327 border: 1px solid @line; 328 328 border-radius: @radius; 329 329 box-shadow: @shadow-sm; ... ... @@ -519,6 +519,7 @@ 519 519 align-items: flex-start; 520 520 gap: 16px; 521 521 padding: 22px; 520 + background: #fff; 522 522 border: 1px solid @line; 523 523 border-radius: @radius; 524 524 box-shadow: @shadow-sm; ... ... @@ -606,6 +606,7 @@ 606 606 position: relative; 607 607 padding: 16px 16px 16px 58px; 608 608 margin-bottom: 12px; 608 + background: #fff; 609 609 border: 1px solid @line; 610 610 border-radius: @radius; 611 611 box-shadow: @shadow-sm; ... ... @@ -737,8 +737,8 @@ 737 737 738 738 /* ========== CTA ========== */ 739 739 740 - #mainContentArea.cta-section {741 - padding: 44px 0 56px;740 +.cta-section { 741 + padding: @section-padding; 742 742 743 743 .contact-inline { 744 744 margin: 0; ... ... @@ -750,70 +750,27 @@ 750 750 } 751 751 } 752 752 753 -#mainContentArea .cta-panel { 754 - position: relative; 755 - overflow: hidden; 756 - max-width: 1040px; 753 +.cta-panel { 754 + max-width: 860px; 757 757 margin: 0 auto; 758 - padding: 48px40px;759 - border: 0;760 - border -radius:26px;756 + padding: 32px; 757 + border-radius: @radius; 758 + border: 1px solid fade(@brand, 20%); 761 761 background: 762 - radial-gradient(circle at 88% 10%, fade(@brand, 24%) 0%, transparent 30%), 763 - linear-gradient(135deg, @text 0%, @text-soft 100%); 764 - color: #fff; 765 - box-shadow: @shadow; 760 + radial-gradient(34rem 12rem at 50% 0%, @brand-soft 0%, #fff 70%); 761 + box-shadow: @shadow-sm; 766 766 text-align: center; 767 -} 768 768 769 -#mainContentArea .cta-panel::before { 770 - content: ""; 771 - position: absolute; 772 - inset: 0; 773 - background: 774 - linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px), 775 - linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px); 776 - background-size: 48px 48px; 777 - opacity: .4; 778 - pointer-events: none; 779 -} 764 + h2 { 765 + margin-top: 0; 766 + } 780 780 781 -#mainContentArea .cta-panel h2, 782 -#mainContentArea .cta-panel p, 783 -#mainContentArea .cta-panel .btn { 784 - position: relative; 785 - z-index: 1; 768 + p { 769 + color: @muted; 770 + line-height: 1.55; 771 + } 786 786 } 787 787 788 -#mainContentArea .cta-panel h2 { 789 - max-width: 760px; 790 - margin: 0 auto 16px; 791 - color: #fff; 792 -} 793 - 794 -#mainContentArea .cta-panel p { 795 - max-width: 760px; 796 - margin: 0 auto 28px; 797 - color: #DBE4EF; 798 - font-size: 16px; 799 - line-height: 1.6; 800 -} 801 - 802 -#mainContentArea .cta-panel .btn-primary { 803 - border-color: #fff; 804 - background: #fff; 805 - color: @text; 806 - box-shadow: 0 18px 42px rgba(0, 0, 0, .18); 807 -} 808 - 809 -#mainContentArea .cta-panel .btn-primary:hover, 810 -#mainContentArea .cta-panel .btn-primary:focus { 811 - border-color: #fff; 812 - background: #fff; 813 - color: @brand-strong; 814 - text-decoration: none; 815 -} 816 - 817 817 .resource-inline-cta { 818 818 display: flex; 819 819 align-items: center; ... ... @@ -945,14 +945,9 @@ 945 945 gap: 14px; 946 946 } 947 947 948 - #mainContentArea .cta-panel { 949 - padding: 30px 22px; 950 - border-radius: 20px; 905 + .cta-panel { 906 + padding: 24px 20px; 951 951 } 952 - 953 - #mainContentArea .cta-panel .btn-primary { 954 - width: 100%; 955 - } 956 956 } 957 957 958 958 /* ========== Resource / Article Pages ========== */ ... ... @@ -964,6 +964,9 @@ 964 964 .resource-header { 965 965 padding: @section-padding; 966 966 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%); 967 967 968 968 h1 { 969 969 margin: 0 auto 14px; ... ... @@ -1111,6 +1111,7 @@ 1111 1111 border: 1px solid @line; 1112 1112 border-radius: @radius; 1113 1113 padding: 18px; 1069 + background: #fff; 1114 1114 box-shadow: @shadow-sm; 1115 1115 1116 1116 h4 { ... ... @@ -1200,39 +1200,30 @@ 1200 1200 } 1201 1201 1202 1202 .product-card-grid { 1203 - max-width: 980px;1204 - margin: 2 6px auto 0;1159 + max-width: 840px; 1160 + margin: 22px auto 0; 1205 1205 display: grid; 1206 1206 grid-template-columns: 1fr; 1207 - grid-gap: 22px;1163 + grid-gap: 18px; 1208 1208 } 1209 1209 1210 1210 .product-card { 1211 - position:relative;1167 + background: #fff; 1212 1212 border: 1px solid @line; 1213 1213 border-radius: @radius; 1214 1214 box-shadow: @shadow-sm; 1215 - padding: 32px;1171 + padding: 28px; 1216 1216 display: grid; 1217 - grid-template-columns: 70px 1fr;1218 - grid-gap: 2 4px;1173 + grid-template-columns: 68px 1fr; 1174 + grid-gap: 22px; 1219 1219 align-items: start; 1220 - overflow: hidden; 1221 1221 1222 - &:before { 1223 - content: ""; 1224 - position: absolute; 1225 - inset: 0 auto 0 0; 1226 - width: 5px; 1227 - background: linear-gradient(180deg, @brand 0%, @brand-strong 100%); 1228 - } 1229 - 1230 1230 .product-card-icon { 1231 1231 width: 58px; 1232 1232 height: 58px; 1233 1233 border-radius: 50%; 1234 1234 background: fade(@brand, 10%); 1235 - border: 1px solid fade(@brand, 2 2%);1182 + border: 1px solid fade(@brand, 20%); 1236 1236 color: @brand; 1237 1237 display: flex; 1238 1238 align-items: center; ... ... @@ -1241,15 +1241,11 @@ 1241 1241 flex-shrink: 0; 1242 1242 } 1243 1243 1244 - .product-card-body { 1245 - min-width: 0; 1246 - } 1247 - 1248 1248 h3 { 1249 1249 margin: 0 0 10px; 1250 1250 color: @text; 1251 - font-size: 2 5px;1252 - line-height: 1.2 2;1194 + font-size: 23px; 1195 + line-height: 1.25; 1253 1253 font-weight: 800; 1254 1254 } 1255 1255 ... ... @@ -1258,36 +1258,25 @@ 1258 1258 line-height: 1.6; 1259 1259 } 1260 1260 1261 - .product-card-description { 1262 - max-width: 760px; 1263 - margin: 0 0 14px; 1264 - font-size: 16px; 1204 + .card-link { 1205 + margin: 0; 1206 + 1207 + a { 1208 + font-weight: 700; 1209 + } 1265 1265 } 1266 1266 } 1267 1267 1268 1268 .product-card-kicker { 1269 - display: inline-flex; 1270 - align-items: center; 1271 - gap: 7px; 1272 - width: fit-content; 1273 1273 margin-bottom: 10px; 1274 1274 padding: 5px 10px; 1275 - border: 1px solid fade(@brand, 24%); 1276 - border-radius: 999px; 1277 - background: fade(@brand, 8%); 1278 - color: @brand-strong; 1279 1279 font-size: 12px; 1280 - font-weight: 800; 1281 1281 text-transform: uppercase; 1282 1282 letter-spacing: .04em; 1283 - 1284 - i { 1285 - color: @brand; 1286 - } 1287 1287 } 1288 1288 1289 1289 .product-highlights { 1290 - margin: 14px 0 2 2px;1222 + margin: 14px 0 20px; 1291 1291 padding-left: 18px; 1292 1292 color: @muted; 1293 1293 ... ... @@ -1297,58 +1297,12 @@ 1297 1297 } 1298 1298 } 1299 1299 1300 -.product-card-actions { 1301 - display: flex; 1302 - align-items: center; 1303 - gap: 16px; 1304 - flex-wrap: wrap; 1305 - 1306 - .btn { 1307 - font-weight: 700; 1308 - } 1309 -} 1310 - 1311 -.product-card-contact { 1312 - color: @brand; 1313 - font-weight: 700; 1314 - text-decoration: underline; 1315 - 1316 - &:hover, 1317 - &:focus { 1318 - color: @brand-strong; 1319 - } 1320 -} 1321 - 1322 -@media (max-width: 640px) { 1323 - .product-card { 1324 - grid-template-columns: 1fr; 1325 - padding: 26px 22px; 1326 - text-align: left; 1327 - 1328 - &:before { 1329 - width: 4px; 1330 - } 1331 - 1332 - .product-card-icon { 1333 - margin-bottom: 2px; 1334 - } 1335 - 1336 - h3 { 1337 - font-size: 22px; 1338 - } 1339 - } 1340 - 1341 - .product-card-actions { 1342 - gap: 12px; 1343 - } 1344 -} 1345 - 1346 1346 /* ========== Individual Product Pages ========== */ 1347 1347 1348 1348 .product-layout { 1349 1349 display: grid; 1350 - grid-template-columns: minmax(0,1.12fr)minmax(280px,.88fr);1351 - grid-gap: 3 2px;1236 + grid-template-columns: 1.1fr .9fr; 1237 + grid-gap: 36px; 1352 1352 max-width: 1040px; 1353 1353 margin: 0 auto; 1354 1354 align-items: start; ... ... @@ -1358,6 +1358,7 @@ 1358 1358 .product-info-card, 1359 1359 .product-feature, 1360 1360 .product-gallery-panel { 1247 + background: #fff; 1361 1361 border: 1px solid @line; 1362 1362 border-radius: @radius; 1363 1363 box-shadow: @shadow-sm; ... ... @@ -1364,18 +1364,16 @@ 1364 1364 } 1365 1365 1366 1366 .product-summary-card { 1367 - padding: 2 8px;1254 + padding: 26px; 1368 1368 1369 1369 h2 { 1370 1370 text-align: left; 1371 1371 margin-top: 0; 1372 - margin-bottom: 14px; 1373 - line-height: 1.25; 1374 1374 } 1375 1375 1376 1376 p { 1377 1377 color: @muted; 1378 - line-height: 1.6 2;1263 + line-height: 1.6; 1379 1379 } 1380 1380 1381 1381 p:last-child { ... ... @@ -1384,19 +1384,13 @@ 1384 1384 } 1385 1385 1386 1386 .product-info-card { 1387 - padding: 2 4px;1272 + padding: 22px; 1388 1388 1389 1389 h3 { 1390 1390 margin-top: 0; 1391 1391 margin-bottom: 12px; 1392 - line-height: 1.3; 1393 1393 } 1394 1394 1395 - p { 1396 - color: @muted; 1397 - line-height: 1.55; 1398 - } 1399 - 1400 1400 ul { 1401 1401 margin: 0; 1402 1402 padding-left: 20px; ... ... @@ -1405,31 +1405,22 @@ 1405 1405 1406 1406 li { 1407 1407 margin: 8px 0; 1408 - line-height: 1. 3;1287 + line-height: 1.45; 1409 1409 } 1410 1410 } 1411 1411 1412 -.product-card-note { 1413 - margin: 0 0 14px; 1414 - color: @muted; 1415 - line-height: 1.55; 1416 -} 1417 - 1418 1418 .product-feature-grid { 1419 1419 display: grid; 1420 1420 grid-template-columns: repeat(3, minmax(0, 1fr)); 1421 - grid-gap: 20px;1294 + grid-gap: 18px; 1422 1422 max-width: 1040px; 1423 - margin: 2 4px auto 0;1296 + margin: 22px auto 0; 1424 1424 } 1425 1425 1426 1426 .product-feature { 1427 - padding: 24px; 1428 - min-width: 0; 1429 - min-height: 100%; 1300 + padding: 22px; 1430 1430 1431 - .card-heading, 1432 - .feature-heading { 1302 + .card-heading { 1433 1433 display: flex; 1434 1434 align-items: center; 1435 1435 gap: 14px; ... ... @@ -1459,13 +1459,13 @@ 1459 1459 p { 1460 1460 margin: 0; 1461 1461 color: @muted; 1462 - line-height: 1.5 2;1332 + line-height: 1.5; 1463 1463 } 1464 1464 } 1465 1465 1466 1466 .product-gallery-caption { 1467 - max-width: 8 20px;1468 - margin: 12px auto0;1337 + max-width: 860px; 1338 + margin: 28px auto 12px; 1469 1469 color: @muted; 1470 1470 font-size: 14px; 1471 1471 line-height: 1.5; ... ... @@ -1472,43 +1472,37 @@ 1472 1472 text-align: center; 1473 1473 } 1474 1474 1475 -/* Keep the default XWiki gallery style. 1476 - Only add spacing before it and center it. */ 1477 1477 .gallery.xGallery { 1478 - margin: 25px auto; 1479 - width: 920px; 1480 - 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; 1481 1481 } 1482 1482 1483 -.product-section-muted { 1484 - background: 1485 - radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 65%); 1357 +.gallery.xGallery.loading { 1358 + min-height: 260px; 1486 1486 } 1487 1487 1488 - /* Compact processlist when used inside a product card.*/1489 - .product-summary-card.process-list{1490 - margin-top: 16px;1361 +.gallery.xGallery img { 1362 + border-radius: 12px; 1363 +} 1491 1491 1492 - li{1493 - padding:13px 14px 13px 50px;1494 - margin-bottom:10px;1495 - box-shadow:none;1496 - }1365 +.gallery.xGallery .galleria-container, 1366 +.gallery.xGallery .galleria-stage { 1367 + border-radius: @radius; 1368 + overflow: hidden; 1369 +} 1497 1497 1498 - li:before { 1499 - left: 14px; 1500 - top: 14px; 1501 - width: 24px; 1502 - height: 24px; 1503 - font-size: 12px; 1504 - } 1505 - 1506 - strong { 1507 - margin-bottom: 2px; 1508 - } 1371 +.product-section-muted { 1372 + background: 1373 + radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 65%); 1509 1509 } 1510 1510 1511 -/* Kept for older product pages that still use a screenshot placeholder/panel. */ 1512 1512 .product-gallery-panel { 1513 1513 max-width: 1040px; 1514 1514 margin: 20px auto 0; ... ... @@ -1570,36 +1570,26 @@ 1570 1570 padding: 20px; 1571 1571 } 1572 1572 1573 - .product-feature { 1574 - .card-heading, 1575 - .feature-heading { 1576 - gap: 12px; 1577 - } 1578 - 1579 - .feature-icon { 1580 - width: 42px; 1581 - height: 42px; 1582 - font-size: 16px; 1583 - } 1437 + .product-gallery-caption { 1438 + margin-top: 22px; 1439 + padding: 0 14px; 1584 1584 } 1585 1585 1586 1586 .gallery.xGallery { 1587 - margin-top: 22px !important; 1443 + max-width: calc(100% - 28px); 1444 + margin-bottom: 34px !important; 1445 + border-radius: 12px; 1588 1588 } 1589 1589 1590 - .product-gallery-caption { 1591 - margin-top: 10px; 1592 - padding: 0 14px; 1448 + .gallery.xGallery.loading { 1449 + min-height: 180px; 1593 1593 } 1594 - 1595 - .product-summary-card .process-list li { 1596 - padding-left: 46px; 1597 - } 1598 1598 } 1599 1599 1600 1600 /* ========== Resources Index ========== */ 1601 1601 1602 1602 .resources-index-page { 1456 + background: #fff; 1603 1603 1604 1604 .services-grid { 1605 1605 grid-template-columns: repeat(2, minmax(0, 1fr)); ... ... @@ -1626,330 +1626,1455 @@ 1626 1626 1627 1627 summary { 1628 1628 cursor: pointer; 1629 - font-weight: 700; 1630 - color: @text; 1631 - } 1483 + font-weight: 700;/* ========== Agnease Public Website ========== */ 1632 1632 1633 - p { 1634 - margin: 10px 0 4px; 1635 - color: @muted; 1636 - } 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; 1637 1637 } 1638 1638 1639 -/* ========== 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 +} 1640 1640 1641 -html, 1642 -body { 1643 - min-height: 100%; 1514 +html { 1515 + scroll-behavior: smooth; 1644 1644 } 1645 1645 1646 -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 { 1647 1647 color: @text; 1648 - background: 1649 - radial-gradient(circle at 12% 8%, rgba(0, 147, 125, 0.08) 0, transparent 26%), 1650 - radial-gradient(circle at 90% 28%, rgba(7, 24, 45, 0.05) 0, transparent 30%), 1651 - linear-gradient(180deg, #fff 0, @brand-bg 42%, #fff 100%) !important; 1652 - background-attachment: fixed; 1653 1653 } 1654 1654 1655 -/* Let the body background show through the XWiki wrappers. 1656 -#mainContentArea, 1657 -.resource-page, 1658 -.resources-index-page { 1659 - background: transparent !important; 1660 - background-image: none !important; 1538 +h2 { 1539 + text-align: center; 1540 + margin-top: 0; 1661 1661 } 1662 -*/ 1663 -/* Remove local decorative backgrounds that compete with the global gradient. 1664 -.hero, 1665 -.hero.hero-centered, 1666 -.trust-strip, 1667 -.industry-trust-section, 1668 -.split-section, 1669 -.resource-strip, 1670 -.homepage-resource-strip, 1671 -.resource-header, 1672 -.product-section-muted, 1673 -.resources-index-page { 1674 - background: transparent !important; 1675 - background-image: none !important; 1542 + 1543 +.lead { 1544 + color: @muted; 1545 + text-align: center; 1546 + margin-bottom: 0; 1676 1676 } 1677 - */ 1678 -/* Keep large panels readable, but remove their inner gradients. 1679 -.industry-trust-section .industry-trust-panel, 1680 -.cta-panel, 1681 -.resource-inline-cta, 1682 -.resource-note, 1683 -.resource-cta { 1684 - background: #fff !important; 1685 - background-image: none !important; 1686 -} */ 1687 1687 1688 -/* ========== 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 +} 1689 1689 1690 -#mainContentArea .hero.hero-saas { 1691 - min-height: auto; 1692 - 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; 1693 1693 display: flex; 1694 1694 align-items: center; 1695 - overflow:hidden;1696 - background:transparent;1582 + justify-content: space-between; 1583 + gap: 24px; 1697 1697 } 1698 1698 1699 -#mainContentArea .hero-layout { 1700 - max-width: 1120px; 1701 - margin: 0 auto; 1702 - display: grid; 1703 - grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); 1704 - gap: 56px; 1586 +.site-nav { 1587 + display: flex; 1705 1705 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 + } 1706 1706 } 1707 1707 1708 -#mainContentArea .hero-copy { 1709 - min-width: 0; 1710 - 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 + } 1711 1711 } 1712 1712 1713 -#mainContentArea .hero.hero-saas h1 { 1714 - max-width: 640px; 1715 - margin: 0 0 26px; 1716 - font-size: 60px; 1717 - font-weight: 800; 1718 - line-height: 1; 1719 - 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 + } 1720 1720 } 1721 1721 1722 -#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; 1723 1723 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; 1724 1724 } 1725 1725 1726 - #mainContentArea.hero.hero-saas.lead {1727 - max-width:590px;1728 - margin:0 0 28px;1729 - color:#334155;1730 - text-align:left;1731 - font -size:18px;1732 - 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; 1733 1733 } 1734 1734 1735 -#mainContentArea .hero.hero-saas .benefits { 1736 - max-width: 620px; 1737 - margin: 0 0 30px; 1738 - 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 { 1739 1739 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 { 1740 1740 grid-template-columns: repeat(2, minmax(0, 1fr)); 1741 - gap: 10px 24px; 1742 - list-style: none; 1743 - color: #475569; 1744 - font-size: 15px; 1745 - text-align: left; 1782 + max-width: 1040px; 1783 + margin-top: 22px; 1746 1746 } 1747 1747 1748 -#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 { 1749 1749 display: grid; 1750 - grid-template-columns: 1 8px minmax(0,1fr);1751 - column-gap:8px;1752 - a lign-items:start;1753 - margin: 0; 1754 - 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; 1755 1755 } 1756 1756 1757 -#mainContentArea .hero.hero-saas .benefits li::before { 1758 - content: "✓"; 1759 - display: block; 1760 - width: 18px; 1761 - color: @brand; 1762 - font-weight: 900; 1763 - line-height: 1.45; 1764 - 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; 1765 1765 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 + } 1766 1766 } 1767 1767 1768 -#mainContentArea .hero.hero-saas .hero-actions, 1769 -#mainContentArea .hero.hero-saas #hero-cta { 1770 - display: flex; 1771 - flex-wrap: wrap; 1772 - justify-content: flex-start; 1773 - gap: 12px; 1774 - margin-top: 0; 2121 +/* ========== Resources ========== */ 2122 + 2123 +.resource-strip { 2124 + background: @brand-bg; 1775 1775 } 1776 1776 1777 -#mainContentArea .hero-image-wrapper { 1778 - 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 { 1779 1779 display: flex; 1780 - justify-content: center; 1781 1781 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 + } 1782 1782 } 1783 1783 1784 -#mainContentArea .hero-image { 1785 - display: block; 1786 - width: 100%; 1787 - max-width: 620px; 1788 - height: auto; 1789 - 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 + } 1790 1790 } 1791 1791 1792 -/* ========== Main Page HeroResponsive ========== */2300 +/* ========== Responsive ========== */ 1793 1793 1794 -@media (max-width: 1100px) { 1795 - #mainContentArea .hero-layout { 1796 - 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 { 1797 1797 grid-template-columns: 1fr; 1798 - gap: 34px; 1799 1799 } 1800 1800 1801 - #mainContentArea .hero-copy { 1802 - order: 1; 2314 + .split-copy h2 { 1803 1803 text-align: center; 1804 1804 } 2317 +} 1805 1805 1806 - #mainContentArea .hero-image-wrapper { 1807 - order: 2; 2319 +@media (max-width: 760px) { 2320 + section[id] { 2321 + scroll-margin-top: 132px; 1808 1808 } 1809 1809 1810 - #mainContentArea .hero.hero-saas h1 { 1811 - margin-left: auto; 1812 - 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; 1813 1813 text-align: center; 2408 + line-height: 1.18; 1814 1814 } 1815 1815 1816 - #mainContentArea .hero.hero-saas .lead { 1817 - margin-left: auto; 1818 - margin-right: auto; 2411 + .resource-summary { 2412 + max-width: 780px; 2413 + margin: 0 auto; 2414 + color: @muted; 1819 1819 text-align: center; 2416 + font-size: 18px; 2417 + line-height: 1.55; 1820 1820 } 2419 +} 1821 1821 1822 - #mainContentArea .hero.hero-saas .benefits { 1823 - margin-left: auto; 1824 - 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; 1825 1825 } 1826 1826 1827 - #mainContentArea .hero.hero-saas.hero-actions,1828 - #mainContentArea.hero.hero-saas#hero-cta{1829 - justify-content:center;2445 + h3 { 2446 + margin: 24px 0 8px; 2447 + line-height: 1.3; 1830 1830 } 1831 1831 1832 - #mainContentArea.hero-image{1833 - ma x-width:620px;2450 + p { 2451 + margin: 0 0 16px; 1834 1834 } 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 + } 1835 1835 } 1836 1836 1837 -@media (max-width: 640px) { 1838 - #mainContentArea .hero.hero-saas { 1839 - 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; 1840 1840 } 2479 +} 1841 1841 1842 - #mainContentArea .hero-layout { 1843 - gap: 28px; 2481 +.resource-note.related-resources { 2482 + p { 2483 + margin-bottom: 10px; 1844 1844 } 1845 1845 1846 - #mainContentArea.hero.hero-saas h1{1847 - font-size:42px;1848 - letter-spacing:-1.5px;2486 + ul { 2487 + margin: 0; 2488 + padding-left: 20px; 1849 1849 } 1850 1850 1851 - #mainContentArea .hero.hero-saas .lead { 1852 - font-size: 17px; 2491 + li { 2492 + margin: 6px 0; 2493 + color: @muted; 1853 1853 } 2495 +} 1854 1854 1855 - #mainContentArea .hero.hero-saas .benefits { 1856 - 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; 1857 1857 } 1858 1858 1859 - #mainContentArea .hero-image { 1860 - max-width: 100%; 2509 + summary:hover, 2510 + summary:focus { 2511 + color: @brand-strong; 1861 1861 } 2513 + 2514 + p { 2515 + margin: 10px 0 4px; 2516 + color: @muted; 2517 + } 1862 1862 } 1863 1863 1864 -/* ========== Accessibility / Contrast Improvements ========== */ 2520 +.resource-checklist { 2521 + margin: 18px 0 24px; 2522 + padding: 0; 2523 + list-style: none; 1865 1865 1866 -/* Make the global background softer and less distracting. */ 1867 -body { 1868 - background: 1869 - radial-gradient(circle at 12% 8%, rgba(0, 147, 125, 0.035) 0, transparent 26%), 1870 - radial-gradient(circle at 90% 28%, rgba(7, 24, 45, 0.025) 0, transparent 30%), 1871 - linear-gradient(180deg, #fff 0, @brand-bg 42%, #fff 100%) !important; 1872 - 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 + } 1873 1873 } 1874 1874 1875 -/* Keep the article area readable while preserving the page background around it. */ 1876 -#mainContentArea .resource-layout { 1877 - padding: 28px; 1878 - 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; 1879 1879 border-radius: @radius; 1880 - background: rgba(255, 255, 255, .88); 2550 + padding: 18px; 2551 + background: #fff; 1881 1881 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 + } 1882 1882 } 1883 1883 1884 -/* Ensure all reusable cards have a real surface, not transparent over the gradient. */ 1885 -#mainContentArea .widget, 1886 -#mainContentArea .pathway-card, 1887 -#mainContentArea .service-card, 1888 -#mainContentArea .resource-card, 1889 -#mainContentArea .services .service, 1890 -#mainContentArea .product-card, 1891 -#mainContentArea .product-feature, 1892 -#mainContentArea .product-summary-card, 1893 -#mainContentArea .product-info-card { 1894 - 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 + } 1895 1895 } 1896 1896 1897 -/* Make notes more readable and visually stronger. */ 1898 -#mainContentArea .resource-note { 1899 - border: 1px solid fade(@brand, 18%); 1900 - border-left: 4px solid @brand; 1901 - background: #fff; 1902 - box-shadow: 0 10px 28px rgba(15, 23, 42, .045); 2604 +.resource-note, 2605 +.resource-checklist, 2606 +.resource-cta { 2607 + display: flow-root; 1903 1903 } 1904 1904 1905 -/* Keep the sidebar clearly separated from the background. */ 1906 -#mainContentArea .resource-sidebar { 1907 - background: #fff; 2610 +@media (max-width: 767px) { 2611 + .resource-cta { 2612 + padding: 24px 20px; 2613 + } 1908 1908 } 1909 1909 1910 -/* Make CTA panels stand out more clearly. */ 1911 -#mainContentArea .resource-cta, 1912 -#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 { 1913 1913 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 + } 1914 1914 } 1915 1915 1916 -/* Improve table readability on long resource pages. */ 1917 -#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 { 1918 1918 background: #fff; 2729 + border: 1px solid @line; 2730 + border-radius: @radius; 2731 + box-shadow: @shadow-sm; 1919 1919 } 1920 1920 1921 -#mainContentArea .resource-content table th { 1922 - color: @text; 1923 - 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 + } 1924 1924 } 1925 1925 1926 -#mainContentArea .resource-content table td { 1927 - 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 + } 1928 1928 } 1929 1929 1930 -/* Slightly improve paragraph/list contrast in long articles. */ 1931 -#mainContentArea .resource-content p, 1932 -#mainContentArea .resource-content li { 1933 - 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; 1934 1934 } 1935 1935 1936 -#mainContentArea .resource-content .resource-note p, 1937 -#mainContentArea .resource-content .resource-checklist li, 1938 -#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%); 1939 1939 color: @muted; 2847 + text-align: center; 2848 + display: flex; 2849 + align-items: center; 2850 + justify-content: center; 1940 1940 } 1941 1941 1942 -@media (max-width: 900px) { 1943 - #mainContentArea .resource-layout { 1944 - 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; 1945 1945 } 2863 + 2864 + .product-summary-card h2 { 2865 + text-align: center; 2866 + } 1946 1946 } 1947 1947 1948 1948 @media (max-width: 640px) { 1949 - #mainContentArea .resource-layout { 1950 - padding: 18px; 1951 - 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 + } 1952 1952 } 2879 + 2880 + .product-summary-card, 2881 + .product-info-card, 2882 + .product-feature, 2883 + .product-gallery-panel { 2884 + padding: 20px; 2885 + } 1953 1953 } 1954 1954 2888 +/* ========== Resources Index ========== */ 1955 1955 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 +}