:root{--asp-blue:#2559e8;--asp-navy:#142440;--asp-muted:#647792;--asp-line:#dfe6f1}
.asp-site{color:#334c70;background:#fff;font-family:Inter,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased}
.asp-container{width:min(1280px,calc(100% - 4rem));margin-inline:auto}
.asp-header{background:#fff;border-bottom:1px solid var(--asp-line);position:relative;z-index:30}
.asp-header-inner{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:1.15rem 0}
.asp-brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--asp-navy);flex-shrink:0}
.asp-brand:hover{color:var(--asp-navy)}
.asp-brand-icon{display:grid;place-items:center;width:2.55rem;height:2.55rem;border-radius:.7rem;background:#142440;color:#fff}
.asp-brand-icon svg{width:24px;height:24px}
.asp-brand strong{display:block;font-size:1.15rem;letter-spacing:-.04em;line-height:1.2}
.asp-brand small{display:block;font-size:.6rem;letter-spacing:.16em;color:#8291a7;margin-top:.3rem;font-weight:600}
.asp-nav{display:flex;align-items:center;gap:.3rem}
.asp-nav>a{padding:.6rem .8rem;font-size:.85rem;color:#657691;font-weight:600;text-decoration:none;border-radius:.45rem}
.asp-nav>a:hover,.asp-nav>a[aria-current=page]{color:#2559e8;background:#edf3ff}
.asp-nav>a.asp-nav-download{background:#2559e8;color:#fff;margin-left:.5rem;padding:.7rem 1rem}
.asp-menu{display:none;border:1px solid #dce4f1;background:white;border-radius:.55rem;width:42px;height:42px;color:#334c70;font-size:1.3rem;cursor:pointer}
.asp-site h1,.asp-site h2,.asp-site h3,.asp-site h4{color:#142440;letter-spacing:-.035em}
.asp-site h1{font-size:clamp(2.4rem,4.5vw,4rem);line-height:1.15;font-weight:600}
.asp-site h2{font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.25;font-weight:600}
.asp-site p{line-height:1.8}
.asp-site a{color:#2559e8}
.asp-site .text-primary{color:#2559e8!important}
.asp-site .btn{border-radius:.55rem;padding:.8rem 1.25rem;font-weight:600;font-size:.9rem;box-shadow:none;transition:background .15s,border-color .15s}
.asp-site .btn-primary{background:#2559e8;border-color:#2559e8;color:#fff}
.asp-site .btn-primary:hover{background:#1946c5;border-color:#1946c5;transform:none}
.asp-site .btn-outline-primary,.asp-site .btn-light{background:#fff;border-color:#ccd8ea;color:#2c476d}
.asp-site .card{border:1px solid #dfe6f1;border-radius:.8rem;box-shadow:0 16px 35px -34px #14244080}
.asp-site .card-body{padding:2rem}
.asp-site .transition-3d-hover:hover{transform:none}
.asp-site .bg-img-start{background-image:none!important;background-color:#f6f8fc;border-bottom:1px solid #e1e8f3}
.asp-site main>.bg-img-start h1+p{max-width:760px;color:#617590;font-size:1.08rem}
.asp-site .breadcrumb{font-size:.75rem}
.asp-site .article-body{color:#536b89;line-height:1.8}
.asp-site .article-body h1{font-size:clamp(2rem,3.4vw,3rem)}
.asp-site .article-body h2{font-size:1.7rem;border-top:1px solid #e3e9f3;padding-top:1.3rem}
.asp-site .article-body pre{background:#142440;color:#d8e4f8;border:0;border-radius:.65rem;padding:1.3rem;overflow-x:auto}
.asp-site .article-body pre code{color:inherit;background:none;white-space:pre}
.asp-site :not(pre)>code{overflow-wrap:anywhere}
.asp-site table{font-size:.9rem;line-height:1.7}
.asp-site table th{background:#f4f7fc;color:#536e94}
.asp-site main .demo-stage{border:1px solid #dce5f2;box-shadow:0 14px 30px -28px #14244080;border-radius:.8rem;background:#fff}
.asp-site .demo-head h1{font-size:clamp(1.8rem,3vw,2.6rem)}
.asp-site .demo-chip{background:#edf3ff;color:#4168a9;border-color:#dce6f8}
.asp-site .demo-source,.asp-site .source-panel{border-radius:.7rem;overflow:hidden}
.asp-eyebrow{font-size:.7rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#3b64ae;margin-bottom:1rem}
.asp-home-hero{background:radial-gradient(ellipse at 85% 15%,#e3ebff,transparent 55%),#f6f8fc;border-bottom:1px solid var(--asp-line)}
.asp-home-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;padding:5.5rem 0}
.asp-home-copy h1{margin:0 0 1.4rem;font-size:clamp(2.8rem,4.6vw,4.2rem);letter-spacing:-.055em}
.asp-home-copy h1 em{font-style:normal;color:#2559e8}
.asp-home-copy>p{font-size:1.12rem;line-height:1.8;color:#617590;max-width:36rem}
.asp-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.8rem 0 1.3rem}
.asp-home-checks{display:flex;flex-wrap:wrap;gap:.65rem 1.2rem;padding:1.5rem 0 0;margin:1.8rem 0 0;border-top:1px solid #dce4f0;list-style:none;font-size:.8rem;color:#607593}
.asp-home-checks li::before{content:'\2713';color:#2b8c78;margin-right:.45rem}
.asp-preview{padding:1.3rem;border-radius:1rem;background:#142440;box-shadow:0 30px 65px -35px #14244090;min-width:0}
.asp-preview-top{display:flex;justify-content:space-between;gap:1rem;font-size:.75rem;color:#cfddf4;padding:0 .15rem 1.1rem}
.asp-preview-top small{font-size:.6rem;letter-spacing:.1em;border:1px solid #ffffff35;border-radius:4px;padding:.1rem .4rem}
.asp-preview-inner{background:white;border-radius:.7rem;padding:1.4rem}
.asp-preview-inner h2{font-size:1.1rem;margin:0 0 .4rem}
.asp-preview-inner>p{font-size:.75rem;color:#8491a6;margin-bottom:1.2rem}
.asp-preview-drop{text-align:center;border:1.5px dashed #b8caeb;border-radius:.65rem;background:#f7faff;padding:1.4rem .7rem}
.asp-preview-drop>span{font-size:2rem;color:#547cd3;display:block;line-height:1;margin-bottom:.7rem}
.asp-preview-drop strong{display:block;font-size:.9rem;color:#425e84;margin-bottom:.4rem}
.asp-preview-drop p{font-size:.72rem;color:#7f90aa;margin:0 0 .9rem}
.asp-preview-drop a{display:inline-flex;background:#2559e8;color:white;border-radius:.4rem;padding:.6rem .9rem;font-size:.75rem;font-weight:600;text-decoration:none}
.asp-preview-file{display:flex;align-items:center;gap:.8rem;padding:.9rem 0;border-bottom:1px solid #edf1f7;font-size:.8rem}
.asp-preview-file:last-child{border:0;padding-bottom:0}
.asp-preview-file>span:first-child{width:2rem;height:2.4rem;border-radius:.4rem;background:#edf3ff;display:grid;place-items:center;color:#607fb6;font-size:.6rem;font-weight:600;flex-shrink:0}
.asp-preview-file>div{flex:1;min-width:0}
.asp-preview-file strong{display:block;color:#435a7d;font-size:.75rem;overflow-wrap:anywhere}
.asp-preview-file small{font-size:.65rem;color:#8191aa}
.asp-file-state{font-size:.65rem;color:#31876e;white-space:nowrap}
.asp-preview-progress{height:4px;background:#e5ecfa;border-radius:3px;margin-top:.5rem;overflow:hidden}
.asp-preview-progress i{display:block;height:100%;width:64%;background:#4c7ae4}
.asp-preview-foot{display:flex;justify-content:space-between;gap:1rem;color:#b0c2df;font-size:.67rem;padding:1rem .15rem 0}
.asp-section{padding:4.5rem 0;border-bottom:1px solid #e5eaf3}
.asp-section-muted{background:#f7f9fc}
.asp-section-heading{margin-bottom:2rem;max-width:760px}
.asp-section-heading p{color:#71839e;font-size:1rem;margin:1rem 0 0}
.asp-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.asp-card{padding:1.7rem;border:1px solid #dfe7f3;border-radius:.75rem;background:#fff;color:inherit}
.asp-card h3{font-size:1.1rem;margin:.8rem 0}
.asp-card p{font-size:.92rem;color:#6c7f9a;margin:0}
.asp-card-icon{color:#4771c4;font-size:1.4rem}
.asp-card a,.asp-card strong{font-size:.85rem}
a.asp-card{display:flex;flex-direction:column;text-decoration:none}
a.asp-card strong{margin-top:auto;padding-top:1.2rem;color:#2559e8}
a.asp-card:hover{border-color:#a8bee8;color:inherit;background:#fbfcff}
.asp-logo-band{padding:2rem 0;border-bottom:1px solid #e5eaf3}
.asp-logo-band p{text-align:center;font-size:.7rem;color:#8a98af;letter-spacing:.13em;text-transform:uppercase;margin-bottom:1.6rem}
.asp-logos{display:grid;grid-template-columns:repeat(6,1fr);gap:2rem;align-items:center}
.asp-logos img{display:block;width:100%;max-width:110px;height:35px;object-fit:contain;margin:auto;filter:grayscale(1);opacity:.65}
.asp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.asp-step{border-top:2px solid #d9e4f6;padding-top:1.1rem}
.asp-step>span{color:#7c97c5;font-size:.8rem;font-weight:600}
.asp-step h3{font-size:1.1rem;margin:1rem 0 .6rem}
.asp-step p{font-size:.93rem;color:#6c809c}
.asp-bottom-band{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:3rem;border-radius:.85rem;background:#142440;color:#c8d8f1;margin:3rem auto 4rem}
.asp-bottom-band h2{color:#fff;font-size:2rem}.asp-bottom-band p{margin:.8rem 0 0;color:#b3c5e1}.asp-bottom-band>a{flex-shrink:0}
.asp-footer{background:#f7f9fc;border-top:1px solid #dfe7f3;padding:3.5rem 0 1.3rem;color:#7b8ca6}
.asp-footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2.5rem}
.asp-footer .asp-brand{margin-bottom:1.2rem}.asp-footer p{font-size:.85rem;max-width:22rem}
.asp-footer h2{font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#496181;margin:0 0 1.3rem}
.asp-footer ul{list-style:none;padding:0;margin:0}.asp-footer li{margin:.7rem 0}
.asp-footer a{font-size:.8rem;color:#6f84a2;text-decoration:none}.asp-footer a:hover{color:#2559e8}
.asp-footer-base{border-top:1px solid #e0e7f2;margin-top:2rem;padding-top:1.3rem;display:flex;justify-content:space-between;gap:1rem;font-size:.72rem}
.asp-filter{display:flex;align-items:flex-end;gap:1rem;padding:1.2rem;background:#f4f7fc;border:1px solid #dde6f3;border-radius:.75rem;margin:1.8rem 0 0}
.asp-filter label{display:block;font-size:.75rem;font-weight:600;color:#6f83a0;margin-bottom:.5rem}.asp-search{flex:1;min-width:0}
.asp-filter input,.asp-filter select{width:100%;height:44px;border:1px solid #cbd8eb;border-radius:.45rem;background:white;color:#344e73;padding:.6rem .8rem;font:inherit;font-size:.85rem}
.asp-filter button{padding:.65rem;border:0;background:none;font-size:.8rem;font-weight:600;color:#2559e8;cursor:pointer}
.asp-results{font-size:.75rem;color:#8a9bb5;padding:.8rem 0 1.3rem}.asp-demo-category{margin:0 0 2.3rem}.asp-demo-category>h3{font-size:1.2rem;margin-bottom:1.2rem;border-bottom:1px solid #e2e9f4;padding-bottom:.7rem}
.asp-demo-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.asp-demo-group .asp-card{padding:1.25rem}.asp-demo-group h4{font-size:.98rem;margin:.7rem 0}.asp-demo-group p{font-size:.82rem;line-height:1.7}.asp-demo-number{font-size:.65rem;color:#8a9fbd}
.asp-site [hidden]{display:none!important}.asp-empty{padding:2rem;background:#f7faff;border:1px dashed #b8cbea;border-radius:.6rem;text-align:center}
.asp-site a:focus-visible,.asp-site button:focus-visible,.asp-site input:focus-visible,.asp-site select:focus-visible,.asp-site summary:focus-visible{outline:3px solid #3477ed;outline-offset:4px}
.asp-site .asp-next{width:min(1280px,calc(100% - 4rem));margin:1rem auto 3rem;padding:1.5rem;border:1px solid #dfe8f5;border-radius:.7rem;background:#f6f9ff;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.9rem}.asp-next p{margin:0;color:#6a809f}
@media(max-width:1050px){.asp-nav>a{padding:.55rem .6rem;font-size:.8rem}.asp-header-inner{gap:1rem}.asp-home-grid{gap:2rem}}
@media(max-width:991px){.asp-menu{display:block}.asp-nav{display:none;position:absolute;top:100%;left:1rem;right:1rem;flex-direction:column;align-items:stretch;background:white;padding:1rem;border:1px solid #dfe6f2;border-radius:.7rem;box-shadow:0 15px 35px #14244015}.asp-nav.is-open{display:flex}.asp-nav>a.asp-nav-download{margin:.4rem 0 0;text-align:center}.asp-home-grid{grid-template-columns:1fr;padding:3.5rem 0}.asp-preview{max-width:650px;width:100%;margin:auto}.asp-footer-grid{grid-template-columns:1.5fr 1fr;gap:2rem}}
@media(max-width:760px){.asp-container{width:calc(100% - 2rem)}.asp-home-copy h1{font-size:2.8rem}.asp-cards,.asp-steps{grid-template-columns:1fr}.asp-demo-group{grid-template-columns:repeat(2,minmax(0,1fr))}.asp-section{padding:3rem 0}.asp-logos{grid-template-columns:repeat(3,1fr);gap:1.5rem}.asp-bottom-band{padding:2rem 1.5rem;flex-direction:column;align-items:flex-start}.asp-footer-grid{grid-template-columns:1fr 1fr}.asp-footer-base{flex-direction:column}.asp-filter{flex-wrap:wrap}.asp-search{flex-basis:100%}.asp-site .card-body{padding:1.4rem}.asp-site .asp-next{width:calc(100% - 2rem);flex-direction:column;align-items:flex-start}}
@media(max-width:480px){.asp-demo-group{grid-template-columns:1fr}.asp-filter>div{width:100%}.asp-footer-grid{grid-template-columns:1fr}.asp-home-checks{gap:.65rem}.asp-preview-inner{padding:1rem}.asp-home-copy h1{font-size:2.5rem}.asp-actions>a{flex:1 1 180px;text-align:center}.asp-site h1{font-size:2.3rem}}
@media(prefers-reduced-motion:reduce){.asp-site *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.asp-demo-toggle{display:none;border:1px solid #ccd9ed;background:#f6f9ff;color:#43638e;padding:.7rem 1rem;border-radius:.5rem;font:inherit;font-size:.8rem;cursor:pointer;margin-bottom:1rem}
@media(max-width:991px){.asp-demo-toggle{display:block}.asp-demo-side-links{display:none!important}.asp-demo-side-links.is-open{display:flex!important}}
