/* Source: pages.css */
/* Generated from design-system/patterns/pages.css. Edit that source, then run node design-system/build.cjs. */
@font-face{font-family:Inter;src:url('https://cdn.prod.website-files.com/6acdbdbd2e045e4cb7879ab7/6ae51662fff31a4c849bcc31_sp-InterVariable.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--navy:var(--sp-color-navy,#06004a);--blue:var(--sp-color-brand-blue,#1705e5);--ink:var(--sp-color-ink,#11102b);--muted:var(--sp-color-muted,#646478);--line:var(--sp-color-line,#e8e8ef);--pale:var(--sp-color-subtle,#f4f4f8);--white:var(--sp-color-surface,#fff)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--navy);background:var(--sp-color-surface,#fff);font:400 16px/1.4 var(--sp-font-family,Inter,Arial,sans-serif);letter-spacing:0}a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}figure{margin:0}button{font:inherit}a:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:4px}.skip-link{position:absolute;left:-9999px;top:0;background:var(--sp-color-surface,white);color:var(--navy);padding:var(--sp-space-3,12px);z-index:30}.skip-link:focus{left:10px}
.page-nav{height:72px;padding:0 clamp(var(--sp-space-6,24px),4.2vw,84px);display:flex;align-items:center;gap:clamp(var(--sp-space-8,32px),3.5vw,72px);background:#08081a;color:var(--sp-color-surface,#fff);position:sticky;top:0;z-index:20}.page-nav .logo{width:115px;flex:none}.page-nav .logo img{width:100%}.nav-links{display:flex;align-items:center;gap:clamp(22px,2.8vw,52px);height:100%}.nav-links a{font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0.06em;text-transform:uppercase;font-feature-settings:"tnum" 1,"ss01" 1;display:flex;align-items:center;height:100%;border-bottom:1px solid transparent}.nav-links a:hover,.nav-links a[aria-current="page"]{border-color:var(--sp-color-surface,#fff)}.nav-cta{margin-left:auto;border:1px solid #6d6c79;padding:10px var(--sp-space-4,16px);min-width:167px;display:flex;justify-content:space-between;gap:18px;font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0}.nav-cta:hover{background:var(--sp-color-surface,#fff);color:#0b0a1b}
.grid-field{background-color:var(--sp-color-surface,#fff);background-image:linear-gradient(#06004a07 1px,transparent 1px),linear-gradient(90deg,#06004a07 1px,transparent 1px);background-size:120px 120px}.container{width:var(--sp-page-width,min(100% - 8vw,1740px));margin-inline:auto}.eyebrow{margin:0 0 var(--sp-space-6,24px);font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0.06em;text-transform:uppercase;font-feature-settings:"tnum" 1,"ss01" 1;color:var(--blue)}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:400;letter-spacing:-.01em;line-height:1.05}h1{font-size:40px;font-weight:400;line-height:1.2;letter-spacing:-0.025em}h2{font-size:40px;font-weight:400;line-height:1.2;letter-spacing:-0.025em}h3{font-size:32px;font-weight:600;line-height:1.2;letter-spacing:-0.02em}.lede{font-size:18px;font-weight:400;line-height:1.45;letter-spacing:0;color:var(--muted)}.body-copy{font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0;color:#56566c}.blue{color:var(--blue)}.text-link{display:inline-flex;align-items:center;gap:var(--sp-space-12,48px);padding:14px 0;border-bottom:1px solid currentColor;font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0.06em;text-transform:uppercase;font-feature-settings:"tnum" 1,"ss01" 1}.text-link:hover{color:var(--blue)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;min-width:225px;padding:17px 22px;background:var(--blue);color:var(--sp-color-surface,#fff);font-size:16px;font-weight:500;line-height:1.2;letter-spacing:0}.button:hover{background:var(--navy)}.button.outline{border:1px solid var(--sp-color-surface,#fff);background:transparent}.button.outline:hover{background:var(--sp-color-surface,#fff);color:var(--navy)}
.notch{clip-path:polygon(0 0,calc(100% - 30px) 0,100% 23px,100% 100%,28px 100%,0 calc(100% - 23px))}.hero{padding:clamp(90px,9vw,170px) 0 clamp(80px,8vw,150px)}.hero.center{text-align:center}.hero.center .lede{max-width:760px;margin-inline:auto}.hero h1{margin-bottom:30px}.hero .lede{max-width:670px;margin-bottom:var(--sp-space-8,32px)}.hero .hero-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:5vw}.hero .hero-media{min-width:0}.image-frame{position:relative;overflow:hidden;background:#121b29}.image-frame img{width:100%;height:100%;object-fit:cover}.image-frame .caption{position:absolute;left:0;bottom:0;right:0;padding:15px 22px;background:var(--navy);color:var(--sp-color-surface,#fff);font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0.06em;text-transform:uppercase;font-feature-settings:"tnum" 1,"ss01" 1}.image-frame .tag{position:absolute;top:24px;left:24px;padding:13px 17px;background:var(--navy);color:var(--sp-color-surface,#fff);font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0.06em;text-transform:uppercase;font-feature-settings:"tnum" 1,"ss01" 1}.section{padding:clamp(90px,9vw,170px) 0}.section-header{max-width:920px;margin:0 auto 72px;text-align:center}.section-header .lede{max-width:730px;margin-inline:auto}.section-header h2{margin-bottom:25px}.section-intro{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:70px}.section-intro h2{max-width:850px;margin-bottom:0}.section-intro .lede{max-width:420px;margin-bottom:var(--sp-space-1,4px)}.rail-label{display:block;padding-bottom:18px;margin-bottom:35px;border-bottom:1px solid #c9c9d5;font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0.06em;text-transform:uppercase;font-feature-settings:"tnum" 1,"ss01" 1}.index-label{font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0.06em;text-transform:uppercase;font-feature-settings:"tnum" 1,"ss01" 1;color:#625d75}.rule{border-top:1px solid var(--line)}
.dark{background:#0b0a1b;color:var(--sp-color-surface,#fff)}.dark .eyebrow{color:#afa8ff}.dark .lede,.dark .body-copy{color:#c8c8d3}.dark .index-label{color:#9d9baa}.dark .rail-label{border-color:#404051}.dark .text-link:hover{color:#c1bbff}.pale{background:var(--pale)}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,6vw,115px);align-items:center}.split.reverse>*:first-child{order:2}.split.reverse>*:last-child{order:1}.split .body-copy{max-width:610px}.split h2{margin-bottom:var(--sp-space-7,28px)}.split .image-frame{aspect-ratio:1.28}.three-up{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.feature-card{background:var(--pale);padding:clamp(var(--sp-space-7,28px),2.5vw,50px);min-height:330px;display:flex;flex-direction:column}.feature-card h3{margin:var(--sp-space-6,24px) 0 15px}.feature-card p{font-size:18px;font-weight:400;line-height:1.45;letter-spacing:0;color:#66667a}.feature-card .mini-line{height:1px;background:#b9b9ce;margin-top:auto}.feature-card .index-label{color:var(--blue)}
.flow{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #d7d7e1}.flow article{padding:30px 25px var(--sp-space-10,40px) 0;border-right:1px solid #d7d7e1}.flow article+article{padding-left:25px}.flow article:last-child{border-right:0}.flow h3{font-size:32px;font-weight:600;line-height:1.2;letter-spacing:-0.02em;margin:46px 0 15px}.flow p:last-child{font-size:18px;font-weight:400;line-height:1.45;letter-spacing:0;color:#66667a;max-width:260px}.screen-story{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:8vw;align-items:center;padding:100px 0;border-bottom:1px solid var(--line)}.screen-story .image-frame{aspect-ratio:1.48;background:#e7e7ed}.screen-story .image-frame img{object-fit:cover}.screen-story:last-child{border-bottom:0}.screen-story h3{font-size:40px;font-weight:400;line-height:1.2;letter-spacing:-0.025em;margin:18px 0 22px}.screen-story p:not(.index-label){font-size:18px;font-weight:400;line-height:1.45;letter-spacing:0;color:var(--muted)}.screen-story:nth-child(even)>:first-child{order:2}.screen-story:nth-child(even)>:last-child{order:1}
.wide-media{position:relative;min-height:500px;background:#0b0a1b;overflow:hidden}.wide-media img,.wide-media video{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.wide-media figcaption{position:absolute;bottom:0;left:0;right:0;padding:17px var(--sp-space-7,28px);background:var(--navy);color:var(--sp-color-surface,#fff);font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0.06em;text-transform:uppercase;font-feature-settings:"tnum" 1,"ss01" 1}.wide-media .tag{position:absolute;z-index:1;top:24px;left:28px;padding:var(--sp-space-3,12px) 15px;background:var(--navy);color:var(--sp-color-surface,white);font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0.06em;text-transform:uppercase;font-feature-settings:"tnum" 1,"ss01" 1}.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:#dddde8}.step-grid article{background:var(--sp-color-surface,#fff);padding:45px var(--sp-space-10,40px) 60px}.step-grid img{height:235px;width:100%;object-fit:cover;margin-bottom:var(--sp-space-9,36px)}.step-grid h3{margin:18px 0}.step-grid p:last-child{color:#656578;font-size:18px;font-weight:400;line-height:1.45;letter-spacing:0}
.diagram{background:#0b0a1b;color:var(--sp-color-surface,white);padding:60px;min-height:500px;display:grid;align-items:center}.diagram-core{position:relative;display:grid;place-items:center;min-height:380px}.diagram-core:before,.diagram-core:after{content:"";position:absolute;width:min(66%,570px);height:1px;background:#5a4ff6;transform:rotate(25deg)}.diagram-core:after{transform:rotate(-25deg)}.diagram-core .center-node{width:170px;aspect-ratio:1;display:grid;place-items:center;text-align:center;border:1px solid #938cff;border-radius:50%;background:var(--sp-color-brand-blue,#1705e5);z-index:2;font-size:18px;font-weight:400;line-height:1.45;letter-spacing:0}.diagram-core .node{position:absolute;z-index:3;border:1px solid #74708d;background:#17162d;padding:11px 17px;font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0.06em;text-transform:uppercase;font-feature-settings:"tnum" 1,"ss01" 1}.node.n1{top:0;left:13%}.node.n2{top:0;right:13%}.node.n3{bottom:0;left:13%}.node.n4{bottom:0;right:13%}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.person{background:var(--pale)}.person img{width:100%;aspect-ratio:.92;object-fit:cover;object-position:center top}.person div{padding:var(--sp-space-7,28px) var(--sp-space-8,32px) 38px}.person h3{margin:0 0 6px;font-size:32px;font-weight:600;line-height:1.2;letter-spacing:-0.02em}.person p{color:#6b6b80;margin:0;font-size:18px;font-weight:400;line-height:1.45;letter-spacing:0}.orbit-panel{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:620px;overflow:hidden}.orbit-panel>div:first-child{padding:70px clamp(var(--sp-space-9,36px),7vw,140px)}.orbit-panel h2{margin-bottom:30px}.orbit-panel .body-copy{max-width:500px}.orbit-panel img{width:min(100%,640px);margin:auto}
.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-space-6,24px)}.contact-card{padding:clamp(38px,4vw,75px);min-height:420px;display:flex;flex-direction:column;align-items:flex-start;background:var(--pale)}.contact-card.blue-card{background:var(--blue);color:var(--sp-color-surface,#fff)}.contact-card h2{font-size:40px;font-weight:400;line-height:1.2;letter-spacing:-0.025em;margin:var(--sp-space-5,20px) 0}.contact-card p:not(.index-label){font-size:18px;font-weight:400;line-height:1.45;letter-spacing:0;max-width:520px;color:#66667a}.contact-card.blue-card p:not(.index-label){color:#e4e1ff}.contact-card .text-link,.contact-card .button{margin-top:auto}.contact-card.blue-card .index-label{color:#c8c2ff}.contact-card.blue-card .text-link:hover{color:var(--sp-color-surface,#fff);opacity:.75}.details-list{max-width:1100px;margin:0 auto}.details-list details{border-top:1px solid #d6d6df;padding:var(--sp-space-7,28px) 0}.details-list details:last-child{border-bottom:1px solid #d6d6df}.details-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:25px;font-size:22px;font-weight:500;line-height:1.3;letter-spacing:-0.01em}.details-list summary::-webkit-details-marker{display:none}.details-list summary:after{content:'+';color:var(--blue);font-size:32px;font-weight:600;line-height:1.2;letter-spacing:-0.02em}.details-list details[open] summary:after{content:'−'}.details-list p{max-width:720px;margin:var(--sp-space-5,20px) 0 0;color:#68687a;font-size:18px;font-weight:400;line-height:1.45;letter-spacing:0}
.closing{padding:110px 0;background:var(--navy);color:var(--sp-color-surface,white)}.closing-inner{display:flex;justify-content:space-between;align-items:end;gap:60px}.closing h2{margin-bottom:0}.closing .eyebrow{color:#a9a1ff}.footer{background:#0b0a1b;color:var(--sp-color-surface,#fff);padding:70px 0 30px}.footer-main{display:flex;justify-content:space-between;gap:50px;padding-bottom:75px}.footer-logo{width:180px}.footer-col{display:flex;flex-direction:column;gap:var(--sp-space-3,12px);min-width:130px}.footer-col b{font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0.06em;text-transform:uppercase;font-feature-settings:"tnum" 1,"ss01" 1;color:#a8a8b6;margin-bottom:var(--sp-space-2,8px)}.footer-col a{font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0}.footer-col a:hover{color:#b3aaff}.footer-base{border-top:1px solid #3b3b4d;padding-top:25px;display:flex;justify-content:space-between;gap:var(--sp-space-5,20px);font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0;color:#a8a8b6}.footer-base a:hover{color:var(--sp-color-surface,white)}
@media(max-width:900px){.page-nav{height:auto;min-height:70px;flex-wrap:wrap;gap:var(--sp-space-3,12px);padding:var(--sp-space-4,16px) 5%}.nav-links{order:3;width:100%;height:35px;justify-content:space-between;gap:var(--sp-space-2,8px)}.nav-links a{font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0.06em;text-transform:uppercase;font-feature-settings:"tnum" 1,"ss01" 1}.nav-cta{min-width:0}.container{width:var(--sp-page-width,min(100% - 8vw,1740px))}.hero .hero-inner,.split,.orbit-panel,.contact-options{grid-template-columns:1fr}.hero{padding:80px 0}.hero .hero-media{margin-top:25px}.split.reverse>*:first-child,.split.reverse>*:last-child{order:initial}.three-up,.team-grid,.step-grid{grid-template-columns:1fr 1fr}.flow{grid-template-columns:1fr 1fr}.flow article:nth-child(2){border-right:0}.flow article:nth-child(n+3){border-top:1px solid #d7d7e1}.screen-story{grid-template-columns:1fr;gap:30px;padding:70px 0}.screen-story:nth-child(even)>:first-child,.screen-story:nth-child(even)>:last-child{order:initial}.section-intro{display:block}.section-intro h2{margin-bottom:25px}.orbit-panel img{max-width:500px}.wide-media{min-height:400px}}
@media(max-width:600px){h1{font-size:32px;font-weight:400;line-height:1.2;letter-spacing:-0.025em}h2{font-size:32px;font-weight:400;line-height:1.2;letter-spacing:-0.025em}.section{padding:75px 0}.three-up,.team-grid,.step-grid,.flow{grid-template-columns:1fr}.flow article,.flow article+article{padding:25px 0;border-right:0;border-top:1px solid #d7d7e1}.feature-card{min-height:270px}.page-nav .logo{width:105px}.nav-cta{font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0;padding:var(--sp-space-2,8px)}.nav-links a{font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0.06em;text-transform:uppercase;font-feature-settings:"tnum" 1,"ss01" 1}.section-header{margin-bottom:var(--sp-space-10,40px)}.wide-media{min-height:310px}.diagram{padding:25px}.diagram-core{min-height:340px}.diagram-core .center-node{width:120px;font-size:18px;font-weight:400;line-height:1.45;letter-spacing:0}.diagram-core .node{font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0.06em;text-transform:uppercase;font-feature-settings:"tnum" 1,"ss01" 1;padding:var(--sp-space-2,8px)}.node.n1,.node.n3{left:0}.node.n2,.node.n4{right:0}.closing-inner,.footer-main{display:block}.closing .button{margin-top:30px}.footer-logo{margin-bottom:var(--sp-space-10,40px)}.footer-col{margin-bottom:30px}.footer-base{flex-wrap:wrap}.contact-card{min-height:360px}}

section[id]{scroll-margin-top:6rem}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media(max-width:23rem){h1{font-size:32px;font-weight:400;line-height:1.2;letter-spacing:-0.025em}}
/* type system: the two mobile step-downs (heading 32px, heading-small 26px) */
@media (max-width:767px){h1{font-size:32px}h2{font-size:32px}h3{font-size:26px}.flow h3{font-size:26px}.screen-story h3{font-size:32px}.person h3{font-size:26px}.contact-card h2{font-size:32px}.details-list summary:after{font-size:26px}}

/* Source: spacial-design.css */
/* Generated from design-system/patterns/spacial-design.css. Edit that source, then run node design-system/build.cjs. */
/* Spacial surfaces: soft product panels and blue accents, with the cinematic pacing retained. */
:root{--sp-round:6px}
.light-section{background-image:none;background-color:var(--sp-color-surface,#fff)}
.platform-section,.orbit-section,.contact-section,.technology-media,.flow-enhanced .system-panel,.flow-step-image{clip-path:none}
.sequence-outro{background:var(--sp-color-navy,#06004a)}.outro-grid{background-image:radial-gradient(circle,#918bfb50 .07rem,transparent .1rem);background-size:2.7rem 2.7rem;mask-image:radial-gradient(ellipse at center,var(--sp-color-black,#000),transparent 85%)}
.technology-media{border-radius:var(--sp-round);overflow:hidden}.flow-enhanced .system-panel,.flow-enhanced .system-panel[hidden]{clip-path:none;border-radius:var(--sp-round)}.flow-enhanced .system-panel figure{border-radius:6px;overflow:hidden}.flow-enhanced .system-tabs button{border-radius:6px;padding:.8rem 1.3rem}.system-panel.is-active .flow-card-trigger{border-radius:6px;padding:.55rem .85rem}.flow-step-image{border-radius:6px}
.orbit-section{background:#eff0ff;color:var(--sp-color-navy,#06004a);border-radius:6px;margin:0 3vw;overflow:hidden}.orbit-section p:not(.section-label){color:#625d7c}.orbit-section .section-label{color:var(--sp-color-brand-blue,#1705e5)}.orbit-section .text-link{color:var(--sp-color-brand-blue,#1705e5);border-color:#1705e544}
.team-grid article{border-radius:6px;overflow:hidden}.team-grid img{border-radius:6px}.contact-section{background:var(--sp-color-brand-blue,#1705e5);border-radius:6px 6px 0 0}.button-light,.cta{border-radius:6px}.site-footer{background:var(--sp-color-navy,#06004a)}
.sp-subpage .notch{clip-path:none;border-radius:var(--sp-round)}.sp-subpage .grid-field{background-image:none}.sp-subpage .button,.sp-subpage .nav-cta{border-radius:6px}.sp-subpage .feature-card,.sp-subpage .contact-card,.sp-subpage .person{border-radius:6px;overflow:hidden}.sp-subpage .image-frame .caption,.sp-subpage .wide-media figcaption{background:var(--sp-color-navy,#06004a)}.sp-subpage .dark,.sp-subpage .footer{background:var(--sp-color-navy,#06004a)}.sp-subpage .closing{background:var(--sp-color-brand-blue,#1705e5)}
@media(max-width:50rem){.orbit-section{margin:0 4vw;border-radius:6px}.flow-enhanced .system-panel,.flow-enhanced .system-panel[hidden]{border-radius:6px}.contact-section{border-radius:6px 6px 0 0}}

.technology-media{top:calc(var(--sp-nav-height) + 1.5rem)}.flow-media-stack::before{display:none}.flow-media-stack::after{border-radius:6px}.flow-media-stack img:first-child{object-fit:contain;background:#0c1228}.technology-media figcaption{padding-left:1.5rem}.technology-section::before,.systems-section::before,.team-section::before{background:none}.sp-editorial h2{letter-spacing:-.01em}.sp-capabilities h2,.sp-calculator h2,.sp-trust h2{letter-spacing:-.01em}.sp-calculator{color-scheme:light}.sp-calculator__value{overflow-wrap:anywhere}

/* Source: journey.css */
/* Generated from design-system/patterns/journey.css. Edit that source, then run node design-system/build.cjs. */
/* Selected design: original workflow and calculator, compact team, tighter backer grid. */
.team-preview{padding-block:clamp(4rem,6vw,7rem)}.team-preview .center-heading{margin-bottom:3rem}.team-preview .team-grid{max-width:70rem;margin:0 auto 2.5rem;gap:2rem}.team-preview .team-grid article{display:grid;grid-template-columns:5.5rem 1fr;column-gap:1.1rem;align-content:center}.team-preview .team-grid img{grid-row:1/3;aspect-ratio:1;width:5.5rem;border-radius:50%;object-position:center 20%}.team-preview .team-grid h3{font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0;margin:.7rem 0 .25rem}.team-preview .team-grid p{font-size:18px;font-weight:400;line-height:1.45;letter-spacing:0;margin:0}
.sp-subpage .skip-link{z-index:100}.sp-subpage .details-list a{text-decoration:underline;text-underline-offset:.2em;color:var(--sp-color-brand-blue,#1705e5)}
#sp-press,.screen-story[id]{scroll-margin-top:calc(var(--sp-nav-height) + 1.5rem)}
@media(min-width:50.01rem){.technology-steps article{min-height:65svh}.sp-capability__number{margin-bottom:clamp(2rem,3vw,3.5rem)}.sp-capabilities{padding-block:clamp(4rem,6vw,7rem)}}

@media(max-width:50rem){.team-preview .team-grid{grid-template-columns:1fr;max-width:25rem;gap:1.5rem}.team-preview .team-grid article{grid-template-columns:5rem 1fr}.team-preview .team-grid img{width:5rem}.team-preview .team-grid h3{font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0}.team-preview .team-grid p{font-size:18px;font-weight:400;line-height:1.45;letter-spacing:0}}

.sp-backing{position:relative;isolation:isolate;padding:clamp(3rem,4.5vw,5.5rem) var(--sp-page-gutter,max(4vw,calc((100% - 1740px) / 2)));background:var(--sp-color-surface,#fff);color:var(--sp-color-navy,#06004a);font-family:var(--sp-font-family,Inter,Arial,sans-serif);text-align:center}
.sp-backing::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(circle,#918bfb60 .07rem,transparent .1rem);background-size:2.7rem 2.7rem;mask-image:radial-gradient(ellipse at center,var(--sp-color-black,#000),transparent 85%)}
.sp-backing__intro{margin:0 auto clamp(1.5rem,2.5vw,3rem);max-width:65rem}.sp-backing .sp-eyebrow{color:var(--sp-color-brand-blue,#1705e5)}.sp-backing h2{font-size:40px;font-weight:600;line-height:1.2;letter-spacing:-0.025em;margin:1.2rem 0 0}
.sp-backing__logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:85rem;margin:0 auto;list-style:none;padding:0;gap:clamp(1.5rem,3vw,4rem)}
.sp-backing__logos li{min-width:0}.sp-backing__logos a{display:flex;align-items:center;justify-content:center;min-height:clamp(7rem,9vw,10.5rem);padding:1.5rem .7rem;border-radius:6px}.sp-backing__logos a:focus-visible{outline:2px solid var(--sp-color-brand-blue,#1705e5);outline-offset:.3rem}.sp-backing__logos a:hover{opacity:.7}.sp-backing__logos img{display:block;width:auto;max-width:90%;height:auto;max-height:4rem;object-fit:contain}.sp-backing__logos li:nth-child(3) img,.sp-backing__logos li:nth-child(4) img{max-height:4.5rem}
.press-page{max-width:85rem;width:89%;margin:auto;padding:clamp(3rem,6vw,7rem) 0}.press-intro{max-width:60rem;margin-bottom:clamp(2rem,4vw,4rem)}.press-intro h1{margin:1rem 0 1.5rem;font-size:40px;font-weight:400;line-height:1.2;letter-spacing:-0.025em}.press-intro>p:last-child{font-size:18px;font-weight:400;line-height:1.45;letter-spacing:0;color:#625d7c}.press-list{border-top:1px solid #dcd8ef}.press-story{display:grid;grid-template-columns:1fr 1.4fr auto;gap:2rem;align-items:center;border-bottom:1px solid #dcd8ef;padding:clamp(1.5rem,3vw,2.5rem) .5rem}.press-story:hover{color:var(--sp-color-brand-blue,#1705e5);background:#f8f7ff}.press-story__publisher{font-size:32px;font-weight:600;line-height:1.2;letter-spacing:-0.02em}.press-story__topic{font-size:18px;font-weight:400;line-height:1.45;letter-spacing:0}.press-story small{display:block;color:#77718d;font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0;margin-top:.4rem}.press-story__arrow{font-size:18px;font-weight:400;line-height:1.45;letter-spacing:0;color:var(--sp-color-brand-blue,#1705e5)}.press-contact{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:3rem;padding:2rem 0}.press-contact h2{font-size:32px;font-weight:600;line-height:1.2;letter-spacing:-0.02em;margin:0}.press-contact a{color:var(--sp-color-brand-blue,#1705e5);border-bottom:1px solid #b9b2f5;padding:.5rem 0}
@media(max-width:50rem){.sp-backing{padding:3.5rem var(--sp-page-gutter,max(4vw,calc((100% - 1740px) / 2)))}.sp-backing h2{font-size:32px;font-weight:600;line-height:1.2;letter-spacing:-0.025em}.sp-backing__logos{grid-template-columns:1fr 1fr;gap:.5rem 1rem}.sp-backing__logos a{min-height:7rem;padding:1.4rem .25rem}.sp-backing__logos img{max-height:2.7rem;max-width:100%}.sp-backing__logos li:nth-child(3) img,.sp-backing__logos li:nth-child(4) img{max-height:3.5rem}.press-story{grid-template-columns:1fr auto;gap:.6rem 1rem}.press-story__publisher{grid-column:1}.press-story__topic{grid-column:1}.press-story__arrow{grid-column:2;grid-row:1/3}.press-contact{align-items:flex-start;flex-direction:column;gap:1rem}}

/* Direct professional profiles; preserve the existing team layout. */
.team-preview .team-profile-link{color:inherit;text-decoration:none;display:inline-block;min-height:44px}
.team-preview .team-profile-link:hover{text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}
.team-preview .team-profile-link:focus-visible{outline:2px solid currentColor;outline-offset:5px;border-radius:6px}

/* End-of-tool project contact: consistent next step after a standalone workflow. */
.sp-subpage .tool-project-help{border-top:1px solid #dce2ee;background:#f7f8fc;color:var(--sp-color-navy,#06004a);padding:clamp(2.5rem,5vw,4.5rem) clamp(1.25rem,5vw,5rem)}
.sp-subpage .tool-project-help__inner{display:flex;max-width:78rem;margin:0 auto;align-items:center;justify-content:space-between;gap:2rem}
.sp-subpage .tool-project-help h2{max-width:15ch;margin:0;font-size:40px;font-weight:600;line-height:1.2;letter-spacing:-0.025em}
.sp-subpage .tool-project-help__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}
.sp-subpage .tool-project-help__actions a{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:.7rem;padding:.7rem 1.1rem;border:1px solid var(--sp-color-brand-blue,#1705e5);border-radius:6px;font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0;text-decoration:none}
.sp-subpage .tool-project-help__primary{background:var(--sp-color-brand-blue,#1705e5);color:var(--sp-color-surface,#fff)}
.sp-subpage .tool-project-help__secondary{background:var(--sp-color-surface,#fff);color:var(--sp-color-brand-blue,#1705e5)}
.sp-subpage .tool-project-help__actions a:hover{filter:brightness(.94)}
.sp-subpage .tool-project-help__actions a:focus-visible{outline:3px solid #7b70ff;outline-offset:3px}
.sp-subpage details.bc-method{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:2rem}
.sp-subpage .bc-method>summary{grid-column:1;align-self:start;display:grid;grid-template-columns:1fr auto;gap:.4rem .75rem;cursor:pointer;list-style:none}
.sp-subpage .bc-method>summary::-webkit-details-marker{display:none}
.sp-subpage .bc-method>summary .bc-eyebrow{grid-column:1/-1}
.sp-subpage .bc-method>summary .bc-method-title{grid-column:1;margin:.4rem 0;font-size:40px;font-weight:600;line-height:1.2;letter-spacing:-0.025em}
.sp-subpage .bc-method-toggle{grid-column:2;grid-row:2;align-self:center;color:var(--sp-color-brand-blue,#1705e5);font-size:18px;font-weight:400;line-height:1.45;letter-spacing:0;transition:transform 160ms ease}
.sp-subpage .bc-method[open] .bc-method-toggle{transform:rotate(45deg)}
.sp-subpage .bc-method-content{grid-column:2;min-width:0}
@media(max-width:950px){.sp-subpage details.bc-method{grid-template-columns:1fr;gap:.5rem}.sp-subpage .bc-method>summary,.sp-subpage .bc-method-content{grid-column:1}}
@media(max-width:600px){.sp-subpage .tool-project-help__inner{align-items:flex-start;flex-direction:column;gap:1.25rem}.sp-subpage .tool-project-help__actions{width:100%}.sp-subpage .tool-project-help__actions a{flex:1 1 auto}}
@media print{
  .sp-subpage .tool-project-help,.sp-subpage .bc-method-toggle{display:none!important}
  .sp-subpage .bc-method:not([open])>.bc-method-content{display:block!important}
  .sp-subpage details.bc-method{display:block}
}
/* type system: the two mobile step-downs (heading 32px, heading-small 26px) */
@media (max-width:767px){.sp-backing h2{font-size:32px}.press-intro h1{font-size:32px}.press-story__publisher{font-size:26px}.press-contact h2{font-size:26px}.sp-subpage .tool-project-help h2{font-size:32px}.sp-subpage .bc-method>summary .bc-method-title{font-size:32px}}

/* Source: responsive.css */
/* Generated from design-system/patterns/responsive.css. Edit that source, then run node design-system/build.cjs. */
/* Adapt content to available space; the desktop composition remains the reference. */
.sp-editorial__content{padding-bottom:6vw}
.sp-calculator__value output{min-width:0;max-width:100%;overflow-wrap:anywhere}
@media(max-width:62rem){
 .sp-editorial{display:flex;flex-direction:column;min-height:0}.sp-editorial__image-wrap{width:100%;aspect-ratio:1.7;min-height:0}.sp-editorial__image{height:100%;object-position:center 42%}.sp-editorial__image-wrap::after{background:linear-gradient(0deg,var(--sp-color-navy,#06004a),transparent 65%)}.sp-editorial__content{padding:2rem 6% 3.5rem;max-width:46rem;align-self:flex-start}.sp-editorial h2{font-size:40px;font-weight:400;line-height:1.2;letter-spacing:-0.025em;max-width:16ch;margin:1.2rem 0}.sp-editorial__content>p:not(.sp-eyebrow){margin-bottom:1.5rem}
 .sp-calculator__layout{grid-template-columns:1fr}.sp-calculator__inputs,.sp-calculator__result{padding:clamp(1.5rem,5vw,3rem)}.sp-calculator__result{min-height:27rem}.sp-calculator__value{font-size:40px;font-weight:400;line-height:1.2;letter-spacing:-0.025em}
 .team-preview .team-grid{grid-template-columns:1fr;max-width:25rem;gap:1.5rem}.team-preview .team-grid h3{font-size:18px;font-weight:400;line-height:1.45;letter-spacing:0}
}
@media(max-width:50rem){
 .flow-enhanced .system-panels{height:auto;align-items:stretch}.flow-enhanced .system-panel,.flow-enhanced .system-panel[hidden]{height:auto;min-height:35rem}
 .flow-enhanced .system-panel.is-active{display:flex;flex-direction:column}.flow-enhanced .system-panel.is-active>div{width:100%;padding:3.8rem 1.25rem 1rem;flex:1}.flow-enhanced .system-panel.is-active figure{position:relative;inset:auto;margin:0 1rem 1rem;height:auto;flex:none;align-self:stretch;width:calc(100% - 2rem)}.flow-enhanced .system-panel.is-active img{height:12rem;min-height:0;aspect-ratio:auto}.flow-enhanced .system-panel.is-active figcaption{height:auto}
 .system-panel.is-active .flow-card-trigger{max-width:calc(100% - 1.5rem)}
 .sp-capability__media-label{max-width:calc(100% - 1.5rem);line-height:1.4}.sp-calculator__note{font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0}
}
@media(max-height:34rem) and (orientation:landscape){
 .hero-copy,body.js-enabled:not(.reduced-motion):not(.video-unavailable) .hero-copy{top:calc(var(--sp-nav-height) + 1.2rem);left:7%;right:auto;max-width:48%;width:48%;padding:0}
 .hero-copy h1,body.js-enabled:not(.reduced-motion):not(.video-unavailable) .hero-copy h1{font-size:40px;font-weight:400;line-height:1.2;letter-spacing:-0.025em}.hero-copy .eyebrow{display:none}.hero-copy .subtitle{font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0;margin-top:1rem}.hero-copy .cta{margin-top:.8rem;font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0;min-width:0;min-height:2.5rem;padding:.6rem 1.1rem}
 .drawing-toolbar,.settings-toolbar,.scene-status{display:none}.scroll-cue{bottom:1rem}
 body.js-enabled:not(.reduced-motion):not(.video-unavailable) .film-chapter{inset:auto 7% 10%;text-align:left}
 body.js-enabled:not(.reduced-motion):not(.video-unavailable) .film-chapter h2{font-size:40px;font-weight:400;line-height:1.2;letter-spacing:-0.025em;margin-bottom:.65rem}
 body.js-enabled:not(.reduced-motion):not(.video-unavailable) .film-chapter .chapter-label{margin-bottom:.6rem}
 body.js-enabled:not(.reduced-motion):not(.video-unavailable) .film-chapter>p:not(.chapter-label){font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0}
}
@media(max-width:23rem){.sp-calculator__value{font-size:26px;font-weight:600;line-height:1.2;letter-spacing:-0.02em}.sp-calculator__result{min-height:26rem}.sp-capability__copy{padding:1.4rem}.sp-calculator h2{font-size:26px;font-weight:600;line-height:1.2;letter-spacing:-0.02em}}

/* Keep the complete building in the lower half of the Home film on portrait screens. */
@media (max-width:64rem) and (orientation:portrait){
 #film-stage .hero-render,
 #film-stage .hero-film,
 body.js-enabled:not(.reduced-motion):not(.video-unavailable) #film-stage .hero-film{
  top:auto;bottom:6.5rem;left:-42%;width:155%;height:auto;max-width:none;
  object-fit:contain;object-position:center bottom;
  mask-image:linear-gradient(to bottom,transparent,var(--sp-color-black,#000) 25%)
 }
 #film-stage .hero-copy,
 body.js-enabled:not(.reduced-motion):not(.video-unavailable) #film-stage .hero-copy{
  left:7%;right:7%;top:clamp(9.3rem,17svh,12rem);max-width:40rem;margin:0;padding:0;
  text-shadow:none
 }
 #film-stage .hero-copy h1,
 body.js-enabled:not(.reduced-motion):not(.video-unavailable) #film-stage .hero-copy h1{
  font-size:clamp(2.15rem,8.3vw,4.2rem);line-height:1.04
 }
 #film-stage .hero-copy .subtitle{font-size:clamp(.82rem,1.7vw,1.05rem);line-height:1.45;margin-top:1.15rem}
 #film-stage .hero-copy .cta{min-height:2.75rem;margin-top:1.1rem;font-size:.78rem}
 #film-stage .scroll-cue{display:none}
}
@media (min-width:24rem) and (max-width:50rem) and (orientation:portrait){
 #film-stage .hero-copy h1,
 body.js-enabled:not(.reduced-motion):not(.video-unavailable) #film-stage .hero-copy h1{font-size:26px;font-weight:600;line-height:1.2;letter-spacing:-0.02em}
}
@media (min-width:50.01rem) and (max-width:64rem) and (orientation:portrait){
 #film-stage .tool-rail,#film-stage .drawing-toolbar,#film-stage .settings-toolbar,#film-stage .view-control{display:none}
 #film-stage .hero-copy .eyebrow{display:none}
 #film-stage .hero-copy .subtitle{max-width:32rem}
 #film-stage .scene-status{left:7%;top:calc(var(--sp-nav-height) + 1.25rem)}
 #film-stage .sequence-progress{left:0}
}

/* The Platform film needs a stacked composition on portrait tablets. */
@media (min-width:48rem) and (max-width:64rem) and (orientation:portrait){
 html.pe-motion-ready .pf-page .pf-hero .ps-hero-copy{
  top:5%;left:6%;width:88%;max-width:none;text-align:left
 }
 html.pe-motion-ready .pf-page .pf-hero .ps-hero-copy h1{
  font-size:clamp(2.8rem,6.2vw,4rem);max-width:20ch
 }
 html.pe-motion-ready .pf-page .pf-hero .ps-hero-art{
  top:44%;left:50%;width:88%;max-width:none;
  transform:translateX(-50%) translateY(calc(var(--pe-intro,0)*-12vh))
 }
}
@media (min-width:48rem) and (max-width:64rem) and (orientation:landscape){
 html.pe-motion-ready .pf-page .pf-hero .ps-hero-copy{width:37%}
 html.pe-motion-ready .pf-page .pf-hero .ps-hero-copy h1{font-size:40px;font-weight:400;line-height:1.2;letter-spacing:-0.025em}
 html.pe-motion-ready .pf-page .pf-hero .ps-hero-copy>p:not(.ps-eyebrow){font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0}
 html.pe-motion-ready .pf-page .pf-hero .ps-hero-art{left:69%;width:50vw}
}
@media (max-height:34rem) and (orientation:landscape){
 html .pf-page .pf-hero{padding-top:1.5rem}
 html .pf-page .ps-hero h1{font-size:40px;font-weight:400;line-height:1.2;letter-spacing:-0.025em}
 html .pf-page .ps-hero-art{margin-top:1.25rem}
}

/* type system: the two mobile step-downs (heading 32px, heading-small 26px) */
@media (max-width:767px){.hero-copy h1,body.js-enabled:not(.reduced-motion):not(.video-unavailable) .hero-copy h1{font-size:32px}body.js-enabled:not(.reduced-motion):not(.video-unavailable) .film-chapter h2{font-size:32px}html .pf-page .ps-hero h1{font-size:32px}}

/* Source: site-pages.css */
/* Generated from design-system/patterns/site-pages.css. Edit that source, then run node design-system/build.cjs. */
/* Shared editorial system, derived from the approved Spacial homepage. */
.sp-subpage{--navy:var(--sp-color-navy,#06004a);--blue:var(--sp-color-brand-blue,#1705e5);--pale:#f7f6ff;color:var(--navy)}
.sp-subpage .container{width:var(--sp-page-width,min(100% - 8vw,1740px));max-width:none}.sp-subpage .hero{padding:clamp(4rem,6.5vw,8rem) 0}.sp-subpage .hero h1{font-size:40px;font-weight:400;line-height:1.2;letter-spacing:-0.025em;max-width:15ch}.sp-subpage .hero.center h1{max-width:22ch;margin-inline:auto}.sp-subpage h2{font-size:40px;font-weight:400;line-height:1.2;letter-spacing:-0.025em}.sp-subpage h3{font-weight:500}.sp-subpage .hero .hero-inner{gap:5vw}.sp-subpage .hero-media{aspect-ratio:1.15!important}.sp-subpage .section{padding:clamp(4rem,6.5vw,8rem) 0}.sp-subpage .section-header{margin-bottom:3.5rem}.sp-subpage .section-intro{margin-bottom:3.5rem;gap:3rem}.sp-subpage .grid-field{background-image:radial-gradient(#1705e510 .055rem,transparent .07rem);background-size:2.6rem 2.6rem}.sp-subpage .notch{border-radius:6px}.sp-subpage .lede{font-size:18px;font-weight:400;line-height:1.45;letter-spacing:0}.sp-subpage .body-copy{font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0}.sp-subpage .dark{background:var(--sp-color-navy,#06004a)}.sp-subpage .closing{padding:clamp(3rem,5vw,5rem) 0;background:#f0efff;color:var(--sp-color-navy,#06004a)}.sp-subpage .closing .eyebrow{color:var(--sp-color-brand-blue,#1705e5)}.sp-subpage .closing .button.outline{color:var(--sp-color-navy,#06004a);border-color:var(--sp-color-navy,#06004a)}.sp-subpage .closing .lede{color:#646177;max-width:38ch;margin-top:1.3rem}.sp-subpage .closing h2{font-size:40px;font-weight:400;line-height:1.2;letter-spacing:-0.025em}
.sp-subpage .image-frame .caption,.sp-subpage .wide-media figcaption{font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0;padding:.8rem 1.1rem}.sp-subpage .step-grid{background:none;gap:2.4vw}.sp-subpage .step-grid article{border-top:1px solid #d8d5e5;padding:1rem 0 0;background:none}.sp-subpage .step-grid img{aspect-ratio:1.3;height:auto;border-radius:6px;margin-bottom:1.7rem}.sp-subpage .step-grid h3{font-size:32px;font-weight:600;line-height:1.2;letter-spacing:-0.02em}.sp-subpage .feature-card{border-radius:0;padding:2rem 0;border-top:1px solid #d5d2e8;background:none;min-height:0}.sp-subpage .three-up{gap:2.5vw}.sp-subpage .feature-card h3{max-width:14ch}.sp-subpage .feature-card p{max-width:35ch}.sp-subpage .mini-line{display:none}.sp-subpage .screen-story{padding:clamp(3rem,6vw,6rem) 0;gap:6vw}.sp-subpage .screen-story .image-frame{aspect-ratio:1.5}.sp-subpage .flow h3{margin-top:2rem}.sp-subpage .flow article{padding-block:1.7rem 2rem}
.sp-subpage .team-grid{gap:3rem}.sp-subpage .person{background:none;border-radius:0;overflow:visible}.sp-subpage .person img{width:8rem;height:8rem;aspect-ratio:1;border-radius:50%;margin-bottom:1.7rem}.sp-subpage .person div{padding:0}.sp-subpage .person h3{font-size:18px;font-weight:400;line-height:1.45;letter-spacing:0}.sp-subpage .person p{margin-top:.7rem;max-width:35ch;line-height:1.6}.orbit-compact .orbit-figure img{width:min(100%,22rem);margin:auto}.investor-logo-row{display:grid;grid-template-columns:repeat(4,1fr);gap:4vw;align-items:center;padding:2rem 0}.investor-logo-row img{width:100%;max-width:13rem;max-height:5rem;object-fit:contain;justify-self:center}.role-row{display:grid;grid-template-columns:1.5fr 1fr auto;gap:2rem;align-items:center;padding:1.8rem 0;border-top:1px solid #cecadd}.role-row:last-child{border-bottom:1px solid #cecadd}.role-row__title{font-size:32px;font-weight:600;line-height:1.2;letter-spacing:-0.02em}.role-row__meta{color:#676279;font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0}.role-row__arrow{color:var(--sp-color-brand-blue,#1705e5);font-size:18px;font-weight:400;line-height:1.45;letter-spacing:0}.role-row:hover .role-row__title{color:var(--sp-color-brand-blue,#1705e5)}.role-list+.text-link{margin-top:1.4rem}
.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw;align-items:start}.contact-layout h1{max-width:12ch}.contact-details{display:grid;gap:1.6rem;margin-top:3rem}.contact-details h2{font-size:16px!important;font-weight:400!important;line-height:1.4!important;letter-spacing:0!important;margin-bottom:.5rem}.contact-details p{font-size:18px;font-weight:400;line-height:1.45;letter-spacing:0;color:#68637f;margin:0;max-width:32ch}.contact-details a{color:var(--sp-color-brand-blue,#1705e5)}.form-card{background:var(--sp-color-surface,#fff);border:1px solid #e0dced;border-radius:6px;padding:clamp(1.3rem,3vw,3rem);box-shadow:none}.form-card h2{font-size:32px;font-weight:600;line-height:1.2;letter-spacing:-0.02em;margin:0 0 .6rem}.form-card>p{color:#77718b;font-size:18px;font-weight:400;line-height:1.45;letter-spacing:0;margin-bottom:1.6rem}.form-card .sp-form__privacy a{color:var(--sp-color-brand-blue,#1705e5);text-decoration:underline}.sp-subpage .paper-request summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:2rem;border-bottom:1px solid #aaa5e1;padding:1rem 0;cursor:pointer;font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0}.paper-request summary::-webkit-details-marker{display:none}.paper-request[open] summary{margin-bottom:1.5rem}.paper-request .form-card{color:var(--sp-color-navy,#06004a)}.paper-request .form-card p{color:#6e6683}.paper-request .form-card .sp-form__preview-note{color:#464085}.sp-subpage .paper-request .form-card h2{font-size:32px;font-weight:600;line-height:1.2;letter-spacing:-0.02em}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3.5rem 2.4vw}.blog-card{min-width:0;border-top:1px solid #d9d6e7;padding-top:1rem}.blog-card a{display:block}.blog-card img{width:100%;aspect-ratio:1.5;object-fit:cover;border-radius:6px;background:#f0eff8}.blog-card .article-meta{margin:1.3rem 0 .8rem}.blog-card h2{font-size:18px;font-weight:400;line-height:1.45;letter-spacing:0}.blog-card p{color:#69637d;font-size:18px;font-weight:400;line-height:1.45;letter-spacing:0}.blog-card a:hover h2{color:var(--sp-color-brand-blue,#1705e5)}.article-meta{font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0;color:#716a88;display:flex;flex-wrap:wrap;gap:.6rem}.blog-tools{display:flex;gap:1rem;align-items:center;margin-bottom:2.5rem}.blog-tools label{font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0;min-width:max-content}.blog-tools input{font:inherit;color:var(--sp-color-navy,#06004a);background:#f8f7fc;border:1px solid #d8d4e6;border-radius:6px;padding:.9rem 1.3rem;width:min(100%,32rem)}.blog-tools input:focus{outline:2px solid var(--sp-color-brand-blue,#1705e5);outline-offset:2px}.blog-count{color:#726b86;font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0}.pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem;margin-top:4rem}.pagination a{padding:.65rem 1rem;border:1px solid #dedbeb;border-radius:50%;min-width:2.8rem;text-align:center}.pagination a[aria-current]{background:var(--sp-color-brand-blue,#1705e5);color:var(--sp-color-surface,white)}.article-hero .container{max-width:72rem}.article-hero h1{max-width:23ch!important;font-size:40px!important;font-weight:400!important;line-height:1.2!important;letter-spacing:-0.025em!important}.article-hero .article-meta{font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0;margin-bottom:2rem}.article-hero .article-cover{width:100%;max-height:36rem;object-fit:cover;border-radius:6px;aspect-ratio:1.85;margin-top:3rem}.article-body{width:89%;max-width:48rem;margin:0 auto;padding:0 0 6rem;font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0;color:#46405c}.article-body h2{font-size:40px;font-weight:400;line-height:1.2;letter-spacing:-0.025em;color:var(--sp-color-navy,#06004a);margin:2.6rem 0 1.1rem}.article-body h3{font-size:18px;font-weight:400;line-height:1.45;letter-spacing:0;margin-top:2rem;color:var(--sp-color-navy,#06004a)}.article-body p{margin-bottom:1.4rem}.article-body a{color:var(--sp-color-brand-blue,#1705e5);text-decoration:underline;text-underline-offset:.2em;overflow-wrap:anywhere}.article-body li{margin-bottom:.65rem}.article-body img{max-width:100%;height:auto}.article-body blockquote{border-left:2px solid var(--sp-color-brand-blue,#1705e5);margin:2rem 0;padding-left:1.4rem}.archive-note{background:#f5f4fc;border-left:2px solid #bbb4ff;padding:1rem 1.2rem;font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0;color:#625b78;margin-bottom:2rem}.article-body strong{font-weight:500}.article-body table{display:block;overflow:auto;max-width:100%}.legal-body{max-width:60rem}.legal-body h1{font-size:40px;font-weight:400;line-height:1.2;letter-spacing:-0.025em}.legal-body h2{font-size:32px;font-weight:600;line-height:1.2;letter-spacing:-0.02em}.legal-body h3{font-size:18px;font-weight:400;line-height:1.45;letter-spacing:0}.legal-body [style]{max-width:100%}.press-list{display:grid;gap:0}.press-row{display:grid;grid-template-columns:.65fr 2fr auto;gap:3vw;align-items:center;padding:2rem 0;border-top:1px solid #d7d4e6}.press-row:last-child{border-bottom:1px solid #d7d4e6}.press-row h2{font-size:32px;font-weight:600;line-height:1.2;letter-spacing:-0.02em;margin:0}.press-row .press-type{color:#746d89;font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0;margin-top:.5rem}.press-row:hover{color:var(--sp-color-brand-blue,#1705e5)}.resource-row{display:grid;grid-template-columns:1fr auto;gap:2rem;padding:1.8rem 0;border-top:1px solid #d8d4e6}.resource-row h3{margin:0;font-size:32px;font-weight:600;line-height:1.2;letter-spacing:-0.02em}.resource-row p{margin:.7rem 0 0;color:#746d89}.resource-row>span{font-size:18px;font-weight:400;line-height:1.45;letter-spacing:0;color:var(--sp-color-brand-blue,#1705e5)}

@media(max-width:62rem){.sp-subpage .hero .hero-inner,.contact-layout{grid-template-columns:1fr}.sp-subpage .hero-media{aspect-ratio:1.6!important}.sp-subpage .hero h1{max-width:18ch}.sp-subpage .hero .lede{max-width:42ch}.sp-subpage .split{gap:3rem}.blog-grid{grid-template-columns:1fr 1fr}.sp-subpage .team-grid{grid-template-columns:1fr;gap:2.5rem}.sp-subpage .person{display:grid;grid-template-columns:7rem 1fr;gap:1.5rem;align-items:start}.sp-subpage .person img{width:7rem;height:7rem}.sp-subpage .person p{max-width:54ch}.sp-subpage .step-grid{gap:1.5rem}.contact-layout{gap:3rem}.sp-subpage .form-card h2{font-size:32px;font-weight:600;line-height:1.2;letter-spacing:-0.02em}.press-row{grid-template-columns:.6fr 2fr auto}}
@media(max-width:45rem){.sp-subpage .container{width:var(--sp-page-width,min(100% - 8vw,1740px))}.sp-subpage .hero h1{font-size:32px;font-weight:400;line-height:1.2;letter-spacing:-0.025em}.sp-subpage h2{font-size:32px;font-weight:400;line-height:1.2;letter-spacing:-0.025em}.sp-subpage .hero{padding:3.5rem 0}.sp-subpage .section{padding:3.8rem 0}.sp-subpage .three-up,.sp-subpage .step-grid,.blog-grid{grid-template-columns:1fr;gap:2rem}.sp-subpage .section-header{margin-bottom:2.3rem}.sp-subpage .split{grid-template-columns:1fr}.sp-subpage .split.reverse>*{order:initial}.sp-subpage .person{grid-template-columns:1fr;gap:0}.sp-subpage .person img{width:6rem;height:6rem;margin-bottom:1rem}.role-row{grid-template-columns:1fr auto;gap:.65rem}.role-row__meta{grid-column:1;grid-row:2}.role-row__arrow{grid-column:2;grid-row:1/3}.investor-logo-row{grid-template-columns:1fr 1fr;gap:2rem}.investor-logo-row img{max-width:8rem;max-height:3.5rem}.orbit-compact .orbit-figure img{max-width:16rem}.blog-tools{flex-wrap:wrap}.blog-tools input{width:100%}.article-body{width:88%;font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0}.article-hero h1{font-size:32px!important;font-weight:400!important;line-height:1.2!important;letter-spacing:-0.025em!important}.press-row{grid-template-columns:1fr auto;gap:1rem}.press-row>div:first-child{grid-column:1/-1}.press-row h2{font-size:26px;font-weight:600;line-height:1.2;letter-spacing:-0.02em}.press-row>span{grid-column:2;grid-row:2}.sp-subpage .closing-inner{display:block}.sp-subpage .closing .button{margin-top:2rem}.sp-subpage .flow{grid-template-columns:1fr}.sp-subpage .flow article{border-right:0;padding-inline:0}.sp-subpage .flow p:last-child{max-width:36ch}.sp-subpage .diagram{padding:1.2rem;min-height:25rem}.sp-subpage .diagram-core{min-height:21rem}.sp-subpage .diagram-core .node{font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0}.sp-subpage .diagram-core .center-node{width:7rem;font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0}.article-hero .article-cover{aspect-ratio:1.35}.paper-request .form-card{padding:1.2rem}}
.sp-subpage .article-hero h1,.sp-subpage .article-body{overflow-wrap:break-word}.blog-card[hidden]{display:none}.sp-subpage .notch{clip-path:none}.sp-subpage .screen-story>*{min-width:0}
.support-beta .body-copy a{text-decoration:underline;text-underline-offset:.2em}

@media(max-width:45rem){.sp-subpage .screen-story{grid-template-columns:minmax(0,1fr);gap:2rem}.sp-subpage .screen-story:nth-child(even)>*{order:initial}}
.seed-next-links{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}.seed-founder-quote{margin:0;padding:0}.seed-founder-quote blockquote{margin:0 0 2rem;font-size:40px;font-weight:400;line-height:1.2;letter-spacing:-0.025em}.seed-founder-quote figcaption{font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0;color:#bdb7e1}.seed-quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem 5vw}.seed-quote-grid figure{border-top:1px solid #d2cce5;padding-top:2rem;display:flex;flex-direction:column;justify-content:space-between}.seed-quote-grid blockquote{margin:0 0 2rem;font-size:18px;font-weight:400;line-height:1.45;letter-spacing:0}.seed-quote-grid figcaption span,.seed-team-grid span{display:block;font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0;color:#625b74;margin-top:.35rem}.seed-team-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem 3vw}.seed-team-grid li{border-top:1px solid #ddd8e9;padding-top:1rem}.seed-team-grid strong{font-weight:500}.seed-founder-quote figcaption span{display:block;margin-top:.4rem}.sp-subpage .seed-team-grid li{min-width:0}
@media(max-width:62rem){.seed-team-grid{grid-template-columns:1fr 1fr}.seed-quote-grid{gap:2.5rem}}
@media(max-width:45rem){.seed-quote-grid{grid-template-columns:1fr}.seed-team-grid{column-gap:1.5rem}.seed-team-grid strong{font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0}.seed-next-links{margin-top:1.5rem}}
/* Embedded forms remain legible inside dark sections. */
.sp-subpage .form-card,.sp-subpage .dark .form-card h2{color:var(--sp-color-navy,#06004a)}.sp-subpage .dark .form-card>p{color:#77718b}

/* Keep the selected Platform artwork fully visible at every screen size. */
.sp-subpage .hero-media.platform-art{aspect-ratio:2400 / 1792!important}.sp-subpage .hero-media.platform-art img{display:block;object-fit:contain}
/* type system: the two mobile step-downs (heading 32px, heading-small 26px) */
@media (max-width:767px){.sp-subpage .hero h1{font-size:32px}.sp-subpage h2{font-size:32px}.sp-subpage .closing h2{font-size:32px}.sp-subpage .step-grid h3{font-size:26px}.role-row__title{font-size:26px}.form-card h2{font-size:26px}.sp-subpage .paper-request .form-card h2{font-size:26px}.article-hero h1{font-size:32px!important}.article-body h2{font-size:32px}.legal-body h1{font-size:32px}.legal-body h2{font-size:26px}.press-row h2{font-size:26px}.resource-row h3{font-size:26px}.seed-founder-quote blockquote{font-size:32px}}
.article-body h2.article-subhead{font-size:18px;font-weight:500;line-height:1.45;letter-spacing:0;margin:2rem 0 .8rem}

/* Source: forms.css */
/* Generated from design-system/patterns/forms.css. Edit that source, then run node design-system/build.cjs. */
@font-face{font-family:Inter;src:url('https://cdn.prod.website-files.com/6acdbdbd2e045e4cb7879ab7/6ae51662fff31a4c849bcc31_sp-InterVariable.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}

.sp-form-preview{min-height:100vh;margin:0;background:#f7f8fc;color:var(--sp-color-navy,#06004a);font-family:var(--sp-font-family,Inter,Arial,sans-serif)}
.sp-form-preview *{box-sizing:border-box}
.sp-form-preview__shell{max-width:1240px;margin:0 auto;padding:clamp(var(--sp-space-7,28px),5vw,72px) clamp(var(--sp-space-5,20px),4vw,54px) 100px}
.sp-form-preview__brand{display:inline-flex;align-items:center;gap:14px;color:var(--sp-color-navy,#06004a);text-decoration:none}
.sp-form-preview__brand img{display:block;width:128px;height:auto}
.sp-form-preview__eyebrow{margin:0 0 18px;font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0.06em;text-transform:uppercase;font-feature-settings:"tnum" 1,"ss01" 1;color:var(--sp-color-brand-blue,#1705e5)}
.sp-form-preview__layout{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);align-items:start;gap:clamp(var(--sp-space-8,32px),6vw,90px);margin-top:clamp(62px,8vw,112px)}
.sp-form-preview__intro h1{max-width:560px;margin:0;font-size:40px;font-weight:600;line-height:1.2;letter-spacing:-0.025em}
.sp-form-preview__intro p:last-child{max-width:410px;margin:var(--sp-space-6,24px) 0 0;color:#5e5c79;font-size:18px;font-weight:400;line-height:1.45;letter-spacing:0}
.sp-form-preview__card{border:1px solid #e2e3ee;border-radius:6px;background:var(--sp-color-surface,#fff);padding:clamp(var(--sp-space-6,24px),3.6vw,var(--sp-space-12,48px));box-shadow:none}
.sp-form-preview__card-heading{margin:0 0 var(--sp-space-2,8px);font-size:32px;font-weight:600;line-height:1.2;letter-spacing:-0.02em}
.sp-form-preview__card-copy{margin:0 0 var(--sp-space-7,28px);color:#6c6a83;font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0}

.sp-form{color:var(--sp-color-navy,#06004a);font-family:var(--sp-font-family,Inter,Arial,sans-serif)}
.sp-form *{box-sizing:border-box}
.sp-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}
.sp-form__field{min-width:0}
.sp-form__field--full{grid-column:1/-1}
.sp-form__label{display:block;margin:0 0 9px;color:#292457;font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0}
.sp-form__optional{color:#716c83;font-weight:500}
.sp-form__control{display:block;width:100%;min-height:52px;padding:13px 15px;border:1px solid #d9dbe9;border-radius:6px;background:var(--sp-color-surface,#fff);color:var(--sp-color-navy,#06004a);font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0;outline:0;transition:border-color .18s,box-shadow .18s}
.sp-form__control::placeholder{color:#716c83}
.sp-form__control:hover{border-color:#aca8d5}
.sp-form__control:focus-visible,.sp-form__checkbox input:focus-visible{border-color:var(--sp-color-brand-blue,#1705e5);box-shadow:0 0 0 4px rgba(23,5,229,.12);outline:0}
.sp-form__control[aria-invalid="true"]{border-color:#c62b56}
.sp-form__error{display:block;margin:.4rem 0 0;color:var(--sp-color-danger,#ac244b);font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0}
.sp-form__control--textarea{min-height:134px;resize:vertical}
.sp-form__control--select{appearance:none;padding-right:var(--sp-space-11,44px);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m3.5 6 4.5 4 4.5-4' stroke='%2306004a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.sp-form__checkbox{display:flex;align-items:flex-start;gap:11px;color:#55536f;font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0;cursor:pointer}
.sp-form__checkbox input{flex:none;width:18px;height:18px;margin:1px 0 0;accent-color:var(--sp-color-brand-blue,#1705e5);cursor:pointer}
.sp-form__checkbox input[aria-invalid="true"]{outline:2px solid #c62b56;outline-offset:2px}
.sp-form__fallback{margin:10px 0 0;color:#55536f;font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0}.sp-form__fallback a{color:var(--sp-color-brand-blue,#1705e5);text-underline-offset:3px}
.sp-form__actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:26px}
.sp-form__button{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;width:fit-content;min-height:48px;padding:13px var(--sp-space-5,20px);border:1px solid var(--sp-color-brand-blue,#1705e5);border-radius:6px;background:var(--sp-color-brand-blue,#1705e5);color:var(--sp-color-surface,#fff);font-size:16px;font-weight:500;line-height:1.2;letter-spacing:0;cursor:pointer;transition:background .18s,transform .18s}
.sp-form__button:hover{background:#3022ff;transform:translateY(-1px)}
.sp-form__button:focus-visible{outline:3px solid #9188ff;outline-offset:3px}
.sp-form__button span:last-child{font-size:18px;font-weight:400;line-height:1.45;letter-spacing:0}
.sp-form__status{min-height:21px;margin:0;color:#55536f;font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0}
.sp-form__status[data-state="invalid"]{color:var(--sp-color-danger,#ac244b)}
.sp-form__status[data-state="valid"]{color:var(--sp-color-success,#285c44)}
.sp-form__privacy{margin:var(--sp-space-5,20px) 0 0;color:#716c83;font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0}
.sp-form__noscript{margin:var(--sp-space-3,12px) 0 0;color:#9d3151;font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0}

@media(max-width:800px){.sp-form-preview__layout{grid-template-columns:1fr;gap:var(--sp-space-9,36px);margin-top:64px}.sp-form-preview__intro p:last-child{margin-top:18px}.sp-form-preview__card{max-width:760px}}
@media(max-width:600px){.sp-form-preview__shell{padding-bottom:64px}.sp-form__grid{grid-template-columns:1fr;gap:19px}.sp-form__field--full{grid-column:auto}.sp-form-preview__card{border-radius:6px;padding:var(--sp-space-6,24px) var(--sp-space-5,20px)}.sp-form__actions{align-items:stretch;flex-direction:column}.sp-form__button{width:fit-content;max-width:100%;align-self:flex-start}}
/* type system: the two mobile step-downs (heading 32px, heading-small 26px) */
@media (max-width:767px){.sp-form-preview__intro h1{font-size:32px}.sp-form-preview__card-heading{font-size:26px}}

/* Source: typography.css */
/* Typography system (Inter, weights 400/500/600 only). See TYPOGRAPHY.md.
   Nine styles; fixed pixel sizes; the only responsive change is heading 40->32 and heading-small 32->26 below 768px. */
@font-face {
  font-family: Inter;
  src: url("https://cdn.prod.website-files.com/6acdbdbd2e045e4cb7879ab7/6ae51662fff31a4c849bcc31_sp-InterVariable.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
}

:root {
  --font-sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
}

html {
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Keep all site copy and controls on the same local font. Decorative glyphs
   marked aria-hidden and SVG icon art retain their own rendering. */
body {
  font-family: var(--sp-font-family,Inter,Arial,sans-serif);
}

body :not([aria-hidden="true"]):not([aria-hidden="true"] *):not(svg):not(svg *) {
  font-family: inherit;
}

body :is(button, input, select, textarea) {
  font-family: var(--sp-font-family,Inter,Arial,sans-serif);
}

/* ---- the nine styles, plus sub (descriptions) and cta (buttons, text links) added Oct 2026 ---- */
.heading         { font-size: 40px; font-weight: 600; line-height: 1.2; letter-spacing: -0.025em; }
.heading-regular { font-size: 40px; font-weight: 400; line-height: 1.2; letter-spacing: -0.025em; }
.heading-small   { font-size: 32px; font-weight: 600; line-height: 1.2; letter-spacing: -0.02em; }
.lead            { font-size: 22px; font-weight: 500; line-height: 1.3; letter-spacing: -0.01em; }
.lead-regular    { font-size: 22px; font-weight: 400; line-height: 1.3; letter-spacing: -0.01em; }
.ui              { font-size: 20px; font-weight: 500; line-height: 1.2; letter-spacing: 0; }
.ui-secondary    { font-size: 20px; font-weight: 400; line-height: 1.2; letter-spacing: 0; opacity: .5; }
.body            { font-size: 16px; font-weight: 400; line-height: 1.4; letter-spacing: 0; }
.sub             { font-size: 18px; font-weight: 400; line-height: 1.45; letter-spacing: 0; }
.cta             { font-size: 16px; font-weight: 500; line-height: 1.2; letter-spacing: 0; }
.label           { font-size: 14px; font-weight: 500; line-height: 1.5; letter-spacing: 0.06em; text-transform: uppercase; font-feature-settings: "tnum" 1, "ss01" 1; }

/* ---- element defaults: zero specificity, so they only apply where no component sets type ---- */
:where(h1, h2)            { font-size: 40px; font-weight: 600; line-height: 1.2; letter-spacing: -0.025em; }
:where(h3)                { font-size: 32px; font-weight: 600; line-height: 1.2; letter-spacing: -0.02em; }
:where(h4)                { font-size: 22px; font-weight: 500; line-height: 1.3; letter-spacing: -0.01em; }
:where(p)                 { font-size: 18px; font-weight: 400; line-height: 1.45; letter-spacing: 0; }
:where(small, figcaption) { font-size: 16px; font-weight: 400; line-height: 1.4; letter-spacing: 0; }
:where(th)                { font-size: 14px; font-weight: 500; line-height: 1.5; letter-spacing: 0.06em; text-transform: uppercase; font-feature-settings: "tnum" 1, "ss01" 1; }
:where(button)            { font-size: 16px; font-weight: 500; line-height: 1.2; letter-spacing: 0; }

@media (max-width: 767px) {
  .heading, .heading-regular, :where(h1, h2) { font-size: 32px; }
  .heading-small, :where(h3) { font-size: 26px; }
}

/* Icons: one set (Iconoir, filled in by scripts/icons.py) and one line weight for every icon on the site. */
:root { --ic-stroke: 1.5; }
svg.ic { stroke-width: var(--ic-stroke); vector-effect: non-scaling-stroke; }
svg.ic * { vector-effect: inherit; }

/* Source: tools-art.css */
/* Generated from design-system/patterns/tools-art.css. Edit that source, then run node design-system/build.cjs. */
/* Physical cutaway scenes in warm oak, white and indigo, shared by the directory
   and workbenches. Decorative scenes use rendered imagery; functional diagrams
   and calculator canvases retain their existing markup and styles. */
.sp-subpage .tool-hero,
.sp-subpage .ec-hero,
.sp-subpage .tp-hero {
  background: var(--sp-color-tool-navy,#090044);
  background-image: none;
}

.sp-subpage .tool-hero .tool-hero-art,
.sp-subpage .ec-hero .ec-hero-art,
.sp-subpage .tp-hero .tp-hero__visual {
  position: relative;
  inset: auto;
  width: 100%;
  max-width: none;
  min-width: 0;
  min-height: 0;
  height: auto;
  aspect-ratio: 16 / 9;
  margin:0;
  padding:0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: var(--sp-color-tool-navy,#090044);
  box-shadow: none;
}

.sp-subpage .tool-hero .tool-hero-art img,
.sp-subpage .ec-hero .ec-hero-art img,
.sp-subpage .tp-hero .tp-hero__art {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  -webkit-mask-image: linear-gradient(to right, transparent, var(--sp-color-black,#000) 3%, var(--sp-color-black,#000) 97%, transparent), linear-gradient(to bottom, transparent, var(--sp-color-black,#000) 3%, var(--sp-color-black,#000) 97%, transparent);
  mask-image: linear-gradient(to right, transparent, var(--sp-color-black,#000) 3%, var(--sp-color-black,#000) 97%, transparent), linear-gradient(to bottom, transparent, var(--sp-color-black,#000) 3%, var(--sp-color-black,#000) 97%, transparent);
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
}

.sp-subpage .tool-hero .tool-hero-art::before,
.sp-subpage .tool-hero .tool-hero-art::after,
.sp-subpage .ec-hero .ec-hero-art::before,
.sp-subpage .ec-hero .ec-hero-art::after,
.sp-subpage .tp-hero .tp-hero__visual::before,
.sp-subpage .tp-hero .tp-hero__visual::after {
  display: none;
}

.sp-subpage .tool-hero-wrap,
.sp-subpage .ec-hero-grid,
.sp-subpage .tp-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .95fr);
  align-items: center;
  gap:clamp(2rem, 4vw, 4.5rem);
  min-height: 0;
  padding-block:clamp(3.5rem, 5.5vw, 6rem);
}

.sp-subpage .tp-hero__copy {
  width: 100%;
  min-width: 0;
  padding:0;
}

/* Keep the workbench directory as compact editorial rows. */
.sp-subpage .tp-item img.tp-item__art {
  display: block;
  width: 100%;
  max-width: 15rem;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  object-position: center;
  border: 0;
  border-radius: 0;
  background: var(--sp-color-tool-navy,#090044);
  box-shadow: none;
}

@media (max-width: 48rem) {
  .sp-subpage .tool-hero-wrap,
  .sp-subpage .ec-hero-grid,
  .sp-subpage .tp-hero__grid {
    grid-template-columns: minmax(0, 1fr);
    gap:2rem;
    padding-block:3rem;
  }
}

@media (max-width: 44rem) {
  .sp-subpage .tp-item img.tp-item__art {
    width: 12rem;
    max-width: 100%;
    justify-self: start;
  }
}

@media print {
  .sp-subpage .tp-hero__visual {
    display: none;
  }
}

/* Line-drawing art (site, electrical, panel, beam): square drawings on their own pale ground, shown as a filled light
   panel rather than a cutout floating on navy. */
.sp-subpage .tool-hero .tool-hero-art.tool-drawing-art {
  aspect-ratio: 4 / 3;
  border-radius: 8px;
  background: #EDF0F8;
}

.sp-subpage .tool-hero .tool-hero-art.tool-drawing-art img {
  object-fit: cover;
  -webkit-mask-image: none;
  mask-image: none;
}

.sp-subpage .tp-item img.tp-item__art--drawing {
  object-fit: cover;
  border-radius: 6px;
  background: #EDF0F8;
}

/* Source: tools-hub.css */
/* Tools: the directory (tools.html) and the slim header and "More tools" cards shared by every tool page.
   Type follows the homepage: headings 40/600 (32 on phones), card titles 22/500, descriptions 18/1.45, meta 16. */
.th-page{background:#fff;color:var(--sp-color-navy,#06004a)}
.th-wrap,.tl-wrap{width:var(--sp-page-width,min(100% - 8vw,1740px));margin-inline:auto}
.sp-subpage :is(.th-head,.tl-head,.tl-more) :is(h1,h2){max-width:none;margin:0;color:var(--sp-color-navy,#06004a);font-size:40px;font-weight:600;line-height:1.2;letter-spacing:-.025em}

/* directory header: the title and the filter on one line */
.th-head{padding:clamp(48px,6vw,88px) 0 clamp(28px,3vw,40px)}
.th-head__row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.th-filter{display:flex;flex-wrap:wrap;gap:8px}
.th-filter button{min-height:40px;padding:0 16px;border:0;border-radius:6px;background:#F2F2F4;color:var(--sp-color-navy,#06004a);font:inherit;font-size:15px;font-weight:500;line-height:1.2;cursor:pointer;transition:background-color .15s,color .15s}
.th-filter button:hover{background:#E5F0FF}
.th-filter button[aria-pressed="true"]{background:var(--sp-color-navy,#0b004a);color:#fff}
.th-filter button:focus-visible{outline:2px solid var(--sp-color-brand-blue,#1705e5);outline-offset:2px}

/* the cards: two wide, three, two wide on a six-column grid; filtered, every card takes a third */
.th-library{padding:0 0 clamp(64px,8vw,120px)}
.th-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;margin:0;padding:0;list-style:none}
.th-cell{display:flex;grid-column:span 2;min-width:0}
.th-cell--wide{grid-column:span 3}
.th-cell[hidden]{display:none}
.th-grid.is-filtered .th-cell{grid-column:span 2}
.th-card{display:flex;flex-direction:column;width:100%;padding:12px;border-radius:8px;background:#F7F7F5;color:var(--sp-color-navy,#06004a);text-decoration:none;transition:background-color .2s ease}
.th-card__media{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:6px;background:#EDF0F8}
.th-card__media--render{background:var(--sp-color-tool-navy,#090044)}
.th-cell--wide .th-card__media{aspect-ratio:16/9}
.th-grid.is-filtered .th-card__media{aspect-ratio:4/3}
.th-card__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.th-card__body{display:flex;flex:1;flex-direction:column;padding:20px 12px 12px}
.sp-subpage .th-card .th-card__title{margin:0;color:var(--sp-color-navy,#06004a);font-size:22px;font-weight:500;line-height:1.3;letter-spacing:-.01em;transition:color .2s ease}
.th-card__desc{max-width:46ch;margin-top:8px;color:#48455e;font-size:18px;line-height:1.45;text-wrap:pretty}
.th-card__go{display:inline-flex;gap:.5rem;margin-top:auto;padding-top:24px;color:var(--sp-color-navy,#06004a);font-size:16px;font-weight:500;line-height:1.2}
.th-card:hover{background:#EFEFEC}
.th-card:hover .th-card__media img{transform:scale(1.03)}
.th-card:hover .th-card__go{color:var(--sp-color-brand-blue,#1705e5)}
.th-card:focus-visible{outline:2px solid var(--sp-color-brand-blue,#1705e5);outline-offset:3px}
.th-note{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:48px;color:#66637d;font-size:16px;line-height:1.45}
.th-note p{margin:0}
.th-note a{color:var(--sp-color-navy,#06004a);font-weight:500;text-decoration:none}
.th-note a:hover{color:var(--sp-color-brand-blue,#1705e5)}

/* cards rise in once, in order */
@keyframes th-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.th-js .th-grid:not(.is-settled) .th-cell{animation:th-rise .6s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i,0) * 60ms)}

/* tool pages: a slim header with the trail back to Tools, the name and one line */
.tl-head{padding:clamp(36px,4.5vw,64px) 0 clamp(24px,3vw,40px);background:#fff}
.tl-crumb{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;color:#66637d;font-size:16px;line-height:1.4}
.tl-crumb a{color:#66637d;text-decoration:none;transition:color .15s}
.tl-crumb a:hover{color:var(--sp-color-brand-blue,#1705e5)}
.tl-crumb [aria-current]{color:var(--sp-color-navy,#06004a)}
.sp-subpage .tl-head p{max-width:58ch;margin:12px 0 0;color:#48455e;font-size:18px;font-weight:400;line-height:1.45;letter-spacing:0}

/* tool pages: three related tools at the foot of the page */
.tl-more{padding:clamp(64px,8vw,112px) 0;background:#fff}
.tl-more__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px}
.tl-more__head a{color:var(--sp-color-navy,#06004a);font-size:16px;font-weight:500;line-height:1.2;text-decoration:none;white-space:nowrap}
.tl-more__head a:hover{color:var(--sp-color-brand-blue,#1705e5)}

@media(max-width:1000px){
  .th-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .th-cell,.th-cell--wide,.th-grid.is-filtered .th-cell{grid-column:span 1}
  .th-cell--wide .th-card__media{aspect-ratio:4/3}
  .tl-more .th-cell:nth-child(3){display:none}
}
@media(max-width:640px){
  .sp-subpage :is(.th-head,.tl-head,.tl-more) :is(h1,h2){font-size:32px}
  .th-grid{grid-template-columns:1fr;gap:16px}
  .tl-more .th-cell:nth-child(3){display:flex}
}
@media(prefers-reduced-motion:reduce){
  .th-js .th-grid .th-cell{animation:none}
  .th-card,.th-card__media img,.th-filter button{transition:none}
}

/* Source: design-system/site.css */
/* Generated from tokens.json. Run node design-system/build.cjs. Version 1.0.0 */
:root{
  --sp-color-brand-blue:#1705e5;
  --sp-color-tool-blue:#185bff;
  --sp-color-navy:#06004a;
  --sp-color-ink:#11102b;
  --sp-color-muted:#646478;
  --sp-color-line:#e8e8ef;
  --sp-color-surface:#fff;
  --sp-color-subtle:#f4f4f8;
  --sp-color-black:#000;
  --sp-color-tool-navy:#090044;
  --sp-color-tool-ink:#17243b;
  --sp-color-tool-muted:#5b677a;
  --sp-color-tool-line:#e1e5eb;
  --sp-color-tool-ground:#edf1f4;
  --sp-color-tool-hover:#154bd0;
  --sp-color-tool-surface:#f1f4f8;
  --sp-color-tool-selection:#edf3ff;
  --sp-color-tool-outline:#dce5ff;
  --sp-color-danger:#ac244b;
  --sp-color-danger-hover:#8d193b;
  --sp-color-success:#285c44;
  --sp-color-warning:#785020;
  --sp-color-success-surface:#f0f7f3;
  --sp-color-warning-surface:#fff8eb;
  --sp-color-danger-surface:#fff3f6;
  --sp-color-backdrop:#06004ab3;
  --sp-color-action:var(--sp-color-brand-blue);
  --sp-color-focus:var(--sp-color-action);
  --sp-color-field-border:var(--sp-color-muted);
  --sp-font-family:Inter, Arial, sans-serif;
  --sp-font-size-xs:12px;
  --sp-font-size-sm:14px;
  --sp-font-size-base:16px;
  --sp-font-size-lg:18px;
  --sp-font-size-xl:24px;
  --sp-space-1:4px;
  --sp-space-2:8px;
  --sp-space-3:12px;
  --sp-space-4:16px;
  --sp-space-5:20px;
  --sp-space-6:24px;
  --sp-space-7:28px;
  --sp-space-8:32px;
  --sp-space-9:36px;
  --sp-space-10:40px;
  --sp-space-11:44px;
  --sp-space-12:48px;
  --sp-radius-control:6px;
  --sp-radius-card:6px;
  --sp-radius-dialog:6px;
  --sp-radius-pill:6px;
  --sp-radius-circle:50%;
  --sp-action-height:44px;
  --sp-field-height:48px;
  --sp-content-max:1600px;
  --sp-duration-fast:150ms;
  --sp-duration-normal:240ms;
  --sp-duration-slow:400ms;
  --sp-ease-standard:cubic-bezier(.2,.7,.2,1);
  --sp-shadow-sm:none;
  --sp-shadow-md:none;
  --sp-shadow-lg:none;
  --sp-z-nav:100;
  --sp-z-dropdown:110;
  --sp-z-dialog:200;
  --sp-z-toast:300;
  --sp-size-nav-height:72px;
  --sp-color-brand-vivid:#2100ef;
}

/* Spacial components. Opt-in classes keep existing page composition intact.
   Load tokens.css first. Component behavior follows native HTML and ARIA. */
.sp-ds-scope,.sp-ds-tool-shell{font-family:var(--sp-font-family);color:var(--sp-color-ink);color-scheme:light;accent-color:var(--sp-color-action);caret-color:var(--sp-color-action)}
.sp-ds-scope ::selection,.sp-ds-tool-shell ::selection{background:var(--sp-color-action);color:var(--sp-color-surface)}
.sp-ds-scope,.sp-ds-tool-shell,.sp-ds-table-wrap{scrollbar-color:var(--sp-color-muted) var(--sp-color-subtle)}
.sp-ds-scope *, .sp-ds-tool-shell *,[class^="sp-ds-"],[class*=" sp-ds-"]{box-sizing:border-box}
[data-sp-ds-theme="tools"],.sp-ds-tool-shell{--sp-color-action:var(--sp-color-tool-blue);--sp-color-focus:var(--sp-color-action)}

/* Actions retain their label during loading. Applications prevent activation
   for aria-disabled links and aria-busy actions; CSS never changes semantics. */
.sp-ds-button{--sp-ds-action-fill:var(--sp-color-action);--sp-ds-action-ink:var(--sp-color-surface);--sp-ds-action-border:var(--sp-color-action);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-space-2);min-block-size:var(--sp-action-height);max-inline-size:100%;padding:var(--sp-space-3) var(--sp-space-5);border:1px solid var(--sp-ds-action-border);border-radius:var(--sp-radius-control);background:var(--sp-ds-action-fill);color:var(--sp-ds-action-ink);font:500 16px/1.2 var(--sp-font-family);letter-spacing:0;text-align:center;text-decoration:none;overflow-wrap:anywhere;cursor:pointer;touch-action:manipulation;transition:background-color var(--sp-duration-fast),border-color var(--sp-duration-fast),color var(--sp-duration-fast)}
.sp-ds-button--secondary{--sp-ds-action-fill:var(--sp-color-surface);--sp-ds-action-ink:var(--sp-color-action);--sp-ds-action-border:var(--sp-color-action)}
.sp-ds-button--quiet{--sp-ds-action-fill:transparent;--sp-ds-action-ink:var(--sp-color-action);--sp-ds-action-border:transparent}
.sp-ds-button--danger{--sp-ds-action-fill:var(--sp-color-danger,#ac244b);--sp-ds-action-border:var(--sp-color-danger,#ac244b)}
.sp-ds-button--sm{min-block-size:2.25rem;padding:var(--sp-space-2) var(--sp-space-3);font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0}
.sp-ds-button--lg{min-block-size:3.25rem;padding:var(--sp-space-4) var(--sp-space-6);font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0}
.sp-ds-button--full{inline-size:100%}
.sp-ds-button--icon{inline-size:var(--sp-action-height);padding:var(--sp-space-2);flex:none}
.sp-ds-button--icon.sp-ds-button--sm{inline-size:2.25rem}
.sp-ds-button--icon.sp-ds-button--lg{inline-size:3.25rem}
.sp-ds-button svg{inline-size:1.1em;block-size:1.1em;flex:none}
.sp-ds-button:active:not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]){filter:brightness(.92)}
.sp-ds-button:is(:disabled,[aria-disabled="true"]){opacity:.45;cursor:not-allowed}
.sp-ds-button[aria-busy="true"]{cursor:progress}
.sp-ds-button[aria-busy="true"]::after{content:"";inline-size:1em;block-size:1em;flex:none;border:2px solid currentColor;border-inline-end-color:transparent;border-radius:var(--sp-radius-circle);animation:sp-ds-spin .8s linear infinite}
.sp-ds-link{color:var(--sp-color-action);font:inherit;text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:.22em;overflow-wrap:anywhere;transition:color var(--sp-duration-fast)}
.sp-ds-link[aria-disabled="true"]{opacity:.45;cursor:not-allowed}
@media(hover:hover){.sp-ds-button:hover:not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]){background:var(--sp-color-navy);border-color:var(--sp-color-navy);color:var(--sp-color-surface)}.sp-ds-button--quiet:hover:not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]){background:var(--sp-color-subtle);border-color:transparent;color:var(--sp-color-action)}.sp-ds-button--danger:hover:not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]){background:var(--sp-color-danger-hover,#8d193b);border-color:var(--sp-color-danger-hover,#8d193b)}.sp-ds-link:hover{color:var(--sp-color-navy)}}
.sp-ds-button:focus-visible,.sp-ds-link:focus-visible,.sp-ds-tab:focus-visible,.sp-ds-disclosure>summary:focus-visible,.sp-ds-nav a:focus-visible,.sp-ds-footer a:focus-visible{outline:3px solid var(--sp-color-focus,var(--sp-color-action));outline-offset:3px}

/* Fields use native labels, validation and controls. */
.sp-ds-field{display:grid;align-content:start;gap:var(--sp-space-2);min-inline-size:0;color:var(--sp-color-ink);font-family:var(--sp-font-family)}
.sp-ds-field__label{font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0}
.sp-ds-field__hint,.sp-ds-field__error{margin:0;font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0}
.sp-ds-field__hint{color:var(--sp-color-muted)}
.sp-ds-field__error{color:var(--sp-color-danger,#ac244b)}
.sp-ds-field__error:empty{display:none}
.sp-ds-input,.sp-ds-select,.sp-ds-textarea{display:block;inline-size:100%;min-inline-size:0;min-block-size:var(--sp-field-height);padding:var(--sp-space-3) var(--sp-space-4);border:1px solid var(--sp-color-field-border,var(--sp-color-muted));border-radius:var(--sp-radius-control);background:var(--sp-color-surface);color:var(--sp-color-ink);font:400 16px/1.4 var(--sp-font-family);letter-spacing:0;caret-color:var(--sp-color-action);transition:border-color var(--sp-duration-fast),box-shadow var(--sp-duration-fast)}
.sp-ds-select{padding-inline-end:var(--sp-space-8)}
.sp-ds-textarea{min-block-size:8rem;resize:vertical}
.sp-ds-input::placeholder,.sp-ds-textarea::placeholder{color:var(--sp-color-muted);opacity:1}
.sp-ds-input:focus-visible,.sp-ds-select:focus-visible,.sp-ds-textarea:focus-visible{border-color:var(--sp-color-action);outline:2px solid var(--sp-color-focus,var(--sp-color-action));outline-offset:2px}
:is(.sp-ds-input,.sp-ds-select,.sp-ds-textarea)[aria-invalid="true"]{border-color:var(--sp-color-danger,#ac244b)}
:is(.sp-ds-input,.sp-ds-select,.sp-ds-textarea):disabled{background:var(--sp-color-subtle);color:var(--sp-color-muted);cursor:not-allowed;opacity:.7}
.sp-ds-checkbox,.sp-ds-radio{display:flex;align-items:flex-start;gap:var(--sp-space-3);color:var(--sp-color-ink);font:400 16px/1.4 var(--sp-font-family);letter-spacing:0;cursor:pointer}
:is(.sp-ds-checkbox,.sp-ds-radio)>input{inline-size:1.125rem;block-size:1.125rem;flex:none;margin:.15em 0 0;accent-color:var(--sp-color-action)}
:is(.sp-ds-checkbox,.sp-ds-radio)>input:focus-visible{outline:3px solid var(--sp-color-focus,var(--sp-color-action));outline-offset:3px}
:is(.sp-ds-checkbox,.sp-ds-radio)>input[aria-invalid="true"]{outline:2px solid var(--sp-color-danger,#ac244b);outline-offset:2px}
:is(.sp-ds-checkbox,.sp-ds-radio):has(input:disabled){color:var(--sp-color-muted);cursor:not-allowed}

/* Content surfaces stay flat unless the raised variant is chosen. */
.sp-ds-card{min-inline-size:0;border:1px solid var(--sp-color-line);border-radius:var(--sp-radius-card);background:var(--sp-color-surface);color:var(--sp-color-ink);overflow:clip}
.sp-ds-card--subtle{background:var(--sp-color-subtle);border-color:transparent}
.sp-ds-card--raised{box-shadow:var(--sp-shadow-md)}
.sp-ds-card__body{padding:var(--sp-space-6)}
.sp-ds-media{margin:0;overflow:clip;border-radius:var(--sp-radius-card);background:var(--sp-color-subtle)}
.sp-ds-media>img,.sp-ds-media>video{display:block;inline-size:100%;block-size:auto}
.sp-ds-media__caption{padding:var(--sp-space-3) var(--sp-space-4);color:var(--sp-color-muted);font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0}
.sp-ds-badge{display:inline-flex;align-items:center;gap:var(--sp-space-1);padding:var(--sp-space-1) var(--sp-space-2);border:1px solid var(--sp-color-line);border-radius:var(--sp-radius-pill);background:var(--sp-color-subtle);color:var(--sp-color-ink);font:400 16px/1.4 var(--sp-font-family);letter-spacing:0}
.sp-ds-alert{padding:var(--sp-space-4);border:1px solid var(--sp-color-line);border-radius:var(--sp-radius-control);background:var(--sp-color-subtle);color:var(--sp-color-ink);font:400 16px/1.4 var(--sp-font-family);letter-spacing:0}
.sp-ds-alert>:first-child{margin-block-start:0}.sp-ds-alert>:last-child{margin-block-end:0}
:is(.sp-ds-badge--success,.sp-ds-alert--success){color:var(--sp-color-success,#285c44);border-color:currentColor;background:var(--sp-color-success-surface,#f0f7f3)}
:is(.sp-ds-badge--warning,.sp-ds-alert--warning){color:var(--sp-color-warning,#785020);border-color:currentColor;background:var(--sp-color-warning-surface,#fff8eb)}
:is(.sp-ds-badge--danger,.sp-ds-alert--danger){color:var(--sp-color-danger,#ac244b);border-color:currentColor;background:var(--sp-color-danger-surface,#fff3f6)}

/* Tabs require the existing controller to maintain selection and focus. */
.sp-ds-tabs{display:flex;flex-wrap:wrap;gap:var(--sp-space-2);border-block-end:1px solid var(--sp-color-line);padding-block-end:var(--sp-space-2)}
.sp-ds-tab{min-block-size:var(--sp-action-height);padding:var(--sp-space-2) var(--sp-space-4);border:1px solid transparent;border-radius:var(--sp-radius-control);background:transparent;color:var(--sp-color-muted);font:400 16px/1.4 var(--sp-font-family);letter-spacing:0;cursor:pointer}
.sp-ds-tab[aria-selected="true"]{background:var(--sp-color-action);color:var(--sp-color-surface)}
.sp-ds-tab:disabled,.sp-ds-tab[aria-disabled="true"]{opacity:.45;cursor:not-allowed}
.sp-ds-disclosure{border-block-start:1px solid var(--sp-color-line);color:var(--sp-color-ink)}
.sp-ds-disclosure>summary{padding-block:var(--sp-space-4);font:400 16px/1.4 var(--sp-font-family);letter-spacing:0;cursor:pointer}
.sp-ds-disclosure__body{padding-block-end:var(--sp-space-6);color:var(--sp-color-muted);line-height:1.6}
.sp-ds-disclosure__body>:first-child{margin-block-start:0}.sp-ds-disclosure__body>:last-child{margin-block-end:0}
.sp-ds-dialog{inline-size:min(40rem,calc(100% - 2rem));max-block-size:calc(100dvh - 2rem);padding:0;border:1px solid var(--sp-color-line);border-radius:var(--sp-radius-dialog);background:var(--sp-color-surface);color:var(--sp-color-ink);box-shadow:var(--sp-shadow-lg);overflow:auto;overscroll-behavior:contain;font-family:var(--sp-font-family)}
.sp-ds-dialog::backdrop{background:var(--sp-color-backdrop,#06004ab3)}
.sp-ds-dialog__header,.sp-ds-dialog__body,.sp-ds-dialog__actions{padding:var(--sp-space-6)}
.sp-ds-dialog__header{display:flex;justify-content:space-between;align-items:start;gap:var(--sp-space-4);border-block-end:1px solid var(--sp-color-line)}
.sp-ds-dialog__header>:first-child{margin:0;font-size:18px;font-weight:400;line-height:1.45;letter-spacing:0}
.sp-ds-dialog__body{line-height:1.6}
.sp-ds-dialog__actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--sp-space-3);border-block-start:1px solid var(--sp-color-line)}
.sp-ds-table-wrap{max-inline-size:100%;overflow-x:auto;overscroll-behavior-inline:contain}
.sp-ds-table{inline-size:100%;border-collapse:collapse;color:var(--sp-color-ink);font:400 16px/1.4 var(--sp-font-family);letter-spacing:0;font-variant-numeric:tabular-nums}
.sp-ds-table caption{text-align:start;padding-block:var(--sp-space-3);font-weight:500}
.sp-ds-table th,.sp-ds-table td{padding:var(--sp-space-3) var(--sp-space-4);border-block-end:1px solid var(--sp-color-line);text-align:start;vertical-align:top}
.sp-ds-table th{background:var(--sp-color-subtle);font-weight:500}
.sp-ds-table tr[aria-current="true"]{background:var(--sp-color-subtle)}
.sp-ds-metric{min-inline-size:0;display:grid;align-content:start;gap:var(--sp-space-2);padding:var(--sp-space-4);border-block-start:1px solid var(--sp-color-line)}
.sp-ds-metric__label,.sp-ds-metric__note{margin:0;font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0;color:var(--sp-color-muted)}
.sp-ds-metric__value{margin:0;color:var(--sp-color-ink);font-size:22px;font-weight:500;line-height:1.3;letter-spacing:-0.01em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}

/* Shared composition patterns do not impose page typography. */
.sp-ds-container{inline-size:min(calc(100% - 2 * var(--sp-space-6)),100rem);margin-inline:auto}
.sp-ds-section{padding-block:clamp(3rem,6vw,7rem)}
.sp-ds-stack{display:flex;flex-direction:column;gap:var(--sp-space-4);min-inline-size:0}
.sp-ds-cluster{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-space-3)}
.sp-ds-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:var(--sp-space-6)}
.sp-ds-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-space-8);align-items:start}
.sp-ds-section-heading{display:flex;align-items:end;justify-content:space-between;gap:var(--sp-space-6);margin-block-end:var(--sp-space-8)}
.sp-ds-section-heading>:first-child{margin-block:0}.sp-ds-section-heading>p{max-inline-size:40ch;margin:0;color:var(--sp-color-muted);line-height:1.6}
.sp-ds-nav{display:flex;align-items:center;gap:var(--sp-space-6);min-block-size:var(--sp-size-nav-height,4.5rem);padding:var(--sp-space-3) var(--sp-space-6);background:var(--sp-color-surface);color:var(--sp-color-navy);border-block-end:1px solid var(--sp-color-line);font-family:var(--sp-font-family)}
.sp-ds-nav__brand{display:inline-flex;align-items:center;flex:none;color:inherit;text-decoration:none;font-weight:500}
.sp-ds-nav__brand img{display:block;inline-size:9rem;block-size:auto}
.sp-ds-nav__links,.sp-ds-nav__actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-space-4)}
.sp-ds-nav__links{min-inline-size:0}.sp-ds-nav__links a{color:inherit;text-decoration:none;font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0}
.sp-ds-nav__links a[aria-current="page"]{text-decoration:underline;text-underline-offset:.4em}
.sp-ds-nav__actions{margin-inline-start:auto}
.sp-ds-footer{padding:var(--sp-space-10) var(--sp-space-6);background:var(--sp-color-navy);color:var(--sp-color-surface);font-family:var(--sp-font-family)}
.sp-ds-footer__links{display:flex;flex-wrap:wrap;gap:var(--sp-space-6);padding-block-end:var(--sp-space-8)}
.sp-ds-footer a{color:inherit;text-underline-offset:.25em}
.sp-ds-footer__legal{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-space-4);padding-block-start:var(--sp-space-6);border-block-start:1px solid currentColor;font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0}
.sp-ds-tool-shell{padding-block:var(--sp-space-8);background:var(--sp-color-surface);font-size:16px;font-weight:400;line-height:1.4;letter-spacing:0}
@keyframes sp-ds-spin{to{transform:rotate(1turn)}}
@media(max-width:40rem){.sp-ds-split{grid-template-columns:1fr}.sp-ds-section-heading{display:block}.sp-ds-section-heading>p{margin-block-start:var(--sp-space-4)}.sp-ds-nav{flex-wrap:wrap;gap:var(--sp-space-4)}.sp-ds-nav__links{order:3;inline-size:100%}.sp-ds-dialog__header,.sp-ds-dialog__body,.sp-ds-dialog__actions{padding:var(--sp-space-4)}}
@media(prefers-reduced-motion:reduce){.sp-ds-button,.sp-ds-link,.sp-ds-input,.sp-ds-select,.sp-ds-textarea{transition:none}.sp-ds-button[aria-busy="true"]::after{animation:none;border-style:dotted}}
@media(forced-colors:active){.sp-ds-button,.sp-ds-input,.sp-ds-select,.sp-ds-textarea,.sp-ds-tab,.sp-ds-badge,.sp-ds-alert{border-color:ButtonText}.sp-ds-tab[aria-selected="true"]{outline:2px solid Highlight;outline-offset:-2px}.sp-ds-button[aria-busy="true"]::after{forced-color-adjust:none}}

/* Explicit compatibility contracts for the approved site.
   No geometry/computed-style classification, DOM mutation, or global reset.
   Page selectors retain layout, colors, art, and interaction behavior. */
:is(.cta,.button-light,.sp-subpage .button,.sp-subpage .nav-cta,.sp-waitlist,.ps-button,.tc-button,.tc-button-light,.sp-form__button,.sp-lola-submit,.tool-project-help__primary,.tool-project-help__secondary,.bc-button,.pp-button,.pp-small-button,.pp-icon-button,.pp-apply-button,.ep-button,.ep-inline-button,.ep-delete,.ep-library-reset,.ep-project-file>summary,.ep-canvas-button-group button,.sc-button,.ec-button,.ls-button,.ls-dock-button,.ls-type-button,.pe-zoom,.sp-menu-toggle,.sa-button,.sa-icon-button,.sa-dock-button,.sa-rail-button,.sa-project-actions button,.sa-address-search button,.sa-search-results button,button.sa-search-result,.sa-view-switch button,.sa-section-tabs button,.cc-pill,.cp-pill,.pe-window-expand,.ed-filter,.ed-role-filter,.ed-load-more,.ed-blog-cta a,.cc-role-filters button,.cv-topic,.pr-pagination button,.pr-empty button,.rs-film-dialog button,.tc-film-close,.cp-dialog-close,.skip-link,.pe-viewer-actions button,.pw-node,.rs-play),
:is([data-sp-form-validate],.spacial-form [data-spacial-submit],#bc-comparison-body button,.sa-canvas-tool,.sa-print-trigger,.sa-brief-trigger,.system-tabs button,.platform-os .os-tour-bottom button,.pp-circuit-pick,button.pp-slot,.ls-icon-button,.ep-panel-close,.ep-palette button,.ep-level-menu>summary,.ep-project-file-menu button,.ep-overlay-menu>summary,.ep-overlay-tabs button,.ep-coordinate-disclosure>summary,button.ep-breaker-slot,.ep-circuit-devices button,.ep-inventory-item,.ep-panel-device-row button,.ep-structure-tools button,.ep-structure-actions>button:not(.ep-inline-button),.ep-pedit-circuit-list button,.ep-toolbar-more,.ep-review-tray-head button,.ep-study-actions button,.ep-resume-wall-review,.ep-start-blank,.ep-pdf-page-preview,#ep-gap-review>button:nth-of-type(4),#ep-gap-review>button:nth-of-type(5),.ep-panel-view .ep-panel-tabs button,.ep-panel-view .ep-panel-return,.ep-cabinet-settings,.ela-dialog .ela-icon,.ela-dialog button:not(.ela-icon),dialog[aria-label="Exporting drawing set"]>button,.ps-view-tabs button[aria-selected=true],.platform-os .os-tabs button[aria-selected=true],.rs-filters button[aria-pressed=true],.system-panel.is-active .flow-card-trigger,.ep-mode[aria-pressed=true],.ep-library-categories button[aria-pressed=true],.ep-view-tabs button[aria-pressed=true],.ep-inspector-mode-toggle button[aria-pressed=true],.ep-contents-tabs button[aria-selected=true],.ep-spatial-modes button[aria-pressed=true],.ep-spatial-controls button[aria-pressed=true],.spc-privacy__button,.demo-button,.w-nav-button,.spnav-parity-mobile-demo){border-radius:var(--sp-radius-control)!important}

/* Components may add this explicit attribute when a class cannot be used.
   Circular controls and content cards are intentionally excluded. */
[data-spacial-action="boxed"]{border-radius:var(--sp-radius-control)!important}
.sp-lola-actions,.sp-form__actions{display:flex!important;flex-direction:column!important;align-items:stretch!important;inline-size:100%;max-inline-size:100%;box-sizing:border-box}
.sp-lola-submit,.sp-form__button,[data-sp-form-validate],.spacial-form [data-spacial-submit]{inline-size:100%!important;max-inline-size:100%!important;min-inline-size:0!important;box-sizing:border-box!important;justify-content:center!important;text-align:center!important;border-radius:var(--sp-radius-control)!important}

/* The common action role is an alias, not a repaint of page-specific artwork. */
.sp-form__button{border-color:var(--sp-color-brand-blue);background:var(--sp-color-brand-blue);color:var(--sp-color-surface)}
.sp-subpage :is(.bc-button-blue,.pp-button-blue,.ep-button-primary,.sc-button-blue,.ec-button-primary,.ls-button-primary){--sp-color-action:var(--sp-color-tool-blue)}
:is(.sp-form__control,.bc-field input,.bc-field select,.pp-field input,.pp-field select,.sc-field input,.sc-field select,.ec-field input,.ec-field select){caret-color:var(--sp-color-action)}

/* Generated explicit native action adapters. Source: legacy-actions.json. */
.spx-tool-solarcalculator-primary,.spx-tool-solarcalculator-secondary,#ec-solar-a,.spx-tool-energycalculator-primary,.spx-tool-energycalculator-secondary,.spx-tool-lightingsimulator-primary,.spx-tool-lightingsimulator-secondary,#ep-plan-layout-open,.spx-tool-electricalplan-primary,.spx-tool-electricalplan-secondary,.spx-tool-panelplanner-primary,.spx-tool-panelplanner-secondary,.spx-tool-beamcalculator-primary,.spx-tool-beamcalculator-secondary,.spx-special-seed-n0009,.spx-special-seed-n0189,.spx-special-product-build-log-n0009,.spx-special-product-build-log-n0056,.spx-special-beta-n0009,#est-email,.spx-press-n0059,.spx-press-n0061,.spx-press-n0863,.spx-press-n0866,.spx-press-n0868,.spx-careers-n0008,.spx-careers-n0090,.spx-careers-n0092,.spx-careers-n0093,.spx-careers-n0094,.spx-company-n0248,.spx-home-hero-n0049,#tab-architecture,#tab-structure,#tab-mep,#tab-documents{border-radius:var(--sp-radius-control)!important}

