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,122 +247,34 @@ 247 247 margin-top: 22px; 248 248 } 249 249 250 -/* ========== ContrastBand========== */246 +/* ========== Trust Strip ========== */ 251 251 252 -.contrast-band { 253 - position: relative; 254 - overflow: visible; 255 - isolation: isolate; 256 - padding: 54px 0; 257 - border-top: 0; 258 - color: #fff; 259 - background: transparent; 260 -} 248 +.trust-strip { 249 + padding: 18px 0; 250 + border-top: 1px solid @line; 251 + background: #fff; 261 261 262 -.contrast-band::before { 263 - content: ""; 264 - position: absolute; 265 - top: 0; 266 - bottom: 0; 267 - left: 50%; 268 - width: 100vw; 269 - transform: translateX(-50%); 270 - z-index: -2; 271 - background: 272 - radial-gradient(circle at 18% 18%, fade(@brand, 22%) 0%, transparent 28%), 273 - radial-gradient(circle at 86% 12%, fade(@brand, 16%) 0%, transparent 30%), 274 - linear-gradient(135deg, @text 0%, @text-soft 100%); 275 -} 253 + ul { 254 + max-width: 960px; 255 + margin: 0 auto; 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; 264 + } 276 276 277 -.contrast-band::after { 278 - content: ""; 279 - position: absolute; 280 - top: 0; 281 - bottom: 0; 282 - left: 50%; 283 - width: 100vw; 284 - transform: translateX(-50%); 285 - z-index: -1; 286 - background: 287 - linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px), 288 - linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px); 289 - background-size: 52px 52px; 290 - opacity: .38; 291 - pointer-events: none; 292 -} 293 - 294 -.contrast-band .container { 295 - position: relative; 296 - z-index: 1; 297 -} 298 - 299 -.contrast-panel { 300 - max-width: 1040px; 301 - margin: 0 auto; 302 - text-align: center; 303 -} 304 - 305 -.contrast-band h2 { 306 - max-width: 860px; 307 - margin: 0 auto 12px; 308 - color: #fff; 309 -} 310 - 311 -.contrast-band .section-intro { 312 - max-width: 840px; 313 - margin: 0 auto 26px; 314 - color: #D9E3EE; 315 -} 316 - 317 -.contrast-tags { 318 - max-width: 940px; 319 - margin: 0 auto; 320 - display: flex; 321 - flex-wrap: wrap; 322 - justify-content: center; 323 - gap: 10px; 324 -} 325 - 326 -.contrast-tags span { 327 - display: inline-flex; 328 - align-items: center; 329 - padding: 8px 13px; 330 - border: 1px solid fade(#fff, 18%); 331 - border-radius: 999px; 332 - background: fade(#fff, 8%); 333 - color: #F8FAFC; 334 - font-size: 13px; 335 - font-weight: 700; 336 - line-height: 1.2; 337 -} 338 - 339 -.contrast-tags span::before { 340 - content: ""; 341 - width: 7px; 342 - height: 7px; 343 - margin-right: 8px; 344 - border-radius: 50%; 345 - background: @brand; 346 - box-shadow: 0 0 0 4px fade(@brand, 18%); 347 -} 348 - 349 -.contrast-support { 350 - max-width: 860px; 351 - margin: 30px auto 0; 352 - color: #D9E3EE; 353 - text-align: center; 354 - font-size: 15px; 355 - line-height: 1.7; 356 -} 357 - 358 -@media (max-width: 640px) { 359 - .contrast-band { 360 - padding: 40px 0; 266 + li { 267 + display: flex; 268 + align-items: center; 269 + gap: 7px; 361 361 } 362 362 363 - .contrast-tags span { 364 - font-size: 12px; 365 - padding: 8px 11px; 272 + i { 273 + color: @brand; 366 366 } 367 367 } 368 368 ... ... @@ -413,6 +413,7 @@ 413 413 .pathway-card, 414 414 .service-card, 415 415 .resource-card { 324 + background: #fff; 416 416 border: 1px solid @line; 417 417 border-radius: @radius; 418 418 box-shadow: @shadow-sm; ... ... @@ -522,6 +522,80 @@ 522 522 } 523 523 } 524 524 434 +.industry-trust-section { 435 + background: 436 + radial-gradient(42rem 16rem at 50% 0%, @brand-bg 0%, transparent 70%); 437 + 438 + .industry-trust-panel { 439 + max-width: 1040px; 440 + margin: 0 auto; 441 + padding: 30px 28px; 442 + border: 1px solid fade(@brand, 16%); 443 + border-radius: @radius; 444 + background: 445 + radial-gradient(34rem 12rem at 50% 0%, fade(@brand-soft, 75%) 0%, #fff 72%); 446 + box-shadow: @shadow-sm; 447 + text-align: center; 448 + } 449 + 450 + h2 { 451 + margin-bottom: 12px; 452 + } 453 + 454 + .section-intro { 455 + margin-bottom: 20px; 456 + max-width: 820px; 457 + } 458 + 459 + .industry-tags { 460 + max-width: 880px; 461 + margin: 0 auto; 462 + display: flex; 463 + flex-wrap: wrap; 464 + justify-content: center; 465 + gap: 10px; 466 + } 467 + 468 + .industry-tags span { 469 + display: inline-flex; 470 + align-items: center; 471 + padding: 7px 12px; 472 + border: 1px solid fade(@brand, 20%); 473 + border-radius: 999px; 474 + background: #fff; 475 + color: @text; 476 + font-size: 13px; 477 + font-weight: 600; 478 + line-height: 1.2; 479 + box-shadow: 0 3px 10px rgba(0, 0, 0, .04); 480 + } 481 + 482 + .industry-support { 483 + max-width: 820px; 484 + margin: 22px auto 0; 485 + color: @muted; 486 + font-size: 16px; 487 + line-height: 1.6; 488 + } 489 +} 490 + 491 +@media (max-width: 640px) { 492 + .industry-trust-section { 493 + .industry-trust-panel { 494 + padding: 24px 18px; 495 + } 496 + 497 + .industry-tags { 498 + gap: 8px; 499 + } 500 + 501 + .industry-tags span { 502 + font-size: 12px; 503 + padding: 6px 10px; 504 + } 505 + } 506 +} 507 + 525 525 /* ========== Services ========== */ 526 526 527 527 .services { ... ... @@ -534,6 +534,7 @@ 534 534 align-items: flex-start; 535 535 gap: 16px; 536 536 padding: 22px; 520 + background: #fff; 537 537 border: 1px solid @line; 538 538 border-radius: @radius; 539 539 box-shadow: @shadow-sm; ... ... @@ -621,6 +621,7 @@ 621 621 position: relative; 622 622 padding: 16px 16px 16px 58px; 623 623 margin-bottom: 12px; 608 + background: #fff; 624 624 border: 1px solid @line; 625 625 border-radius: @radius; 626 626 box-shadow: @shadow-sm; ... ... @@ -752,8 +752,8 @@ 752 752 753 753 /* ========== CTA ========== */ 754 754 755 - #mainContentArea.cta-section {756 - padding: 44px 0 56px;740 +.cta-section { 741 + padding: @section-padding; 757 757 758 758 .contact-inline { 759 759 margin: 0; ... ... @@ -765,70 +765,27 @@ 765 765 } 766 766 } 767 767 768 -#mainContentArea .cta-panel { 769 - position: relative; 770 - overflow: hidden; 771 - max-width: 1040px; 753 +.cta-panel { 754 + max-width: 860px; 772 772 margin: 0 auto; 773 - padding: 48px40px;774 - border: 0;775 - border -radius:26px;756 + padding: 32px; 757 + border-radius: @radius; 758 + border: 1px solid fade(@brand, 20%); 776 776 background: 777 - radial-gradient(circle at 88% 10%, fade(@brand, 24%) 0%, transparent 30%), 778 - linear-gradient(135deg, @text 0%, @text-soft 100%); 779 - color: #fff; 780 - box-shadow: @shadow; 760 + radial-gradient(34rem 12rem at 50% 0%, @brand-soft 0%, #fff 70%); 761 + box-shadow: @shadow-sm; 781 781 text-align: center; 782 -} 783 783 784 -#mainContentArea .cta-panel::before { 785 - content: ""; 786 - position: absolute; 787 - inset: 0; 788 - background: 789 - linear-gradient(90deg, fade(#fff, 4%) 1px, transparent 1px), 790 - linear-gradient(180deg, fade(#fff, 4%) 1px, transparent 1px); 791 - background-size: 48px 48px; 792 - opacity: .4; 793 - pointer-events: none; 794 -} 764 + h2 { 765 + margin-top: 0; 766 + } 795 795 796 -#mainContentArea .cta-panel h2, 797 -#mainContentArea .cta-panel p, 798 -#mainContentArea .cta-panel .btn { 799 - position: relative; 800 - z-index: 1; 768 + p { 769 + color: @muted; 770 + line-height: 1.55; 771 + } 801 801 } 802 802 803 -#mainContentArea .cta-panel h2 { 804 - max-width: 760px; 805 - margin: 0 auto 16px; 806 - color: #fff; 807 -} 808 - 809 -#mainContentArea .cta-panel p { 810 - max-width: 760px; 811 - margin: 0 auto 28px; 812 - color: #DBE4EF; 813 - font-size: 16px; 814 - line-height: 1.6; 815 -} 816 - 817 -#mainContentArea .cta-panel .btn-primary { 818 - border-color: #fff; 819 - background: #fff; 820 - color: @text; 821 - box-shadow: 0 18px 42px rgba(0, 0, 0, .18); 822 -} 823 - 824 -#mainContentArea .cta-panel .btn-primary:hover, 825 -#mainContentArea .cta-panel .btn-primary:focus { 826 - border-color: #fff; 827 - background: #fff; 828 - color: @brand-strong; 829 - text-decoration: none; 830 -} 831 - 832 832 .resource-inline-cta { 833 833 display: flex; 834 834 align-items: center; ... ... @@ -960,14 +960,9 @@ 960 960 gap: 14px; 961 961 } 962 962 963 - #mainContentArea .cta-panel { 964 - padding: 30px 22px; 965 - border-radius: 20px; 905 + .cta-panel { 906 + padding: 24px 20px; 966 966 } 967 - 968 - #mainContentArea .cta-panel .btn-primary { 969 - width: 100%; 970 - } 971 971 } 972 972 973 973 /* ========== Resource / Article Pages ========== */ ... ... @@ -979,6 +979,9 @@ 979 979 .resource-header { 980 980 padding: @section-padding; 981 981 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%); 982 982 983 983 h1 { 984 984 margin: 0 auto 14px; ... ... @@ -1126,6 +1126,7 @@ 1126 1126 border: 1px solid @line; 1127 1127 border-radius: @radius; 1128 1128 padding: 18px; 1069 + background: #fff; 1129 1129 box-shadow: @shadow-sm; 1130 1130 1131 1131 h4 { ... ... @@ -1215,39 +1215,30 @@ 1215 1215 } 1216 1216 1217 1217 .product-card-grid { 1218 - max-width: 980px;1219 - margin: 2 6px auto 0;1159 + max-width: 840px; 1160 + margin: 22px auto 0; 1220 1220 display: grid; 1221 1221 grid-template-columns: 1fr; 1222 - grid-gap: 22px;1163 + grid-gap: 18px; 1223 1223 } 1224 1224 1225 1225 .product-card { 1226 - position:relative;1167 + background: #fff; 1227 1227 border: 1px solid @line; 1228 1228 border-radius: @radius; 1229 1229 box-shadow: @shadow-sm; 1230 - padding: 32px;1171 + padding: 28px; 1231 1231 display: grid; 1232 - grid-template-columns: 70px 1fr;1233 - grid-gap: 2 4px;1173 + grid-template-columns: 68px 1fr; 1174 + grid-gap: 22px; 1234 1234 align-items: start; 1235 - overflow: hidden; 1236 1236 1237 - &:before { 1238 - content: ""; 1239 - position: absolute; 1240 - inset: 0 auto 0 0; 1241 - width: 5px; 1242 - background: linear-gradient(180deg, @brand 0%, @brand-strong 100%); 1243 - } 1244 - 1245 1245 .product-card-icon { 1246 1246 width: 58px; 1247 1247 height: 58px; 1248 1248 border-radius: 50%; 1249 1249 background: fade(@brand, 10%); 1250 - border: 1px solid fade(@brand, 2 2%);1182 + border: 1px solid fade(@brand, 20%); 1251 1251 color: @brand; 1252 1252 display: flex; 1253 1253 align-items: center; ... ... @@ -1256,15 +1256,11 @@ 1256 1256 flex-shrink: 0; 1257 1257 } 1258 1258 1259 - .product-card-body { 1260 - min-width: 0; 1261 - } 1262 - 1263 1263 h3 { 1264 1264 margin: 0 0 10px; 1265 1265 color: @text; 1266 - font-size: 2 5px;1267 - line-height: 1.2 2;1194 + font-size: 23px; 1195 + line-height: 1.25; 1268 1268 font-weight: 800; 1269 1269 } 1270 1270 ... ... @@ -1273,36 +1273,25 @@ 1273 1273 line-height: 1.6; 1274 1274 } 1275 1275 1276 - .product-card-description { 1277 - max-width: 760px; 1278 - margin: 0 0 14px; 1279 - font-size: 16px; 1204 + .card-link { 1205 + margin: 0; 1206 + 1207 + a { 1208 + font-weight: 700; 1209 + } 1280 1280 } 1281 1281 } 1282 1282 1283 1283 .product-card-kicker { 1284 - display: inline-flex; 1285 - align-items: center; 1286 - gap: 7px; 1287 - width: fit-content; 1288 1288 margin-bottom: 10px; 1289 1289 padding: 5px 10px; 1290 - border: 1px solid fade(@brand, 24%); 1291 - border-radius: 999px; 1292 - background: fade(@brand, 8%); 1293 - color: @brand-strong; 1294 1294 font-size: 12px; 1295 - font-weight: 800; 1296 1296 text-transform: uppercase; 1297 1297 letter-spacing: .04em; 1298 - 1299 - i { 1300 - color: @brand; 1301 - } 1302 1302 } 1303 1303 1304 1304 .product-highlights { 1305 - margin: 14px 0 2 2px;1222 + margin: 14px 0 20px; 1306 1306 padding-left: 18px; 1307 1307 color: @muted; 1308 1308 ... ... @@ -1312,52 +1312,6 @@ 1312 1312 } 1313 1313 } 1314 1314 1315 -.product-card-actions { 1316 - display: flex; 1317 - align-items: center; 1318 - gap: 16px; 1319 - flex-wrap: wrap; 1320 - 1321 - .btn { 1322 - font-weight: 700; 1323 - } 1324 -} 1325 - 1326 -.product-card-contact { 1327 - color: @brand; 1328 - font-weight: 700; 1329 - text-decoration: underline; 1330 - 1331 - &:hover, 1332 - &:focus { 1333 - color: @brand-strong; 1334 - } 1335 -} 1336 - 1337 -@media (max-width: 640px) { 1338 - .product-card { 1339 - grid-template-columns: 1fr; 1340 - padding: 26px 22px; 1341 - text-align: left; 1342 - 1343 - &:before { 1344 - width: 4px; 1345 - } 1346 - 1347 - .product-card-icon { 1348 - margin-bottom: 2px; 1349 - } 1350 - 1351 - h3 { 1352 - font-size: 22px; 1353 - } 1354 - } 1355 - 1356 - .product-card-actions { 1357 - gap: 12px; 1358 - } 1359 -} 1360 - 1361 1361 /* ========== Individual Product Pages ========== */ 1362 1362 1363 1363 .product-layout { ... ... @@ -1373,6 +1373,7 @@ 1373 1373 .product-info-card, 1374 1374 .product-feature, 1375 1375 .product-gallery-panel { 1247 + background: #fff; 1376 1376 border: 1px solid @line; 1377 1377 border-radius: @radius; 1378 1378 box-shadow: @shadow-sm; ... ... @@ -1420,7 +1420,7 @@ 1420 1420 1421 1421 li { 1422 1422 margin: 8px 0; 1423 - line-height: 1. 3;1295 + line-height: 1.45; 1424 1424 } 1425 1425 } 1426 1426 ... ... @@ -1490,9 +1490,9 @@ 1490 1490 /* Keep the default XWiki gallery style. 1491 1491 Only add spacing before it and center it. */ 1492 1492 .gallery.xGallery { 1493 - margin: 2 5px auto;1494 - width:920px;1495 - height:518px;1365 + margin-top: 26px !important; 1366 + margin-left: auto !important; 1367 + margin-right: auto !important; 1496 1496 } 1497 1497 1498 1498 .product-section-muted { ... ... @@ -1615,6 +1615,7 @@ 1615 1615 /* ========== Resources Index ========== */ 1616 1616 1617 1617 .resources-index-page { 1490 + background: #fff; 1618 1618 1619 1619 .services-grid { 1620 1620 grid-template-columns: repeat(2, minmax(0, 1fr)); ... ... @@ -1650,288 +1650,3 @@ 1650 1650 color: @muted; 1651 1651 } 1652 1652 } 1653 - 1654 -/* ========== Global Theme Background ========== */ 1655 - 1656 -html, 1657 -body { 1658 - min-height: 100%; 1659 -} 1660 - 1661 -body { 1662 - color: @text; 1663 - background: 1664 - radial-gradient(circle at 12% 8%, rgba(0, 147, 125, 0.08) 0, transparent 26%), 1665 - radial-gradient(circle at 90% 28%, rgba(7, 24, 45, 0.05) 0, transparent 30%), 1666 - linear-gradient(180deg, #fff 0, @brand-bg 42%, #fff 100%) !important; 1667 - background-attachment: fixed; 1668 -} 1669 - 1670 -/* ========== Main Page Hero / SaaS Layout ========== */ 1671 - 1672 -#mainContentArea .hero.hero-saas { 1673 - min-height: auto; 1674 - padding: 60px 0 34px; 1675 - display: flex; 1676 - align-items: center; 1677 - overflow: hidden; 1678 - background: transparent; 1679 -} 1680 - 1681 -#mainContentArea .hero-layout { 1682 - max-width: 1120px; 1683 - margin: 0 auto; 1684 - display: grid; 1685 - grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); 1686 - gap: 56px; 1687 - align-items: center; 1688 -} 1689 - 1690 -#mainContentArea .hero-copy { 1691 - min-width: 0; 1692 - text-align: left; 1693 -} 1694 - 1695 -#mainContentArea .hero.hero-saas h1 { 1696 - max-width: 640px; 1697 - margin: 0 0 26px; 1698 - font-size: 60px; 1699 - font-weight: 800; 1700 - line-height: 1; 1701 - letter-spacing: -3px; 1702 -} 1703 - 1704 -#mainContentArea .hero.hero-saas h1 span { 1705 - color: @brand; 1706 -} 1707 - 1708 -#mainContentArea .hero.hero-saas .lead { 1709 - max-width: 590px; 1710 - margin: 0 0 28px; 1711 - color: #334155; 1712 - text-align: left; 1713 - font-size: 18px; 1714 - line-height: 1.6; 1715 -} 1716 - 1717 -#mainContentArea .hero.hero-saas .benefits { 1718 - max-width: 620px; 1719 - margin: 0 0 30px; 1720 - padding: 0; 1721 - display: grid; 1722 - grid-template-columns: repeat(2, minmax(0, 1fr)); 1723 - gap: 10px 24px; 1724 - list-style: none; 1725 - color: #475569; 1726 - font-size: 15px; 1727 - text-align: left; 1728 -} 1729 - 1730 -#mainContentArea .hero.hero-saas .benefits li { 1731 - display: grid; 1732 - grid-template-columns: 18px minmax(0, 1fr); 1733 - column-gap: 8px; 1734 - align-items: start; 1735 - margin: 0; 1736 - line-height: 1.45; 1737 -} 1738 - 1739 -#mainContentArea .hero.hero-saas .benefits li::before { 1740 - content: "✓"; 1741 - display: block; 1742 - width: 18px; 1743 - color: @brand; 1744 - font-weight: 900; 1745 - line-height: 1.45; 1746 - text-align: left; 1747 - margin: 0; 1748 -} 1749 - 1750 -#mainContentArea .hero.hero-saas .hero-actions, 1751 -#mainContentArea .hero.hero-saas #hero-cta { 1752 - display: flex; 1753 - flex-wrap: wrap; 1754 - justify-content: flex-start; 1755 - gap: 12px; 1756 - margin-top: 0; 1757 -} 1758 - 1759 -#mainContentArea .hero-image-wrapper { 1760 - min-width: 0; 1761 - display: flex; 1762 - justify-content: center; 1763 - align-items: center; 1764 -} 1765 - 1766 -#mainContentArea .hero-image { 1767 - display: block; 1768 - width: 100%; 1769 - max-width: 620px; 1770 - height: auto; 1771 - border: 0; 1772 -} 1773 - 1774 -/* ========== Main Page Hero Responsive ========== */ 1775 - 1776 -@media (max-width: 1100px) { 1777 - #mainContentArea .hero-layout { 1778 - max-width: 760px; 1779 - grid-template-columns: 1fr; 1780 - gap: 34px; 1781 - } 1782 - 1783 - #mainContentArea .hero-copy { 1784 - order: 1; 1785 - text-align: center; 1786 - } 1787 - 1788 - #mainContentArea .hero-image-wrapper { 1789 - order: 2; 1790 - } 1791 - 1792 - #mainContentArea .hero.hero-saas h1 { 1793 - margin-left: auto; 1794 - margin-right: auto; 1795 - text-align: center; 1796 - } 1797 - 1798 - #mainContentArea .hero.hero-saas .lead { 1799 - margin-left: auto; 1800 - margin-right: auto; 1801 - text-align: center; 1802 - } 1803 - 1804 - #mainContentArea .hero.hero-saas .benefits { 1805 - margin-left: auto; 1806 - margin-right: auto; 1807 - } 1808 - 1809 - #mainContentArea .hero.hero-saas .hero-actions, 1810 - #mainContentArea .hero.hero-saas #hero-cta { 1811 - justify-content: center; 1812 - } 1813 - 1814 - #mainContentArea .hero-image { 1815 - max-width: 620px; 1816 - } 1817 -} 1818 - 1819 -@media (max-width: 640px) { 1820 - #mainContentArea .hero.hero-saas { 1821 - padding: 42px 0 28px; 1822 - } 1823 - 1824 - #mainContentArea .hero-layout { 1825 - gap: 28px; 1826 - } 1827 - 1828 - #mainContentArea .hero.hero-saas h1 { 1829 - font-size: 42px; 1830 - letter-spacing: -1.5px; 1831 - } 1832 - 1833 - #mainContentArea .hero.hero-saas .lead { 1834 - font-size: 17px; 1835 - } 1836 - 1837 - #mainContentArea .hero.hero-saas .benefits { 1838 - grid-template-columns: 1fr; 1839 - } 1840 - 1841 - #mainContentArea .hero-image { 1842 - max-width: 100%; 1843 - } 1844 -} 1845 - 1846 -/* ========== Accessibility / Contrast Improvements ========== */ 1847 - 1848 -/* Make the global background softer and less distracting. */ 1849 -body { 1850 - background: 1851 - radial-gradient(circle at 12% 8%, rgba(0, 147, 125, 0.035) 0, transparent 26%), 1852 - radial-gradient(circle at 90% 28%, rgba(7, 24, 45, 0.025) 0, transparent 30%), 1853 - linear-gradient(180deg, #fff 0, @brand-bg 42%, #fff 100%) !important; 1854 - background-attachment: scroll; 1855 -} 1856 - 1857 -/* Keep the article area readable while preserving the page background around it. */ 1858 -#mainContentArea .resource-layout { 1859 - padding: 28px; 1860 - border: 1px solid fade(@line, 85%); 1861 - border-radius: @radius; 1862 - background: rgba(255, 255, 255, .88); 1863 - box-shadow: @shadow-sm; 1864 -} 1865 - 1866 -/* Ensure all reusable cards have a real surface, not transparent over the gradient. */ 1867 -#mainContentArea .widget, 1868 -#mainContentArea .pathway-card, 1869 -#mainContentArea .service-card, 1870 -#mainContentArea .resource-card, 1871 -#mainContentArea .services .service, 1872 -#mainContentArea .product-card, 1873 -#mainContentArea .product-feature, 1874 -#mainContentArea .product-summary-card, 1875 -#mainContentArea .product-info-card { 1876 - background: #fff; 1877 -} 1878 - 1879 -/* Make notes more readable and visually stronger. */ 1880 -#mainContentArea .resource-note { 1881 - border: 1px solid fade(@brand, 18%); 1882 - border-left: 4px solid @brand; 1883 - background: #fff; 1884 - box-shadow: 0 10px 28px rgba(15, 23, 42, .045); 1885 -} 1886 - 1887 -/* Keep the sidebar clearly separated from the background. */ 1888 -#mainContentArea .resource-sidebar { 1889 - background: #fff; 1890 -} 1891 - 1892 -/* Make CTA panels stand out more clearly. */ 1893 -#mainContentArea .resource-cta, 1894 -#mainContentArea .resource-inline-cta { 1895 - background: #fff; 1896 -} 1897 - 1898 -/* Improve table readability on long resource pages. */ 1899 -#mainContentArea .resource-content table { 1900 - background: #fff; 1901 -} 1902 - 1903 -#mainContentArea .resource-content table th { 1904 - color: @text; 1905 - background: #F8FAFC; 1906 -} 1907 - 1908 -#mainContentArea .resource-content table td { 1909 - color: @text-soft; 1910 -} 1911 - 1912 -/* Slightly improve paragraph/list contrast in long articles. */ 1913 -#mainContentArea .resource-content p, 1914 -#mainContentArea .resource-content li { 1915 - color: @text-soft; 1916 -} 1917 - 1918 -#mainContentArea .resource-content .resource-note p, 1919 -#mainContentArea .resource-content .resource-checklist li, 1920 -#mainContentArea .resource-content .process-list li { 1921 - color: @muted; 1922 -} 1923 - 1924 -@media (max-width: 900px) { 1925 - #mainContentArea .resource-layout { 1926 - padding: 22px; 1927 - } 1928 -} 1929 - 1930 -@media (max-width: 640px) { 1931 - #mainContentArea .resource-layout { 1932 - padding: 18px; 1933 - border-radius: 14px; 1934 - } 1935 -} 1936 - 1937 -