/* APSA 8.3.3: shared brand mosaic. Intrinsic logo sizes are never stretched. */
.platform-mosaic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;margin-block:30px}.platform-card{--platform-bg:#e9e5db;--platform-fg:#303d39;--platform-accent:#a5874f;position:relative;isolation:isolate;overflow:hidden;grid-column:span 4;display:flex;flex-direction:column;min-width:0;padding:30px;border-radius:18px;border:1px solid #ffffff28;background:var(--platform-bg);color:var(--platform-fg);box-shadow:0 14px 35px #202b2310;min-height:300px;scroll-margin-top:110px}.platform-card:nth-child(1){grid-column:span 7}.platform-card:nth-child(2){grid-column:span 5}.platform-card:before{content:"";position:absolute;z-index:-1;inset:-80px -80px auto auto;width:290px;height:290px;border:1px solid currentColor;border-radius:50%;opacity:.09;box-shadow:0 0 0 38px #ffffff07,0 0 0 80px #ffffff04;pointer-events:none}.platform-brand-masar{--platform-bg:linear-gradient(135deg,#18332d,#08231e);--platform-fg:#fff7e7;--platform-accent:#d1b36b}.platform-brand-wee{--platform-bg:linear-gradient(135deg,#0b504b,#06332f);--platform-fg:#effffb;--platform-accent:#c6d8ac}.platform-brand-huzuz{--platform-bg:linear-gradient(135deg,#2c2923,#171713);--platform-fg:#fff8e8;--platform-accent:#dfbc70}.platform-brand-nucleus{--platform-bg:linear-gradient(135deg,#f2e8ce,#dfce9c);--platform-fg:#4a3b19;--platform-accent:#735815}.platform-brand-sago{--platform-bg:linear-gradient(135deg,#00834b,#00512e);--platform-fg:#f1fff7;--platform-accent:#c6f2cc}.platform-card-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:30px}.platform-card-logo{display:flex;align-items:center;justify-content:center;width:142px;height:76px;max-width:65%;padding:12px 17px;border-radius:12px;background:#fff9e9;border:1px solid #fff7;box-shadow:0 8px 20px #0000000a}.platform-card .platform-card-logo img{display:block;width:auto!important;height:auto!important;max-width:100%!important;max-height:52px!important;object-fit:contain!important}.platform-card-number{font-size:11px;letter-spacing:.12em;color:var(--platform-accent);font-variant-numeric:tabular-nums}.platform-card h3,.profile-book .platform-card h3{color:var(--platform-fg);font-size:clamp(20px,2vw,27px);line-height:1.5;margin:0 0 12px}.platform-card p,.profile-book .platform-card p{color:var(--platform-fg);opacity:.85;font-size:13px;line-height:1.95;margin:0 0 24px;max-width:65ch}.platform-card-link{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:16px;margin-top:auto;border-top:1px solid #ffffff35;color:var(--platform-fg)!important;text-decoration:none;font-size:12px;font-weight:600}.platform-brand-nucleus .platform-card-link{border-color:#80622235}.platform-card-link svg{color:var(--platform-accent);transition:transform .2s}.platform-card-link:hover svg{transform:translate(-3px,-3px)}[dir=ltr] .platform-card-link:hover svg{transform:translate(3px,-3px)}.platform-card:focus-within{outline:3px solid var(--platform-accent);outline-offset:4px}.platform-mosaic-compact .platform-card{min-height:290px}.platform-mosaic-compact .platform-card p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.platform-portfolio .section-heading{gap:35px}.platform-portfolio .section-heading h2{white-space:pre-line}
/* Image and typography share one architectural surface; text stays on a readable veil. */
.apsa-hero.wrap{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr;min-height:660px;margin-block:24px 45px;padding:65px 55px 45px;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#f8f5ee}.apsa-hero-copy{position:relative;z-index:2;width:52%;max-width:590px;grid-area:1/1;padding:0!important;align-self:center}.apsa-hero-copy>p{max-width:44ch}.apsa-hero h1{font-size:clamp(38px,4.1vw,66px);line-height:1.35}.apsa-hero-media{position:absolute!important;z-index:0;inset:0!important;margin:0!important;width:100%!important;height:100%!important;border:0!important;border-radius:0!important;overflow:hidden;box-shadow:none!important}.apsa-hero-media>img{width:100%!important;height:100%!important;min-height:0!important;object-fit:cover!important;object-position:35% center!important}.apsa-hero-media:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to left,#f8f5ee 0%,#f8f5eef7 32%,#f8f5eecf 49%,#f8f5ee45 66%,#f8f5ee00 85%)}[dir=ltr] .apsa-hero-media:after{background:linear-gradient(to right,#f8f5ee 0%,#f8f5eef7 32%,#f8f5eecf 49%,#f8f5ee45 66%,#f8f5ee00 85%)}[dir=ltr] .apsa-hero-media>img{transform:scaleX(-1)}.apsa-hero-media .apsa-image-note{position:absolute;z-index:1;bottom:30px;inset-inline-start:auto;inset-inline-end:30px;max-width:210px;background:#fffaf0d9;border:1px solid #fff9;backdrop-filter:blur(14px);border-radius:10px;padding:14px 18px;color:#352e21}.apsa-hero-delivered{display:flex;align-items:center;gap:30px;margin-top:28px}.apsa-hero-delivered>div{display:grid;gap:3px}.apsa-hero-delivered bdi{font-size:33px;line-height:1.3;color:#8b6c39;font-weight:600}.apsa-hero-delivered span{font-size:11px;color:#5a5d57}.apsa-hero-signature{margin-top:25px!important}.book-cover-facts{flex-wrap:wrap}.support-attachment-policy{font-size:10px;line-height:1.8;color:var(--muted);margin:4px 0 12px}
[data-theme=dark] .apsa-hero.wrap{background:#171c1b}[data-theme=dark] .apsa-hero-media:after{background:linear-gradient(to left,#171c1b 0%,#171c1bf7 32%,#171c1bd9 49%,#171c1b55 70%,#171c1b00)}[data-theme=dark][dir=ltr] .apsa-hero-media:after{background:linear-gradient(to right,#171c1b 0%,#171c1bf7 32%,#171c1bd9 49%,#171c1b55 70%,#171c1b00)}[data-theme=dark] .apsa-hero-delivered span{color:#ddd7c8}[data-theme=dark] .apsa-hero-delivered bdi{color:#d8bd83}
@media(max-width:1000px){.platform-card{padding:24px;grid-column:span 6}.platform-card:nth-child(1),.platform-card:nth-child(2){grid-column:span 6}.platform-card:last-child:nth-child(odd){grid-column:span 12}.apsa-hero.wrap{min-height:580px;padding:45px 35px}.apsa-hero-copy{width:62%}.apsa-hero-media:after{background:linear-gradient(to left,#f8f5ee 0%,#f8f5eef5 38%,#f8f5eeae 60%,#f8f5ee00)}[dir=ltr] .apsa-hero-media:after{background:linear-gradient(to right,#f8f5ee 0%,#f8f5eef5 38%,#f8f5eeae 60%,#f8f5ee00)}}
@media(max-width:640px){.platform-mosaic{grid-template-columns:1fr;gap:14px}.platform-mosaic>.platform-card,.platform-mosaic>.platform-card:nth-child(n){grid-column:1;min-height:0;padding:24px}.platform-card-top{margin-bottom:22px}.platform-card-logo{width:132px;height:70px}.platform-card p,.profile-book .platform-card p{font-size:13px}.apsa-hero.wrap{min-height:760px;padding:32px 24px 265px;margin-block:15px 25px}.apsa-hero-copy{width:100%;max-width:100%}.apsa-hero h1{font-size:42px}.apsa-hero-copy>p{font-size:14px}.apsa-hero-media>img{object-position:40% bottom!important}.apsa-hero-media:after,[dir=ltr] .apsa-hero-media:after{background:linear-gradient(to bottom,#f8f5ee 0%,#f8f5eefc 42%,#f8f5eeac 64%,#f8f5ee00 84%)}.apsa-hero-media .apsa-image-note{bottom:18px;inset-inline-end:18px;padding:10px 13px;max-width:180px}.apsa-hero-media .apsa-image-note strong{font-size:12px}.apsa-hero-delivered{margin-top:20px}.apsa-hero-actions{gap:14px!important;flex-wrap:wrap}.apsa-hero-signature{font-size:9px!important}[data-theme=dark] .apsa-hero-media:after,[data-theme=dark][dir=ltr] .apsa-hero-media:after{background:linear-gradient(to bottom,#171c1b 0%,#171c1bfc 42%,#171c1bac 64%,#171c1b00 84%)}}
@media(prefers-reduced-motion:reduce){.platform-card-link svg{transition:none}}
/* Printed web profile retains brand cards without clipped paragraphs. */
@media print{.platform-mosaic{display:grid!important;grid-template-columns:1fr 1fr!important;gap:4mm!important;margin-block:5mm!important}.platform-mosaic>.platform-card:nth-child(n){grid-column:auto!important;padding:5mm!important;border-radius:2mm!important;min-height:0!important;break-inside:avoid!important;box-shadow:none!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.platform-mosaic .platform-card-top{margin-bottom:3mm!important}.platform-mosaic .platform-card-logo{width:32mm!important;height:16mm!important;padding:2mm!important}.platform-mosaic .platform-card p{font-size:8pt!important;line-height:1.7!important;display:block!important;margin-bottom:3mm!important;overflow:visible!important}.platform-mosaic .platform-card h3{font-size:12pt!important}.platform-card-link{font-size:8pt!important}}
/* Keep the image caption compact: reset inherited top inset. */
.apsa-hero-media .apsa-image-note{top:auto!important;height:auto!important;min-height:0!important;align-content:start}
/* CMS-controlled delivery disciplines: eight service cards and a compact software capability. */
.apsa-capabilities[hidden]{display:none!important}.apsa-capability-grid{align-items:stretch}.apsa-capability-grid article{min-width:0;display:flex;flex-direction:column}.apsa-capability-grid .capability-copy{flex:1}.apsa-capability-grid .capability-copy li{align-items:flex-start;line-height:1.8}.apsa-capability-grid .capability-copy li svg{flex:none;margin-top:5px}.apsa-capability-grid article.capability-digital{grid-column:1/-1;display:grid;grid-template-columns:125px minmax(0,1fr);align-items:center;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface)}.capability-digital .capability-image{aspect-ratio:auto;height:100%;min-height:170px;background:var(--subtle);padding:30px}.capability-digital .capability-image img{object-fit:contain}.capability-digital .capability-image>span{display:none}.capability-digital .capability-copy{padding:26px 30px}.capability-digital .capability-copy ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 25px}.capability-digital .capability-copy h3{margin-bottom:16px}@media(max-width:650px){.apsa-capability-grid article.capability-digital{grid-template-columns:70px minmax(0,1fr)}.capability-digital .capability-image{padding:14px;min-height:0}.capability-digital .capability-copy{padding:20px 14px}.capability-digital .capability-copy ul{grid-template-columns:1fr}.capability-digital .capability-copy h3{font-size:16px}.capability-digital .capability-copy li{font-size:11px}}
@media(min-width:1001px){.apsa-capability-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.apsa-capability-grid .capability-copy{padding:24px}.apsa-capability-grid .capability-copy h3{font-size:19px}.apsa-capability-grid .capability-copy li{font-size:13px}.apsa-capability-grid .capability-image{aspect-ratio:1.7}}
@media(max-width:650px){.apsa-capability-grid article:nth-last-child(2){grid-column:1/-1}.apsa-capability-grid article:nth-last-child(2) .capability-image{aspect-ratio:2.2}.apsa-capability-grid article:nth-last-child(2) ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}}

/* Transparent master logo: keep the complete lockup legible in every shell. */
html .brand>img,html .footer-identity>img{width:62px;height:60px;object-fit:contain!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
html .admin-sidebar .admin-brand img,html .auth-brand img{width:56px;height:56px;object-fit:contain!important;border:0!important;border-radius:0!important;background:transparent!important}
html .book-brand>img{width:76px;height:76px;object-fit:contain!important;background:transparent!important}
@media(max-width:650px){html .brand>img{width:46px;height:46px}html .book-brand>img{width:64px;height:64px}}
@media print{html .book-brand>img{width:18mm!important;height:18mm!important;object-fit:contain!important}}

/* Keep the software logo in its grid cell; neutralize photo aspect ratios. */
.apsa-capability-grid article.capability-digital{grid-template-columns:145px minmax(0,1fr);column-gap:0}
.apsa-capability-grid article.capability-digital>.capability-image{grid-column:1;grid-row:1;width:100%;min-width:0;max-width:100%;height:100%;min-height:0;aspect-ratio:auto;display:flex;align-items:center;justify-content:center;padding:22px;box-sizing:border-box}
.apsa-capability-grid article.capability-digital>.capability-image>img{width:100%;max-width:100%;height:auto;max-height:140px;object-fit:contain;flex:none;transform:none}
.apsa-capability-grid article.capability-digital>.capability-copy{grid-column:2;grid-row:1;min-width:0;max-width:100%;box-sizing:border-box}
@media(max-width:650px){.apsa-capability-grid article.capability-digital{grid-template-columns:85px minmax(0,1fr)}.apsa-capability-grid article.capability-digital>.capability-image{padding:12px}.apsa-capability-grid article.capability-digital>.capability-copy{padding:20px 14px}.apsa-capability-grid article.capability-digital>.capability-copy ul{grid-template-columns:1fr}}
