/* Professional Services / scoped extension of existing Stacksona tokens. */
.ps-page{--ps-purple:var(--site-purple,#5d56c8);--ps-ink:var(--site-ink,#1e1e1e);--ps-muted:var(--site-muted,#646970);--ps-border:var(--site-border,#dcdcde);--ps-soft:var(--site-warm,#f7f7f2);--ps-lavender:#f0efff;background:#fff;color:var(--ps-ink)}
.ps-page a{text-underline-offset:.2em}.ps-page :is(a,summary):focus-visible{outline:3px solid var(--ps-purple);outline-offset:4px}
.ps-page .site-header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.97);border-bottom:1px solid var(--ps-border)}
.ps-page .header-inner{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;min-height:72px}
.ps-page .brand{display:flex;align-items:center;gap:.6rem;text-decoration:none}
.ps-page .brand-icon{width:38px;height:38px;object-fit:contain}
.ps-page .company-name{display:block;font-size:1.4rem;line-height:1.1;color:var(--ps-ink)}
.ps-page .company-tag{display:block;font-size:.69rem;color:var(--ps-muted)}
.ps-nav{display:flex;align-items:center;gap:1.4rem}.ps-nav a{color:#3c434a;font-size:.88rem;text-decoration:none}.ps-nav a:hover{color:var(--ps-purple)}
.ps-header-cta,.ps-btn{border-radius:2px;font-weight:700;text-decoration:none}
.ps-header-cta{padding:.7rem 1rem;border:1px solid var(--ps-purple);background:var(--ps-purple);color:#fff!important;font-size:.84rem;white-space:nowrap}
.ps-header-cta span{margin-left:.3rem}.ps-header-cta:hover,.ps-btn-primary:hover{background:#4740b7;border-color:#4740b7}
.ps-hero{padding:clamp(4rem,7.5vw,7.8rem) 0 clamp(4rem,7vw,6.5rem);background:linear-gradient(180deg,#fff 0%,#f8f7ff 100%);border-bottom:1px solid var(--ps-border)}
.ps-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:clamp(2.5rem,6vw,6.5rem);align-items:center}
.ps-eyebrow{color:var(--ps-purple);font-size:.73rem;letter-spacing:.085em;font-weight:800;margin:0 0 1.1rem;text-transform:uppercase}
.ps-hero h1{font-size:clamp(3rem,5.25vw,5.5rem);letter-spacing:-.065em;line-height:1.01;margin:0 0 1.6rem;max-width:13ch;font-weight:750;color:var(--ps-ink)}
.ps-hero h1 span{color:var(--ps-purple)}.ps-lead{font-size:clamp(1.13rem,1.55vw,1.32rem);line-height:1.58;max-width:40rem;margin:0;color:#333b44}
.ps-supporting{line-height:1.75;color:var(--ps-muted);max-width:40rem;font-size:1.02rem;margin:1.2rem 0 0}
.ps-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin:2rem 0 0}
.ps-btn{display:inline-flex;justify-content:center;align-items:center;gap:.6rem;min-height:48px;padding:.85rem 1.15rem;font-size:.88rem;border:1px solid var(--ps-purple);transition:background-color .18s,border-color .18s,color .18s}
.ps-btn-primary{background:var(--ps-purple);color:#fff!important}.ps-btn-secondary{background:transparent;color:var(--ps-purple)!important}.ps-btn-secondary:hover{background:var(--ps-lavender)}
.ps-proof-line{font-size:.83rem;color:#646970;margin:1.45rem 0 0;line-height:1.8}.ps-proof-line span{padding:0 .25rem;color:var(--ps-purple)}
.ps-visual{border:1px solid #35364d;background:#1e232f;color:#fff;padding:clamp(1rem,2.5vw,1.7rem);box-shadow:0 18px 50px rgba(30,35,47,.1);border-radius:4px;min-width:0}
.ps-visual-head{display:flex;align-items:center;gap:.65rem;border-bottom:1px solid #41435d;padding-bottom:1.1rem;font-size:.9rem;font-weight:700}
.ps-visual-head img{width:41px;height:41px;object-fit:contain}
.ps-visual-label{margin-left:auto;color:#c4c2e1;font:600 .6rem/1.3 'IBM Plex Mono',monospace;letter-spacing:.05em}
.ps-flow{padding:1.5rem clamp(.3rem,2vw,1.3rem)}
.ps-flow-node{border:1px solid #4b4c66;background:#27283d;padding:1rem 1.2rem;border-radius:3px;display:flex;flex-direction:column;gap:.35rem}
.ps-flow-node strong{font-size:1.02rem}.ps-flow-kicker{color:#c9c6ff;font:600 .65rem/1.4 'IBM Plex Mono',monospace;letter-spacing:.09em}
.ps-flow-node code{color:#eeebff;font-size:.82rem;overflow-wrap:anywhere}.ps-flow-node small{color:#c6c5d7}.ps-flow-highlight{border-left:4px solid #aaa3ff;background:#353154}
.ps-flow-connector{text-align:center;display:block;color:#b4afff;font-size:1.3rem;line-height:1.35}
.ps-visual-foot{border-top:1px solid #41435d;padding-top:1rem;color:#d7d5e9;font-size:.79rem;display:flex;gap:.55rem;align-items:center}
.ps-status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#b7b1ff;flex:0 0 auto}
.ps-strip{border-bottom:1px solid var(--ps-border)}
.ps-strip-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.ps-strip p{padding:1.4rem 1.4rem 1.4rem 0;border-right:1px solid var(--ps-border);margin:0 0 0 1.4rem;display:flex;flex-direction:column;gap:.3rem;line-height:1.4}
.ps-strip p:first-child{margin-left:0}.ps-strip p:last-child{border:0}.ps-strip strong{font-size:.88rem}.ps-strip span{color:var(--ps-muted);font-size:.81rem}
.ps-section{padding:clamp(4rem,7vw,7.5rem) 0;border-bottom:1px solid var(--ps-border);background:#fff}
.ps-section-soft{background:var(--ps-soft)}
.ps-section-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:3rem;align-items:end;margin-bottom:2.3rem}
.ps-section-heading h2,.ps-product-note h2,.ps-bottom-cta h2{font-size:clamp(2.2rem,4vw,4.1rem);letter-spacing:-.055em;line-height:1.06;max-width:18ch;margin:0}
.ps-section-heading>p{line-height:1.7;color:var(--ps-muted);margin:0;max-width:31rem}
.ps-grid{display:grid;gap:.8rem}
.ps-deliverables,.ps-areas,.ps-resources{grid-template-columns:repeat(4,1fr)}
.ps-deliverables article,.ps-areas article,.ps-resources a{border:1px solid var(--ps-border);background:#fff;padding:clamp(1.25rem,2vw,1.8rem);border-radius:3px;min-width:0}
.ps-num{display:inline-grid;place-items:center;width:37px;height:37px;background:var(--ps-lavender);color:var(--ps-purple);font:700 .86rem 'IBM Plex Mono',monospace}
.ps-grid h3{font-size:1.1rem;letter-spacing:-.02em;line-height:1.27;margin:1.4rem 0 .7rem}
.ps-grid p{font-size:.93rem;line-height:1.7;color:var(--ps-muted);margin:0}
.ps-callout{margin-top:1rem;background:#1e232f;border-radius:3px;padding:clamp(1.45rem,3vw,2.4rem);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.ps-callout .ps-eyebrow{color:#b8b2ff}.ps-callout h3{font-size:clamp(1.45rem,2.3vw,2rem);margin:0 0 .65rem}
.ps-callout p:not(.ps-eyebrow){max-width:49rem;line-height:1.65;color:#d2d2e2;margin:0}.ps-callout .ps-btn{flex:0 0 auto}
.ps-timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;list-style:none;padding:0;margin:0}
.ps-timeline li{border-top:2px solid var(--ps-purple);padding:1.5rem 0 0}
.ps-timeline li>span{display:inline-grid;place-items:center;width:40px;height:40px;color:var(--ps-purple);background:#eceafd;border:1px solid #cecbf8;font:700 .84rem 'IBM Plex Mono',monospace}
.ps-timeline h3{font-size:1.13rem;letter-spacing:-.02em;margin:1.1rem 0 .45rem}
.ps-timeline p{font-size:.9rem;line-height:1.7;color:var(--ps-muted);margin:0}
.ps-inline-link{margin-top:2.2rem}.ps-inline-link a{font-weight:700;color:var(--ps-purple)}
.ps-areas article b{font:700 .83rem 'IBM Plex Mono',monospace;color:var(--ps-purple)}.ps-areas h3{margin:.85rem 0 .6rem}
.ps-scope-grid,.ps-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.ps-scope-box{border:1px solid var(--ps-border);background:#fff;padding:2rem}
.ps-scope-box h3{font-size:1.22rem;margin:0 0 1rem}.ps-scope-box ul{padding:0 0 0 1.2rem;margin:0;color:#3c434a;line-height:2}.ps-scope-box li::marker{color:var(--ps-purple)}
.ps-scope-note{font-size:.85rem;line-height:1.7;color:var(--ps-muted);max-width:70rem;margin:1.5rem 0 0}
.ps-resources a{display:flex;flex-direction:column;color:var(--ps-ink);text-decoration:none;transition:border-color .18s,background .18s}
.ps-resources a:hover{border-color:var(--ps-purple);background:#faf9ff}
.ps-resource-type{font-size:.68rem;letter-spacing:.07em;color:var(--ps-purple);font-weight:800}
.ps-resources h3{margin:.85rem 0 .6rem}.ps-resources a strong{color:var(--ps-purple);font-size:.85rem;margin-top:auto;padding-top:1.55rem}
.ps-product-note{background:#f0efff}.ps-product-note-grid{display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:center}.ps-product-note h2{max-width:20ch}
.ps-product-note p:not(.ps-eyebrow){max-width:62rem;line-height:1.7;color:#45415d}.ps-product-note a{font-weight:700;color:#4740b7}.ps-product-note img{width:130px;height:130px;object-fit:contain}
.ps-faq-grid{gap:.75rem}.ps-faq details{border:1px solid var(--ps-border);background:#fff;padding:1.15rem 1.4rem}
.ps-faq summary{cursor:pointer;font-weight:700;line-height:1.5}.ps-faq details p{margin:1rem 0 .25rem;color:var(--ps-muted);line-height:1.7;font-size:.92rem}
.ps-bottom-cta{background:#1e232f;color:#fff;padding:clamp(3.5rem,7vw,6rem) 0}
.ps-bottom-grid{display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:3rem}
.ps-bottom-cta .ps-eyebrow{color:#b8b2ff}.ps-bottom-cta h2{max-width:20ch}.ps-bottom-cta p:not(.ps-eyebrow){color:#d1d0e1;line-height:1.65;max-width:42rem}
.ps-bottom-actions{display:flex;flex-direction:column;gap:1rem;align-items:start}.ps-bottom-actions span{color:#d1d0e1;font-size:.84rem;max-width:20rem}
.ps-footer{border-top:1px solid var(--ps-border);padding:1.4rem 0;background:#fff}
.ps-footer .container{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;font-size:.83rem;color:var(--ps-muted)}
.ps-footer a{color:var(--ps-purple)}.ps-footer .ps-footer-brand{display:flex;align-items:center;gap:.5rem;font-weight:700;color:var(--ps-ink);text-decoration:none;font-size:1rem}.ps-footer a:last-child{margin-left:auto}
@media(max-width:1100px){.ps-hero-grid{grid-template-columns:1fr 1fr}.ps-deliverables,.ps-resources,.ps-areas{grid-template-columns:repeat(2,1fr)}.ps-timeline{grid-template-columns:repeat(3,1fr)}.ps-nav{gap:.7rem}}
@media(max-width:820px){.ps-nav{display:none}.ps-hero-grid,.ps-section-heading,.ps-bottom-grid{grid-template-columns:1fr}.ps-section-heading{gap:1.1rem}.ps-hero h1{max-width:16ch}.ps-strip-grid{grid-template-columns:repeat(2,1fr)}.ps-strip p:nth-child(2){border-right:0}.ps-callout{align-items:flex-start;flex-direction:column}.ps-timeline{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.ps-page .header-inner{min-height:67px}.ps-header-cta{font-size:.75rem;padding:.7rem}.ps-page .company-tag{display:none}.ps-hero{padding-top:3.5rem}.ps-hero h1{font-size:clamp(2.7rem,12vw,4rem)}.ps-strip-grid,.ps-deliverables,.ps-areas,.ps-resources,.ps-timeline,.ps-scope-grid,.ps-faq-grid,.ps-product-note-grid{grid-template-columns:1fr}.ps-strip p{margin:0;padding:1rem 0;border-right:0;border-bottom:1px solid var(--ps-border)}.ps-strip p:last-child{border-bottom:0}.ps-visual-head{flex-wrap:wrap}.ps-visual-label{margin:0 0 0 auto}.ps-product-note img{width:65px;height:65px}.ps-bottom-actions{align-items:stretch}.ps-bottom-actions .ps-btn{width:100%}.ps-footer a:last-child{margin-left:0}}
@media(prefers-reduced-motion:reduce){.ps-page *{scroll-behavior:auto!important;transition:none!important}}
.ps-process-figure{border:1px solid var(--ps-border);background:#fff;padding:1rem;margin:2rem 0 0}.ps-process-figure img{display:block;width:100%;height:auto}.ps-process-figure figcaption{font-size:.85rem;line-height:1.6;color:var(--ps-muted);padding:.8rem .25rem .15rem}

/* Provider-ready procurement section: extend existing square-cornered editorial cards. */
.ps-marketplace-section{background:var(--ps-soft)}
.ps-marketplace-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr);gap:1rem}
.ps-marketplace-card,.ps-marketplace-note{border:1px solid var(--ps-border);border-radius:0;padding:clamp(1.4rem,3vw,2.3rem);min-width:0;background:#fff}
.ps-marketplace-card{border-color:#262626}
.ps-marketplace-card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.7rem}
.ps-marketplace-provider{font-size:.72rem;font-weight:800;letter-spacing:.06em;color:var(--ps-purple)}
.ps-marketplace-status{font-size:.75rem;font-weight:700;color:#333;background:var(--ps-lavender);border:1px solid #dcd8ff;padding:.3rem .6rem}
.ps-marketplace-card h3,.ps-marketplace-note h3{font-size:clamp(1.5rem,2.3vw,2.15rem);letter-spacing:-.035em;line-height:1.2;margin:1.35rem 0 .7rem}
.ps-marketplace-card p,.ps-marketplace-note p:not(.ps-eyebrow){font-size:.95rem;line-height:1.75;color:var(--ps-muted);max-width:47rem;margin:0 0 1.7rem}
.ps-marketplace-note{background:#f9f8ff;border-color:#dcd8ff}
.ps-marketplace-note .ps-eyebrow{margin:0}
@media(max-width:820px){.ps-marketplace-grid{grid-template-columns:1fr}}
@media(max-width:600px){.ps-marketplace-card .ps-btn{width:100%}}

/* AWS marketplace procurement treatment: AWS orange, squid-ink, and brand icon.
   Square corners and a single dark outline remain consistent with Stacksona. */
.ps-page .ps-aws-cta,.ps-page .ps-aws-header-cta{
 display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
 background:#ff9900!important;border:1px solid #232f3e!important;
 color:#232f3e!important;border-radius:0!important;box-shadow:none!important;
 font-weight:700;text-decoration:none;line-height:1.3;
 transition:background-color .18s ease,border-color .18s ease;
}
.ps-page .ps-aws-cta:hover,.ps-page .ps-aws-header-cta:hover{
 background:#ed8d00!important;border-color:#232f3e!important;color:#232f3e!important;
}
.ps-page .ps-aws-cta:focus-visible,.ps-page .ps-aws-header-cta:focus-visible{
 outline:3px solid #232f3e;outline-offset:3px;
}
.ps-page .ps-aws-icon{
 display:block;width:31px;height:25px;flex:0 0 31px;object-fit:contain;
}
.ps-page .ps-aws-header-cta{padding:.64rem .85rem;font-size:.84rem;white-space:nowrap}
.ps-marketplace-card .ps-aws-cta{align-self:start}
@media(max-width:600px){
 .ps-page .ps-aws-header-cta{font-size:.74rem;padding:.55rem .65rem}
 .ps-page .ps-aws-header-cta .ps-aws-icon{width:27px;height:22px;flex-basis:27px}
 .ps-actions .ps-aws-cta{width:100%}
}
