@font-face{font-family:Manrope;src:url('/assets/fonts/xn7gYHE41ni1AdIRggexSg.woff2') format('woff2');font-weight:400 800;font-display:swap}
:root{--ink:#142b40;--muted:#52677c;--paper:#f3f6fa;--navy:#071522;--navy2:#0c2438;--teal:#64e7d0;--line:#d7e2eb;--white:#fff;--blue:#285de8;font-family:Manrope,Arial,sans-serif;color:var(--ink)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f3f6fa;font-family:Manrope,Arial,sans-serif;color:#142b40}body::before,body::after{display:none!important}h1,h2,h3,h4{font-family:Manrope,Arial,sans-serif;letter-spacing:-.045em;line-height:1.14;margin:0 0 20px}p{line-height:1.7}a{color:inherit}button,input,textarea,select{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #2872df;outline-offset:4px}.wrap,.so-wrap{width:min(1220px,calc(100% - 64px));margin-inline:auto}.so-skip{position:absolute;top:10px;left:-999px;z-index:80;padding:12px;background:white;color:#132b40}.so-skip:focus{left:12px}.so-header{background:#071522;color:#fff;border-bottom:1px solid #284050;position:relative;z-index:30}.so-navigation{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:25px}.so-brand img{display:block;width:190px;height:auto;filter:brightness(0) invert(1)}.so-navigation nav{display:flex;gap:30px;align-items:center}.so-navigation nav>a{text-decoration:none;font-size:.82rem;font-weight:650;color:#dce6ed}.so-navigation nav>a:hover{color:#64e7d0}.so-navigation nav .so-button{color:#062839}.so-menu{display:none}.so-button,.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:48px;padding:14px 21px;border-radius:5px;font-size:.85rem;font-weight:750;text-decoration:none;border:1px solid #285de8;transition:background .18s,transform .18s;cursor:pointer}.so-button:hover,.button:hover{transform:translateY(-2px)}.so-button.primary{background:#64e7d0;color:#062839;border-color:#64e7d0}.so-button.primary:hover{background:#9af2e2}.so-button.secondary{background:transparent;color:#fff;border-color:#607b8e}.so-button.secondary:hover{background:#16364b}.button.primary{background:#2459dc;color:white;border-color:#2459dc}.button.outline{background:#fff;color:#153b57;border:1px solid #92acbf}.button.primary:hover{background:#1948bd}.so-kicker{font-size:.66rem;letter-spacing:.17em;text-transform:uppercase;font-weight:750;color:#159485;margin:0 0 20px}.so-hero{color:#fff;background:radial-gradient(ellipse at 85% 35%,#103d5540,transparent 50%),#071522;overflow:hidden}.so-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:46px;padding:65px 0 45px;align-items:center}.so-hero .so-kicker{color:#64e7d0;display:flex;align-items:center;gap:10px}.so-hero .so-kicker::before{content:'';width:6px;height:6px;border-radius:50%;background:#64e7d0}.so-hero h1{font-size:clamp(2.8rem,4.9vw,4.5rem);font-weight:650;line-height:1.08;max-width:660px;margin:0 0 27px;letter-spacing:-.055em}.so-hero h1 span{color:#64e7d0}.so-hero-lead{font-size:1.02rem;color:#b8cbd9;line-height:1.75;max-width:540px;margin:0 0 30px}.so-hero-actions{display:flex;gap:13px;flex-wrap:wrap}.so-hero-note{font-size:.73rem;color:#9bb6c8;max-width:550px;margin:24px 0 0}.so-hero-note strong{color:#d0e0e9;font-weight:650}.so-visual{position:relative;padding:10px 0 0}.so-visual::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,#2487b62b,transparent 60%);pointer-events:none}.so-visual svg{width:100%;height:auto;display:block;overflow:visible}.so-visual-label{position:absolute;right:10px;top:16px;color:#688da6;font-size:.58rem;font-weight:700;letter-spacing:.16em}.so-visual-foot{display:flex;justify-content:center;gap:22px;position:relative;margin:0;color:#a8c2d4;font-size:.64rem;letter-spacing:.06em}.so-visual-foot span{display:flex;align-items:center;gap:7px}.so-visual-foot i{width:5px;height:5px;border-radius:50%;background:#59ded1}.so-visual-foot span:nth-child(2) i{background:#6688ff}.so-visual-foot span:nth-child(3) i{background:#b2bce4}.so-plane{animation:plane-rise 8s ease-in-out infinite}.so-plane.mid{animation-delay:-2.5s}.so-plane.top{animation-delay:-5s}.so-route{stroke-dasharray:5 9;animation:route-drift 10s linear infinite}.so-glow{animation:signal-breathe 5s ease-in-out infinite}@keyframes plane-rise{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes route-drift{to{stroke-dashoffset:-140}}@keyframes signal-breathe{0%,100%{opacity:.4}50%{opacity:1}}
.so-proof{display:flex;justify-content:space-between;gap:35px;border-top:1px solid #254354;padding:23px 0 27px}.so-proof div{display:flex;gap:16px;align-items:center}.so-proof strong{font-size:1.14rem;font-weight:700;letter-spacing:-.025em;color:#f0f8fb;white-space:nowrap}.so-proof span{font-size:.68rem;line-height:1.5;color:#9fbbcd;max-width:170px}.so-outcomes{padding:62px 0 54px;background:#f4f7fa}.so-section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:28px}.so-section-head h2{font-size:clamp(2rem,3.1vw,2.75rem);font-weight:650;max-width:720px;margin:0}.so-section-head>p{font-size:.88rem;color:#52677c;max-width:360px;margin:0}.so-outcome-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:21px}.so-outcome{display:flex;flex-direction:column;background:white;border:1px solid #d4e0e9;border-radius:9px;overflow:hidden;transition:transform .2s,box-shadow .2s}.so-outcome:hover{transform:translateY(-5px);box-shadow:0 18px 36px #14365315}.so-outcome-top{height:122px;padding:22px;display:flex;align-items:center;justify-content:space-between;background:#e9f0fa;border-bottom:1px solid #d8e2ec;position:relative;background-image:linear-gradient(#adc4d718 1px,transparent 1px),linear-gradient(90deg,#adc4d718 1px,transparent 1px);background-size:20px 20px}.so-outcome:nth-child(2) .so-outcome-top{background-color:#e5f2ef}.so-outcome:nth-child(3) .so-outcome-top{background-color:#eaf0f4}.so-outcome-top .so-index{font-size:.68rem;font-weight:750;letter-spacing:.12em;color:#56778e;align-self:start}.so-symbol{color:#315eb4;width:78px;height:78px;display:block}.so-outcome:nth-child(2) .so-symbol{color:#11776c}.so-outcome:nth-child(3) .so-symbol{color:#396782}.so-symbol svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}.so-outcome-copy{padding:27px;display:flex;flex-direction:column;flex:1}.so-outcome-copy h3{font-size:1.5rem;line-height:1.2;max-width:290px}.so-outcome-copy>p{font-size:.88rem;color:#52677c;margin:0 0 20px}.so-outcome-copy ul{list-style:none;padding:0;margin:0 0 25px;font-size:.76rem;color:#325870;display:grid;gap:8px}.so-outcome-copy li::before{content:'+';margin-right:9px;color:#079785;font-weight:700}.so-outcome-link{display:flex;align-items:center;justify-content:space-between;margin-top:auto;border-top:1px solid #d5e1eb;padding-top:18px;text-decoration:none;color:#1e53c0;font-size:.81rem;font-weight:750;min-height:44px}.so-outcome-link:hover{color:#0737a0}.so-contract{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:26px;padding:18px 23px;background:#e7eef5;border:1px solid #d5e1eb;border-radius:6px}.so-contract p{font-size:.82rem;color:#3d5870;margin:0}.so-contract a{font-size:.77rem;color:#1f53bc;font-weight:750;text-decoration:none;white-space:nowrap}.so-sustain{background:#0b2234;color:white;padding:53px 0}.so-sustain-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:75px}.so-sustain .so-kicker{color:#64e7d0}.so-sustain h2{font-size:2.6rem;font-weight:650}.so-sustain-lead{font-size:.93rem;color:#a9c2d1;margin-bottom:20px}.so-text-link{color:#a0f0df;text-decoration:none;border-bottom:1px solid #638f98;padding-bottom:5px;font-size:.82rem;font-weight:650;display:inline-block}.so-service-list{display:grid}.so-service-row{display:grid;grid-template-columns:32px 1fr 22px;gap:19px;border-top:1px solid #315064;padding:21px 0;text-decoration:none;align-items:start}.so-service-row:last-child{border-bottom:1px solid #315064}.so-service-row .n{font-size:.62rem;color:#77a4bb;line-height:2}.so-service-row h3{font-size:1.15rem;color:#f0f8fc;margin-bottom:9px}.so-service-row p{font-size:.8rem;color:#adc5d4;margin:0;line-height:1.65}.so-service-row .arrow{color:#64e7d0;font-size:1.25rem;line-height:1}.so-service-row:hover h3{color:#64e7d0}.so-tools{padding:55px 0 58px;background:#fff}.so-tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:stretch}.so-tool-feature{border:1px solid #c8d9e6;border-radius:9px;padding:30px;background:linear-gradient(135deg,#edf4fb,#f7fbfd);position:relative;overflow:hidden}.so-tool-feature h3{font-size:1.65rem;max-width:390px}.so-tool-feature p{max-width:400px;color:#52677c;font-size:.86rem}.so-tool-feature .so-button{background:#2359db;color:white;border-color:#2359db;margin-top:8px}.so-tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.so-tool-link{display:flex;flex-direction:column;justify-content:space-between;gap:20px;border:1px solid #d1dfe9;padding:22px;border-radius:7px;text-decoration:none;transition:border-color .18s,background .18s}.so-tool-link h3{font-size:1rem;line-height:1.35;margin:0}.so-tool-link span{font-size:.68rem;font-weight:750;color:#285ac0;display:flex;justify-content:space-between;align-items:center}.so-tool-link:hover{background:#f0f5fb;border-color:#7fa1c5}.so-tools-note{font-size:.73rem;color:#5d7386;margin:20px 0 0}.so-final{padding:38px 0;background:#e8eff6;border-top:1px solid #d3e0ea}.so-final-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.so-final h2{font-size:2rem;margin:0 0 10px;color:#142b40}.so-final p{font-size:.88rem;color:#52677c;margin:0}.so-final .so-button{background:#2359db;color:white;border-color:#2359db;white-space:nowrap}.so-footer{padding:33px 0 20px;background:#071522;color:#c5d7e3}.so-footer-top{display:grid;grid-template-columns:1.1fr 1fr .8fr;gap:40px}.so-footer-logo img{width:190px;height:auto;filter:brightness(0) invert(1)}.so-footer-logo p{font-size:.65rem;letter-spacing:.12em;color:#87a3b9;margin-top:16px}.so-footer-top>div:not(.so-footer-logo){display:grid;gap:11px;align-content:start}.so-footer-top a{color:#d5e5ef;font-size:.77rem;text-decoration:none}.so-footer-top a:hover{color:#64e7d0}.so-footer-bottom{border-top:1px solid #294052;margin-top:27px;padding-top:17px;display:flex;justify-content:space-between;gap:20px;font-size:.65rem;color:#86a2b7}.so-footer-bottom>div{display:flex;gap:22px}.so-footer-bottom a{color:#b8cedd;text-decoration:none}.so-footer-bottom a:hover{color:#64e7d0}
/* Consistent service, tool and assessment pages. */
.site-skin .section{background:#f3f6fa;color:#142b40;padding:45px 0;margin:0;border:0;border-radius:0;box-shadow:none}.site-skin .section:nth-of-type(even){background:#fff}.site-skin .detail-hero{background:#0b2234;color:#f0f8fc;padding:44px 0 42px}.site-skin .detail-hero h1{font-size:clamp(2.2rem,4.4vw,3.9rem);max-width:940px;color:#f0f8fc}.site-skin .detail-hero p{color:#b3cbd9}.site-skin .detail-hero a:not(.button){color:#a0f0df}.site-skin .eyebrow{color:#117c78}.site-skin .detail-hero .eyebrow{color:#64e7d0}.site-skin .detail-body p,.site-skin .detail-body li{color:#52677c}.site-skin .detail-heading h2{font-size:2rem;color:#142b40}.site-skin .focused-section .service-grid{grid-template-columns:repeat(3,1fr)}.site-skin .service-card{background:white;border:1px solid #d0dee8;box-shadow:0 8px 24px #143b5010;border-radius:9px;padding:26px}.site-skin .service-card h3{color:#142b40;font-size:1.3rem}.site-skin .service-card p{color:#52677c}.site-skin .service-card a{color:#2056c5}.site-skin .number{color:#2056c5}.site-skin .compact-related{display:flex;gap:14px;flex-wrap:wrap}.site-skin .compact-related a{padding:15px 19px;border:1px solid #bbd0e0;background:#fff;color:#2056c5;text-decoration:none;font-weight:700;font-size:.85rem}.site-skin .related-note{font-size:.79rem;color:#52677c;margin-top:22px}.site-skin .compact-contact{border-top:1px solid #d1dfea;display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:30px;padding-top:25px}.site-skin .compact-contact h2{font-size:1.65rem;color:#142b40;margin:0}.site-skin .mini-variants{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.site-skin .mini-variant{display:flex;flex-direction:column;padding:22px;background:#fff;border:1px solid #c5d7e3;border-radius:9px;text-decoration:none;transition:transform .2s}.site-skin .mini-variant:hover{transform:translateY(-4px)}.site-skin .mini-variant img{width:100%;height:auto;margin-bottom:18px;border-radius:5px}.site-skin .mini-variant h3{font-size:1.16rem;color:#142b40}.site-skin .mini-variant p{color:#52677c;font-size:.85rem}.site-skin .mini-variant span{margin-top:auto;color:#2056c5;font-size:.78rem;font-weight:750}.site-skin .landing-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:25px}.site-skin .detail-hero .button.outline{color:#f0f8fc;background:transparent;border-color:#648399}.site-skin .detail-cta{background:transparent;color:#142b40}.site-skin .detail-cta .button.primary,.site-skin .compact-contact .button.primary{color:white;background:#2459dc}.site-skin .detail-cta .button.outline{color:#143b57;background:white}.site-skin .showcase-hero{background:#0b2234;color:white}.site-skin .showcase-wrap{padding:45px 0}.site-skin .showcase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}.site-skin .showcase-card{display:flex;flex-direction:column;background:white;color:#142b40;border:1px solid #d1dfeb;border-radius:9px;padding:25px;text-decoration:none;transition:transform .2s}.site-skin .showcase-card:hover{transform:translateY(-4px)}.site-skin .showcase-index{font-size:.64rem;font-weight:750;letter-spacing:.1em;color:#2a62ca}.site-skin .showcase-card h2{font-size:1.35rem;margin:18px 0 12px}.site-skin .showcase-card p{font-size:.88rem;color:#52677c}.site-skin .showcase-link{margin-top:auto;font-size:.8rem;color:#2056c5;font-weight:750}.site-skin .showcase-hero .lede{color:#b6cedd}.site-skin .tk-hero{background:#0b2234;color:white}.site-skin .tk-hero p{color:#b6cedd}.site-skin .tk-body{background:#f3f6fa}.site-skin .tk-card{border-radius:9px}.site-skin .tk-nav a.active{background:#2459dc}.site-skin .tk-nav a{color:#2056c5}.site-skin .tk-notice{background:#e9f1f9;border-color:#2459dc}.site-skin .assessment-intro{background:#e9f1f8;color:#142b40}.site-skin .assessment-body{background:#f3f6fa}.site-skin .aside-card{background:#0b2234;color:#fff;border-radius:9px}.site-skin .aside-card p{color:#b6cedd}.site-skin .aside-card a{color:#64e7d0}.site-skin .source-card{background:white;border:1px solid #d1dfea;border-radius:9px}.site-skin .ot-hero{background:#0b2234;color:#fff}.site-skin .ot-section{color:#142b40}.site-skin .ot-section .eyebrow{color:#117c78}.site-skin .ot-teaming{background:#0b2234;color:#fff}.site-skin .ot-teaming h2,.site-skin .ot-teaming h3{color:#fff}.site-skin .ot-teaming p,.site-skin .ot-teaming li{color:#b6cedd}.site-skin .ot-teaming a{color:#a0f0df}.site-skin .ot-teaming .button{color:#fff!important;background:#2459dc!important;border-color:#709ce8!important}.site-skin .ot-teaming .button.outline{background:transparent!important;color:#fff!important}.sc-dialog{border-radius:12px;border-color:#789eb7;background:#f5f9fc}.sc-submit,.sc-calendar .button{background:#2459dc!important;color:#fff!important}.sc-extra{padding:12px;border:1px solid #c6d8e5;border-radius:6px}.sc-extra summary{min-height:35px;cursor:pointer}.sc-extra[open] .sc-fields{margin-top:12px}.sc-status[data-state=success]{padding:16px;background:#e0f3eb;border-left:4px solid #118b67;color:#164d38}.sc-status[data-state=error]{padding:16px;background:#fff0ed;border-left:4px solid #a33a30;color:#732e24}.sc-page-card{border-radius:12px}.site-skin .gf{color:#eaf4fa}.site-skin .gf h3,.site-skin .gf h4{color:#fff}.site-skin .gf p{color:#c8dce6}.site-skin .gf a{color:#a0f0df}
@media(min-width:1550px){.so-hero-grid{padding-top:78px;padding-bottom:60px}}
@media(max-width:1050px){.so-hero-grid{gap:28px}.so-navigation nav{gap:20px}.so-hero h1{font-size:3.55rem}.so-proof{gap:20px}.so-proof div{display:block}.so-proof span{display:block;margin-top:6px;max-width:240px}.so-sustain-grid{gap:40px}.so-outcome-copy{padding:23px}.so-outcome-copy h3{font-size:1.35rem}.so-section-head{gap:30px}.so-visual-foot{gap:14px;font-size:.57rem}.so-tools-grid{gap:22px}.so-tool-link{padding:18px}}
@media(max-width:850px){.so-wrap,.wrap{width:calc(100% - 40px)}.so-menu{display:flex;gap:12px;align-items:center;min-height:44px;padding:9px 12px;background:transparent;color:#fff;border:1px solid #507087;border-radius:5px;font-size:.78rem}.so-navigation{min-height:76px}.so-brand img{width:170px}.so-navigation nav{display:none;position:absolute;top:100%;left:0;right:0;padding:16px 20px;background:#071522;border-bottom:1px solid #395467}.so-navigation nav.open{display:grid;gap:4px}.so-navigation nav>a{padding:13px;min-height:44px}.so-hero-grid{grid-template-columns:1fr 1fr;gap:10px;padding:40px 0 35px}.so-hero h1{font-size:2.9rem}.so-hero-lead{font-size:.89rem}.so-hero-actions .so-button{font-size:.77rem;padding:12px 16px}.so-outcome-grid{gap:14px}.so-outcome-copy{padding:21px}.so-outcome-copy h3{font-size:1.2rem}.so-outcome-copy ul{font-size:.7rem}.so-outcome-link{font-size:.71rem}.so-outcome-copy p{font-size:.8rem}.so-sustain-grid{grid-template-columns:1fr;gap:25px}.so-sustain h2{font-size:2.35rem;max-width:600px}.so-sustain-lead{max-width:680px}.so-tools-grid{grid-template-columns:1fr}.so-section-head{display:block}.so-section-head>p{max-width:650px;margin-top:15px}.so-footer-top{gap:25px}.site-skin .focused-section .service-grid{grid-template-columns:repeat(2,1fr)}.site-skin .showcase-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.so-wrap,.wrap{width:calc(100% - 36px)}.so-hero-grid{grid-template-columns:1fr;padding:38px 0 24px}.so-hero h1{font-size:clamp(2.6rem,10.5vw,3.6rem)}.so-hero-lead{font-size:.96rem;max-width:600px}.so-hero-note{font-size:.72rem}.so-visual{width:min(440px,100%);margin:2px auto 0}.so-visual svg{margin-bottom:-25px}.so-visual-label{top:15px;right:5px;font-size:.5rem}.so-visual-foot{gap:17px;font-size:.58rem;margin-bottom:8px}.so-proof{padding:20px 0 23px;gap:15px}.so-proof strong{font-size:.93rem;white-space:normal}.so-proof span{font-size:.57rem;max-width:130px}.so-outcomes,.so-tools{padding:37px 0}.so-section-head h2{font-size:2rem}.so-outcome-grid{grid-template-columns:1fr;gap:20px}.so-outcome-top{height:102px}.so-outcome-copy{padding:26px}.so-outcome-copy h3{font-size:1.65rem;max-width:none}.so-outcome-copy p{font-size:.9rem}.so-outcome-copy ul{font-size:.8rem;grid-template-columns:1fr 1fr;gap:9px}.so-outcome-link{font-size:.84rem}.so-contract{display:block;padding:19px}.so-contract a{display:inline-block;white-space:normal;line-height:1.6;margin-top:10px}.so-sustain{padding:37px 0}.so-service-row{gap:12px;grid-template-columns:25px 1fr 20px}.so-service-row h3{font-size:1.1rem}.so-tool-feature{padding:25px}.so-tool-link{padding:18px}.so-tool-link h3{font-size:.94rem}.so-final{padding:30px 0}.so-final-inner{display:block}.so-final h2{font-size:1.7rem}.so-final .so-button{margin-top:21px}.so-footer-top{grid-template-columns:1fr;gap:27px}.so-footer-bottom{display:block;line-height:1.6}.so-footer-bottom>div{gap:17px;flex-wrap:wrap;margin-top:14px}.site-skin .section{padding:30px 0}.site-skin .detail-hero{padding:30px 0}.site-skin .mini-variants,.site-skin .focused-section .service-grid,.site-skin .showcase-grid{grid-template-columns:1fr}.site-skin .compact-contact{display:block}.site-skin .compact-contact .button{margin-top:20px}.site-skin .compact-related a{width:100%}.site-skin .landing-actions .button{flex:1;justify-content:center;text-align:center;white-space:normal;line-height:1.5}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.so-outcome:hover,.so-button:hover,.button:hover,.mini-variant:hover,.showcase-card:hover{transform:none!important}}

.site-skin .ot-hero .eyebrow,.site-skin .ot-hero h1 em,.site-skin .ot-teaming .eyebrow{color:#64e7d0}.site-skin .ot-hero .ot-lede{color:#b6cedd}.site-skin .ot-teaming aside{background:#173449;color:#fff;border:1px solid #486480}.site-skin .ot-teaming aside h3{color:#fff}.site-skin .ot-teaming aside p,.site-skin .ot-teaming li{color:#b6cedd}.so-scope-note{font-size:.72rem;color:#95b1c4;line-height:1.65;margin:24px 0 0}.so-scope-note strong{color:#c0d8e6;font-weight:650}.site-skin .ot-teaming .ot-split>div>p:not(.eyebrow){color:#b6cedd}.site-skin .ot-hero h1{color:#fff}

.site-skin .tk-nav a.active{color:#fff;background:#2459dc}.site-skin .tk-nav a.active:focus-visible{outline:3px solid #64e7d0;outline-offset:3px}
/* Context-rich assurance layers and accessible interaction controls. */
.so-visual>svg{max-height:340px;margin:0 auto;overflow:visible}.so-visual-label{color:#b8cbd9}.so-model-context{position:relative;display:grid;gap:8px;margin-top:-12px}.so-stage{background:#102b40;border:1px solid #456b85;border-left:3px solid #64e7d0;border-radius:9px;padding:12px 14px;animation:stage-pulse 12s ease-in-out infinite}.so-stage.validate{animation-delay:4s;border-left-color:#a6baff}.so-stage.sustain{animation-delay:8s;border-left-color:#e0c5ff}.so-stage div{display:flex;gap:12px;align-items:center}.so-stage span{font-size:.61rem;font-weight:800;letter-spacing:.09em;white-space:nowrap;color:#a6eade}.so-stage b{color:#fff;font-size:.79rem}.so-stage p{margin:7px 0 4px;font-size:.73rem;line-height:1.6;color:#e1edf5}.so-stage small{display:block;color:#b8ccdc;font-size:.7rem;line-height:1.6}.so-model-controls{position:relative;display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:10px}.so-model-controls span{font-size:.6rem;line-height:1.5;color:#b8cbd9;max-width:230px}.so-motion-toggle,.so-sound-toggle{background:#102b40;color:#e1edf5;border:1px solid #658aa4;border-radius:6px;min-height:40px;padding:8px 12px;font:inherit;font-size:.72rem;cursor:pointer;white-space:nowrap}.so-sound-toggle{margin-left:auto}.so-sound-toggle[aria-pressed=true]{background:#64e7d0;color:#062839}.so-motion-toggle:focus-visible,.so-sound-toggle:focus-visible{outline:3px solid #64e7d0;outline-offset:4px}.so-visual.is-paused *{animation-play-state:paused!important}@keyframes stage-pulse{0%,28%{border-color:#80c8d2;box-shadow:0 0 24px #44c6d329;background:#14384d}34%,100%{border-color:#456b85;box-shadow:none;background:#102b40}}
/* Shared card depth; pointer geometry is cached once when entering. */
.so-depth-tile{--tile-rx:0deg;--tile-ry:0deg;--tile-lift:0px;transform:perspective(1000px) translateY(var(--tile-lift)) rotateX(var(--tile-rx)) rotateY(var(--tile-ry));transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;position:relative;isolation:isolate}.so-depth-tile::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;box-shadow:inset 0 1px 0 #ffffff42;opacity:.6}.so-depth-tile:focus-within{--tile-lift:-7px;box-shadow:0 20px 35px #06152235,0 3px 0 #64e7d0;border-color:#388a9b}.so-depth-tile a:focus-visible{outline:3px solid #2459dc;outline-offset:4px}.so-service-row.so-depth-tile:focus-visible,.so-tool-link.so-depth-tile:focus-visible{outline:3px solid #64e7d0;outline-offset:4px}
@media(hover:hover) and (pointer:fine){.so-depth-tile:hover{--tile-lift:-10px;transform:perspective(1000px) translateY(var(--tile-lift)) rotateX(var(--tile-rx)) rotateY(var(--tile-ry))!important;box-shadow:0 28px 42px #06152240,0 5px 0 #64e7d0;border-color:#388a9b;z-index:2}}
@media(max-width:1100px){.so-navigation{gap:14px}.so-navigation nav{gap:15px}.so-brand img{width:160px}}
@media(max-width:800px){.so-stage div{display:block}.so-stage b{display:block;margin-top:5px}.so-visual>svg{max-height:280px}.so-model-context{margin-top:0}.so-stage{padding:10px 12px}.so-sound-toggle{font-size:.68rem;padding:7px 9px}.so-navigation{gap:10px}.so-brand img{width:150px}}
@media(prefers-reduced-motion:reduce){.so-stage,.so-visual *{animation:none!important}.so-depth-tile,.so-depth-tile:hover,.so-depth-tile:focus-within{transform:none!important;transition:none!important}.so-motion-toggle{display:none}}
/* The lifecycle is explained by moving safeguards, evidence and feedback. */
.so-visual>.so-lifecycle{max-height:none;width:100%;margin:22px 0 10px}.so-lifecycle text{fill:#d9eaf4;font:16px Arial,sans-serif}.so-lifecycle .scene-heading{fill:#78ead8;font-size:19px;font-weight:700;letter-spacing:1.5px}.so-lifecycle .scene-rule{stroke:#426781}.so-lifecycle .diagram-label{font-size:17px;font-weight:700}.so-lifecycle .small-label{font-size:15px;fill:#bad2e2}.iac-source rect,.evidence-doc rect,.control-review rect,.assessor-review rect,.monitoring rect,.poam-work rect,.evidence-refresh rect{fill:#102b40;stroke:#6795b0;stroke-width:1.2}.enclave-shell>rect{stroke:#6f9fcc}.so-lifecycle .safeguard{fill:#174556;stroke:#64c6bb;stroke-width:1.2}.iac-source path,.evidence-doc path,.icon-line{fill:none;stroke:#9bdeea;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.flow-path,.handoff,.feedback-loop{fill:none;stroke:#7ecdd9;stroke-width:1.5}.flow-path,.handoff{stroke-dasharray:4 7;animation:lifecycle-flow 1.8s linear infinite}.feedback-loop{stroke-dasharray:5 9;animation:lifecycle-flow 3s linear infinite}.so-lifecycle .scene-build{animation:scene-emphasis 12s linear infinite}.so-lifecycle .scene-validate{animation:scene-emphasis 12s linear 4s infinite}.so-lifecycle .scene-sustain{animation:scene-emphasis 12s linear 8s infinite}.so-lifecycle .identity-block{animation:safeguard-assemble 12s ease infinite;transform-box:fill-box;transform-origin:center}.so-lifecycle .desktop-block{animation:safeguard-assemble 12s ease .6s infinite;transform-box:fill-box;transform-origin:center}.so-lifecycle .data-block{animation:safeguard-assemble 12s ease 1.2s infinite;transform-box:fill-box;transform-origin:center}.build-packet{fill:#64e7d0;animation:build-transfer 12s linear infinite}.boundary-scan{fill:none;stroke:#a7fff0;stroke-width:2;stroke-dasharray:100 890;animation:boundary-trace 6s linear infinite}.check-track{stroke:#7291aa;stroke-width:2}.review-check{fill:none;stroke:#79f0ce;stroke-width:3;stroke-dasharray:24;stroke-dashoffset:24;animation:check-draw 12s ease 4.2s infinite}.review-check.check-two{animation-delay:4.9s}.review-check.check-three{animation-delay:5.6s}.assessor-review .icon-line{animation:assessment-scan 12s ease 5s infinite}.review-packet{fill:#b1bcff;animation:review-transfer 12s linear infinite}.signal-base{stroke:#426781;stroke-width:1}.telemetry-line{fill:none;stroke:#64e7d0;stroke-width:2;stroke-dasharray:220;animation:telemetry-scan 3s ease-in-out infinite}.signal-packet,.action-dot{fill:#64e7d0}.signal-packet{animation:signal-transfer 2.5s linear infinite}.action-check{animation-delay:8.5s}.refresh-orbit{fill:none;stroke:#add9ff;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:evidence-refresh 4s ease-in-out infinite}.feedback-packet{fill:#baf7ef;animation:feedback-travel 6s linear infinite}.so-cmmc-choices{display:grid;gap:9px;margin-top:17px}.so-cmmc-choices a{display:block;text-decoration:none;border:1px solid #7b9aac;border-radius:6px;padding:10px 12px;color:#173c54;font-weight:700;font-size:.78rem}.so-cmmc-choices a:hover{background:#e1f5ef;border-color:#267967}.so-cmmc-choices a:focus-visible{outline:3px solid #2459dc;outline-offset:3px}
@keyframes scene-emphasis{0%,30%{opacity:1}35%,95%{opacity:.72}100%{opacity:1}}
@keyframes safeguard-assemble{0%{opacity:.25;transform:translateY(-14px) scale(.95)}10%,90%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:.25;transform:translateY(-14px) scale(.95)}}
@keyframes build-transfer{0%{opacity:0;transform:translateX(0)}3%{opacity:1}22%{opacity:1;transform:translateX(49px)}25%,100%{opacity:0;transform:translateX(49px)}}
@keyframes lifecycle-flow{to{stroke-dashoffset:-44}}@keyframes boundary-trace{to{stroke-dashoffset:-990}}
@keyframes check-draw{0%{stroke-dashoffset:24}8%,57%{stroke-dashoffset:0}66%,100%{stroke-dashoffset:24}}
@keyframes assessment-scan{0%,35%{stroke:#d5dfff}12%,24%{stroke:#64e7d0;transform:translateX(3px)}45%,100%{stroke:#9bdeea;transform:none}}
@keyframes review-transfer{0%,32%{opacity:0;transform:translateX(0)}36%{opacity:1}48%{opacity:1;transform:translateX(60px)}52%,100%{opacity:0;transform:translateX(60px)}}
@keyframes telemetry-scan{0%{stroke-dashoffset:220}70%,100%{stroke-dashoffset:0}}
@keyframes signal-transfer{0%{opacity:0;transform:translateX(0)}20%{opacity:1}80%{opacity:1;transform:translateX(25px)}100%{opacity:0;transform:translateX(25px)}}
@keyframes evidence-refresh{0%,25%{transform:rotate(0)}75%,100%{transform:rotate(360deg)}}
@keyframes feedback-travel{0%{opacity:0;transform:translateY(0)}8%{opacity:1}90%{opacity:1;transform:translateY(-374px)}100%{opacity:0;transform:translateY(-374px)}}
@media(max-width:600px){.so-visual>.so-lifecycle{margin:22px auto 10px}.so-lifecycle .small-label{font-size:17px}.so-lifecycle text{font-size:17px}.so-model-controls{gap:8px}}
@media(prefers-reduced-motion:reduce){.so-lifecycle *{animation:none!important;opacity:1;transform:none}.so-lifecycle .review-check{stroke-dashoffset:0}.so-lifecycle .telemetry-line{stroke-dashoffset:0}.so-lifecycle .build-packet,.so-lifecycle .review-packet,.so-lifecycle .signal-packet,.so-lifecycle .feedback-packet{display:none}}
/* Stronger pointer-following swivel and a luminous raised edge. */
.so-depth-tile::after{z-index:0;opacity:0;background:radial-gradient(ellipse at var(--tile-px,50%) var(--tile-py,50%),#64e7d024,transparent 65%);box-shadow:inset 0 0 0 1px #72eadb99,inset 0 0 28px #64e7d020;transition:opacity .22s ease}
.so-depth-tile:focus-within::after{opacity:1}.so-depth-tile:focus-within{box-shadow:0 24px 48px #07152240,0 0 25px #3acaba55,0 4px 0 #64e7d0}
@media(hover:hover) and (pointer:fine){.so-depth-tile:hover{--tile-lift:-14px;transform:perspective(850px) translateY(var(--tile-lift)) rotateX(var(--tile-rx)) rotateY(var(--tile-ry)) scale(1.025)!important;box-shadow:0 34px 52px #07152250,0 0 34px #43d8c866,0 6px 0 #64e7d0;border-color:#63d9c8}.so-depth-tile:hover::after{opacity:1}}
@media(prefers-reduced-motion:reduce){.so-depth-tile::after{transition:none}.so-depth-tile:hover{transform:none!important}}
/* Informational tiles stay still, including legacy card hover rules. */
:is(.so-outcome,.so-tool-feature,.so-tool-link,.so-service-row,.service-card,.showcase-card,.mini-variant,.variant-card,.tk-card,.credential-card,.ot-sample-card,.ot-sme-card,.ot-mission-card,.ot-grid article):not(.so-depth-tile):hover{transform:none!important;filter:none!important;box-shadow:none!important}
.so-analytics-panel{position:fixed;bottom:20px;left:20px;z-index:1000;max-width:420px;width:calc(100% - 40px);background:#fff;color:#18374a;border:1px solid #638a9f;border-radius:12px;padding:18px;box-shadow:0 12px 48px #07152266;font:14px/1.6 Arial,sans-serif}.so-analytics-panel p{margin:0 0 14px}.so-analytics-panel div{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.so-analytics-panel button{font:inherit;background:#2359db;color:#fff;border:0;border-radius:5px;padding:8px 12px;cursor:pointer}.so-analytics-panel a{color:#2359db}.so-analytics-preferences{font:inherit;color:#d6e5ed;background:none;border:0;text-decoration:underline;cursor:pointer}.so-visual.is-offscreen *{animation-play-state:paused!important}.sc-turnstile{margin:14px 0}
/* Responsive reading and touch targets for reports, forms and tools. */
.so-hero-grid>*,.so-outcome-grid>*,.so-sustain-grid>*,.so-tools-grid>*{min-width:0}.so-hero h1,.so-outcome h3{overflow-wrap:break-word}.sc-choices label,.sc-submit,.so-sound-toggle,.so-motion-toggle,.so-analytics-panel button{min-height:44px}.detail-body img,.tk-variant-image img{max-width:100%;height:auto}
@media(max-width:600px){.so-navigation{flex-wrap:wrap;padding:12px 0;gap:8px}.so-brand img{width:140px}.so-sound-toggle{margin-left:auto}.so-menu{min-height:44px}.detail-body table,.ot-table{display:block;max-width:100%;overflow-x:auto}.sc-dialog{max-height:90dvh}.so-final-inner{gap:18px}.so-model-controls{flex-wrap:wrap}}
