:root{--bg:#f1f0eb;--ink:#111310;--graphite:#242724;--acid:#b7ff38;--silver:#a9aca6;--surface:#e4e3dd;--line:rgba(17,19,16,.18);--manrope:'Manrope',sans-serif;--grotesk:'Space Grotesk',sans-serif}*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--manrope);font-size:15px;overflow-x:hidden}a{color:inherit;text-decoration:none}.container-fluid{max-width:1800px;padding-left:4.8vw;padding-right:4.8vw}.skip-link{position:fixed;z-index:1000;top:-100%;left:1rem;background:var(--acid);padding:.8rem 1rem}.skip-link:focus{top:1rem}.site-loader{position:fixed;inset:0;z-index:1200;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:var(--ink);color:var(--bg);font:500 11px/1 var(--grotesk);letter-spacing:.18em}.loader-mark{font-size:42px;letter-spacing:-.08em}.site-loader i{display:inline-block;width:80px;border-top:1px solid var(--acid);vertical-align:middle;margin:0 .5rem}.site-header{position:fixed;z-index:100;top:0;width:100%;transition:.45s}.site-header.is-scrolled{background:rgba(241,240,235,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(17,19,16,.1)}.nav-shell{height:96px;display:flex;align-items:center;justify-content:space-between;gap:2rem;transition:.45s}.is-scrolled .nav-shell{height:72px}.brand{position:relative;font:700 29px/1 var(--grotesk);letter-spacing:-.1em;display:inline-flex;align-items:flex-start}.brand em{height:7px;width:7px;background:var(--acid);border-radius:50%;margin:4px 0 0 4px}.nav-links{gap:clamp(1rem,2.1vw,3rem);margin-left:auto}.nav-links a,.nav-cta{font:600 11px/1 var(--grotesk);letter-spacing:.08em;text-transform:uppercase}.nav-links a{position:relative}.nav-links a:after,.text-link:after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s}.nav-links a:hover:after,.text-link:hover:after{transform:scaleX(1);transform-origin:left}.nav-cta{border:1px solid var(--ink);padding:13px 15px;display:inline-flex;gap:11px;align-items:center;margin-left:clamp(.5rem,1.5vw,2rem);transition:.3s}.nav-cta:hover{background:var(--ink);color:var(--bg)}svg{overflow:visible}.nav-cta svg{width:13px;fill:none;stroke:currentColor;stroke-width:1.5}.menu-toggle{width:48px;height:48px;border:1px solid var(--ink);background:none;display:grid;place-content:center;gap:5px}.menu-toggle span{width:18px;border-top:1px solid var(--ink);transition:.3s}.mobile-menu{display:none}.scroll-index{position:fixed;z-index:90;right:1.6vw;bottom:2.5vw;align-items:center;gap:8px;font:600 9px var(--grotesk);letter-spacing:.1em}.scroll-index i{height:1px;width:8vw;background:var(--ink);position:relative}.scroll-index i:after{content:"";width:22%;height:3px;background:var(--acid);position:absolute;top:-1px;left:0}.section-grid{background-image:linear-gradient(90deg,transparent calc(50% - .5px),rgba(17,19,16,.08) calc(50% - .5px),rgba(17,19,16,.08) calc(50% + .5px),transparent calc(50% + .5px))}.hero{min-height:100svh;position:relative;display:flex;align-items:flex-end;isolation:isolate;padding:130px 0 6.5vh}.hero-content{position:relative;z-index:2}.hero-meta,.section-kicker,.eyebrow{font:600 10px/1 var(--grotesk);letter-spacing:.13em}.hero-meta{display:flex;align-items:center;gap:10px;margin-bottom:clamp(2rem,6vh,6rem)}.hero-meta span:last-child{margin-left:auto;color:#646761}.dot{height:7px;width:7px;border-radius:50%;background:var(--acid)}.hero-title{font:500 clamp(3.6rem,7.5vw,9.2rem)/.9 var(--grotesk);letter-spacing:-.075em;max-width:1230px;margin:0}.hero-title span{display:block}.hero-title b,.intro-row em,h2 em,h3 em{font-weight:400;font-style:normal;color:#70736d}.hero-aside{padding-bottom:.45rem}.hero-aside p,.intro-row>div:last-child p{font-size:16px;line-height:1.55;max-width:280px;margin:0 0 2rem}.hero-buttons{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.button{font:700 10px/1 var(--grotesk);letter-spacing:.1em;text-transform:uppercase;padding:16px 17px;display:inline-flex;gap:28px;align-items:center;justify-content:space-between;transition:.35s;border:1px solid transparent}.button span{font-size:18px;font-weight:400;line-height:8px;transition:.3s}.button:hover span{transform:translate(3px,-3px)}.button-dark{background:var(--ink);color:var(--bg)}.button-dark:hover{background:var(--acid);color:var(--ink)}.text-link{font:700 10px/1 var(--grotesk);letter-spacing:.1em;text-transform:uppercase;position:relative;padding-bottom:6px;display:inline-flex;gap:10px}.text-link span{font-size:15px;line-height:7px}.hero-visual{position:absolute;z-index:0;inset:13vh 0 0 36%;pointer-events:none}.architecture{position:absolute;inset:0}.architecture .plane{position:absolute;background:linear-gradient(135deg,#353934,#101210);box-shadow:10px 20px 25px rgba(17,19,16,.2);transform-style:preserve-3d}.plane-a{width:24%;height:12%;right:17%;top:25%;transform:skewY(-24deg)}.plane-b{width:35%;height:10%;right:5%;top:53%;transform:skewY(15deg)}.plane-c{width:18%;height:20%;left:17%;top:35%;transform:skewY(-28deg)}.plane-d{width:28%;height:8%;left:30%;top:67%;transform:skewY(-20deg)}.architecture svg{width:100%;height:100%;fill:none;stroke:#777b74;stroke-width:1}.architecture .path{stroke-dasharray:1200;stroke-dashoffset:1200}.architecture circle{fill:var(--acid);stroke:none}.data-label{position:absolute;font:700 9px var(--grotesk);letter-spacing:.15em;color:#555952}.label-a{left:23%;top:28%}.label-b{right:25%;top:18%}.label-c{right:7%;bottom:22%}.hero-bottom{position:absolute;z-index:2;left:4.8vw;bottom:2.5vh;display:flex;gap:10px;align-items:center;font:600 9px var(--grotesk);letter-spacing:.14em}.hero-bottom i{height:50px;border-left:1px solid var(--ink)}.section-pad{padding:clamp(6rem,13vw,13rem) 0}.section-kicker{display:flex;gap:12px;align-items:center;margin-bottom:clamp(3rem,8vw,8rem)}.section-kicker span:first-child{display:grid;place-items:center;width:25px;height:25px;border:1px solid var(--ink);border-radius:50%;font-size:8px}.section-kicker.light{color:var(--bg)}.section-kicker.light span:first-child{border-color:rgba(241,240,235,.5)}h2{font:500 clamp(3rem,5.6vw,7rem)/.94 var(--grotesk);letter-spacing:-.07em;margin:0}.framework{height:350vh}.framework-pin{height:100vh;display:flex;align-items:center;overflow:hidden}.framework-layout{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:3vw;align-items:center}.framework-index{display:flex;flex-direction:column;align-items:flex-start}.framework-step{border:0;border-bottom:1px solid var(--line);padding:1rem 0;width:100%;background:none;text-align:left;font:500 clamp(1.2rem,2.1vw,2.35rem)/1 var(--grotesk);letter-spacing:-.05em;color:#858882;transition:.4s}.framework-step small{font:600 9px var(--grotesk);vertical-align:middle;margin-right:1rem;letter-spacing:.08em}.framework-step.active{color:var(--ink);padding-left:1.5rem;border-color:var(--ink)}.framework-copy h2{font-size:clamp(3rem,4.7vw,6.3rem);margin:.9rem 0 1.5rem}.framework-copy>p:not(.eyebrow){max-width:360px;font-size:16px;line-height:1.6;margin-bottom:2rem}.framework-system{height:410px;position:relative;display:grid;place-items:center}.framework-system svg{height:100%;width:100%;fill:none;stroke:#868983;stroke-width:1}.system-core{position:relative;width:180px;height:180px;border:1px solid var(--ink);transform:rotate(45deg);display:grid;place-items:center}.system-core i{width:14px;height:14px;background:var(--ink);position:absolute}.system-core i:nth-child(1){left:-7px;top:-7px}.system-core i:nth-child(2){right:-7px;top:-7px}.system-core i:nth-child(3){left:-7px;bottom:-7px}.system-core i:nth-child(4){right:-7px;bottom:-7px}.system-core b{width:28px;height:28px;border-radius:50%;background:var(--acid)}.intro-row{align-items:end;margin-bottom:clamp(3rem,7vw,8rem)}.intro-row h2{max-width:1000px}.capability-explorer{display:grid;grid-template-columns:1.15fr .85fr;border-top:1px solid var(--ink)}.capability-list{border-right:1px solid var(--line)}.capability{width:100%;display:flex;gap:22px;border:0;border-bottom:1px solid var(--line);background:none;padding:18px 1rem 18px 0;text-align:left;font:500 clamp(1.05rem,1.55vw,1.5rem)/1.2 var(--grotesk);letter-spacing:-.04em;transition:.3s}.capability small{font:600 9px var(--grotesk);color:#777b75;padding-top:4px}.capability.active{padding-left:1.5rem;background:var(--ink);color:var(--bg)}.capability-detail{padding:2rem 0 2rem clamp(1.5rem,4vw,5rem);position:relative;min-height:510px}.capability-detail>span{font:600 10px var(--grotesk);letter-spacing:.1em;color:#6e716c}.capability-detail h3{font:500 clamp(2.6rem,4.2vw,5.3rem)/.92 var(--grotesk);letter-spacing:-.07em;margin:2rem 0 1.5rem;position:relative;z-index:2}.capability-detail>p{max-width:310px;font-size:15px;line-height:1.55;position:relative;z-index:2}.capability-detail ul{padding:0;list-style:none;position:relative;z-index:2}.capability-detail li{font:600 10px var(--grotesk);letter-spacing:.06em;text-transform:uppercase;margin:.7rem 0}.cap-art{position:absolute;right:0;bottom:0;width:65%;height:65%;opacity:.9}.cap-art span{position:absolute;background:var(--graphite)}.cap-art span:nth-child(1){height:60px;width:150px;right:10%;top:18%;transform:skewY(-20deg)}.cap-art span:nth-child(2){height:100px;width:65px;right:40%;bottom:15%;transform:skewY(22deg)}.cap-art span:nth-child(3){height:35px;width:100px;right:45%;top:46%;background:var(--acid);transform:skewY(-20deg)}.cap-art span:nth-child(4){height:45px;width:80px;right:4%;bottom:20%;transform:skewY(20deg)}.cap-art svg{width:100%;height:100%;fill:none;stroke:#777b74;stroke-width:1}.cap-art circle{fill:var(--acid);stroke:none}.journey{height:300vh;background:var(--ink);color:var(--bg)}.journey-pin{height:100vh;display:flex;align-items:center}.journey-grid{display:grid;grid-template-columns:1fr 1fr .55fr;align-items:center}.journey-count{font:600 11px var(--grotesk);letter-spacing:.1em;color:var(--acid)}.journey h2{font-size:clamp(4.5rem,8vw,10rem);color:var(--bg)}.journey-copy{max-width:320px}.journey-copy>p{font-size:17px;line-height:1.55;margin-bottom:2rem}.button-light{color:var(--ink);background:var(--bg)}.journey-graphic svg{width:100%;fill:none;stroke:#7c807a;stroke-width:1}.journey-graphic .signal{fill:var(--acid);stroke:none}.journey-track{display:flex;gap:0;margin-top:clamp(2rem,7vh,6rem);border-top:1px solid #555951}.journey-track span{padding:14px 0;flex:1;text-transform:uppercase;font:600 9px var(--grotesk);letter-spacing:.1em;color:#8a8d87}.journey-track .active{color:var(--acid);border-top:3px solid var(--acid);margin-top:-2px}.industries{overflow:hidden}.industries-head{display:flex;align-items:end;justify-content:space-between;gap:3rem}.industries-head h2{max-width:870px}.constellation{height:530px;position:relative;margin-top:5rem}.constellation svg{position:absolute;width:100%;height:100%;fill:none;stroke:#a9aca6;stroke-width:1}.industry{background:var(--bg);border:0;position:absolute;font:600 clamp(.9rem,1.2vw,1.25rem)/1.1 var(--grotesk);letter-spacing:-.04em;text-align:left;transition:.35s}.industry:before{content:"";display:block;width:10px;height:10px;border-radius:50%;background:var(--ink);margin-bottom:10px;transition:.35s}.industry:hover{color:#668b12;transform:scale(1.08)}.industry:hover:before{background:var(--acid);box-shadow:0 0 0 8px rgba(183,255,56,.25)}.industry-center{left:47%;top:43%;font-size:clamp(2rem,4vw,4.5rem);letter-spacing:-.08em}.industry-center:before{display:none}.i-one{left:11%;top:13%}.i-two{left:31%;bottom:9%}.i-three{left:52%;top:5%}.i-four{right:7%;top:18%}.i-five{right:8%;bottom:17%}.i-six{left:56%;bottom:4%}.why-cpi{background:var(--surface)}.why-cpi h2{position:sticky;top:120px}.why-list article{border-top:1px solid var(--ink);padding:1rem 0 3rem;margin-bottom:1rem}.why-list span{font:600 10px var(--grotesk);letter-spacing:.1em}.why-list h3{font:500 clamp(2rem,3.3vw,4.2rem)/.95 var(--grotesk);letter-spacing:-.07em;margin:1rem 0}.why-list p{max-width:290px;line-height:1.55;margin:0}.solutions{height:330vh;background:var(--graphite);color:var(--bg)}.solutions-pin{height:100vh;display:flex;align-items:center;overflow:hidden}.solution-stage{display:grid;grid-template-columns:.4fr 1.1fr .8fr;align-items:center;min-height:50vh}.solution-count{font:600 11px var(--grotesk);color:var(--acid);letter-spacing:.1em;align-self:start}.solution-copy h2{font-size:clamp(3.8rem,6.5vw,8.5rem);color:var(--bg)}.solution-copy p{max-width:360px;font-size:16px;line-height:1.6;margin:1.5rem 0 2rem;color:#d5d7d0}.light-link{color:var(--bg)}.solution-model{height:380px;display:grid;place-items:center}.model-window{width:85%;height:80%;border:1px solid #858a82;position:relative;transform:perspective(800px) rotateY(-28deg) rotateX(12deg);box-shadow:30px 35px 0 rgba(183,255,56,.8)}.model-window:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 33%,#858a82 33.3%,transparent 33.6%,transparent 66%,#858a82 66.3%,transparent 66.6%),linear-gradient(transparent 33%,#858a82 33.3%,transparent 33.6%,transparent 66%,#858a82 66.3%,transparent 66.6%);opacity:.5}.model-window div{position:absolute;background:var(--acid)}.model-window div:nth-child(1){width:25%;height:18%;left:7%;top:10%}.model-window div:nth-child(2){width:28%;height:11%;right:8%;bottom:13%}.model-window div:nth-child(3){width:15%;height:35%;left:43%;top:33%;background:#c6c9c2}.model-window span{height:8px;width:8px;border:1px solid var(--acid);position:absolute;border-radius:50%}.model-window span:nth-of-type(1){left:40%;top:20%}.model-window span:nth-of-type(2){right:21%;top:45%}.model-window span:nth-of-type(3){left:24%;bottom:25%}.solutions-rail{border-top:1px solid #71756e;margin-top:5vh;display:flex;gap:1rem}.solutions-rail span{flex:1;padding-top:14px;text-transform:uppercase;font:600 8px/1.3 var(--grotesk);letter-spacing:.1em;color:#989c94}.solutions-rail .active{color:var(--acid);border-top:3px solid var(--acid);margin-top:-2px}.experience{min-height:90svh;background:var(--ink);color:var(--bg);display:flex;align-items:center;position:relative;overflow:hidden}.experience-copy{position:relative;z-index:2;max-width:1080px}.experience-copy h2{font-size:clamp(3.5rem,7.5vw,9.5rem)}.experience-words{position:absolute;inset:0;opacity:.16}.experience-words span{position:absolute;font:600 clamp(1rem,2.5vw,3rem) var(--grotesk);letter-spacing:-.06em;white-space:nowrap}.experience-words span:nth-child(1){top:14%;left:-4%;transform:rotate(-7deg)}.experience-words span:nth-child(2){top:27%;right:-8%;transform:rotate(6deg)}.experience-words span:nth-child(3){bottom:20%;left:-5%;transform:rotate(3deg)}.experience-words span:nth-child(4){bottom:8%;right:4%;transform:rotate(-4deg)}.experience-words span:nth-child(5){top:48%;left:18%;transform:rotate(-10deg)}.experience-words span:nth-child(6){top:9%;right:10%}.insights-title{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:clamp(3rem,7vw,7rem)}.insights-title h2{max-width:900px}.insights-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:6vw}.featured-insight{background:var(--ink);color:var(--bg);padding:clamp(2rem,5vw,5rem);min-height:520px;display:flex;flex-direction:column;align-items:start;position:relative}.featured-insight>span,.insight-list span{font:600 10px var(--grotesk);letter-spacing:.1em}.featured-insight h3{font:500 clamp(2.6rem,4.5vw,5.7rem)/.9 var(--grotesk);letter-spacing:-.07em;margin:auto 0 1.2rem}.featured-insight h3 em{color:var(--acid)}.featured-insight p{margin:0;color:#c1c4bc}.round-arrow{margin-top:2rem;border:1px solid var(--bg);display:grid;place-items:center;width:46px;height:46px;border-radius:50%;font-size:21px;transition:.3s}.round-arrow:hover{background:var(--acid);color:var(--ink);border-color:var(--acid)}.insight-list{display:flex;flex-direction:column;justify-content:end}.insight-list article{border-top:1px solid var(--ink);padding:1.4rem 0 2rem}.insight-list h3{font:500 clamp(1.7rem,2.5vw,3.2rem)/1 var(--grotesk);letter-spacing:-.06em;margin:1rem 0 2rem}.insight-list a{font:700 10px var(--grotesk);letter-spacing:.1em;text-transform:uppercase}.insight-list b{font-size:16px;margin-left:10px}.closing{background:var(--graphite);color:var(--bg);padding:clamp(6rem,13vw,13rem) 0 0;min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.closing-top{font:600 10px var(--grotesk);letter-spacing:.12em;display:flex;justify-content:space-between}.closing h2{font-size:clamp(3.8rem,8vw,10rem);max-width:1300px;margin-top:12vh}.closing h2 em{color:var(--acid)}.closing>div>p{font-size:16px;line-height:1.55;max-width:420px;margin:2rem 0}.closing-actions{display:flex;gap:12px;flex-wrap:wrap}.button-accent{background:var(--acid);color:var(--ink)}.button-accent:hover{background:var(--bg)}.button-outline{border-color:#a4a8a0;color:var(--bg)}.button-outline:hover{background:var(--bg);color:var(--ink)}.closing-network{height:180px;margin-top:clamp(3rem,8vw,8rem)}.closing-network svg{width:100%;height:100%;fill:none;stroke:#989c94;stroke-width:1}.closing-network path{stroke-dasharray:1500;stroke-dashoffset:1500}.closing-network circle{fill:var(--acid);stroke:none;opacity:0}footer{background:var(--graphite);color:var(--bg);border-top:1px solid #626760}.footer-inner{padding-top:2rem;padding-bottom:2rem;display:grid;grid-template-columns:.5fr 1.2fr 1fr;gap:2rem;align-items:start}.brand-footer{font-size:27px}.footer-inner p{margin:0;max-width:350px;color:#c4c7c0;line-height:1.5;font-size:13px}.footer-links{display:flex;gap:.7rem 1.5rem;flex-wrap:wrap;justify-content:flex-end;font:600 9px var(--grotesk);letter-spacing:.08em;text-transform:uppercase}.legal{grid-column:2/4;border-top:1px solid #565b54;margin-top:2rem;padding-top:1rem;display:flex;justify-content:flex-end;gap:1.5rem;color:#999d95;font:600 9px var(--grotesk);letter-spacing:.08em;text-transform:uppercase}.reveal-up{opacity:0;transform:translateY(16px)}
@media(max-width:991px){.nav-shell{height:72px}.hero{padding-top:110px}.hero-visual{inset:17% -20% 30% 20%;opacity:.7}.hero-title{font-size:clamp(3.8rem,10vw,7rem)}.hero-aside{margin-top:2.5rem}.framework{height:auto}.framework-pin{height:auto;padding:7rem 0}.framework-layout{grid-template-columns:1fr;gap:3rem}.framework-system{height:300px}.framework-index{display:grid;grid-template-columns:1fr 1fr}.framework-step.active{padding-left:.5rem}.capability-explorer{grid-template-columns:1fr}.capability-list{border-right:0}.capability-detail{padding-left:0}.journey{height:auto}.journey-pin{height:auto;padding:7rem 0}.journey-grid{grid-template-columns:1fr 1fr}.journey-graphic{display:none}.journey-track span{font-size:7px}.constellation{height:450px}.why-cpi h2{position:static;margin-bottom:4rem}.solutions{height:auto}.solutions-pin{height:auto;padding:7rem 0}.solution-stage{grid-template-columns:.25fr 1fr}.solution-model{grid-column:2;height:280px}.solutions-rail span{font-size:7px}.footer-inner{grid-template-columns:1fr 1fr}.footer-links{justify-content:start}.legal{grid-column:1/3;justify-content:start}.mobile-menu{position:fixed;inset:72px 0 0;background:var(--ink);color:var(--bg);padding:9vw 5vw;flex-direction:column;justify-content:space-between;transform:translateX(100%);transition:.45s}.mobile-menu.is-open{display:flex;transform:translateX(0)}.mobile-menu-links{display:flex;flex-direction:column;gap:1rem}.mobile-menu-links a{font:500 clamp(2.5rem,8vw,5rem)/1 var(--grotesk);letter-spacing:-.07em}.menu-toggle.is-open span:first-child{transform:translateY(3px) rotate(45deg);border-color:var(--bg)}.menu-toggle.is-open span:last-child{transform:translateY(-3px) rotate(-45deg);border-color:var(--bg)}.menu-toggle.is-open{background:var(--ink);border-color:var(--bg)}}
@media(max-width:575px){.container-fluid{padding-left:1.3rem;padding-right:1.3rem}.hero{min-height:100svh;padding-bottom:5rem}.hero-title{font-size:clamp(3.15rem,14vw,5rem)}.hero-meta span:last-child{display:none}.hero-aside p{font-size:14px;max-width:270px}.hero-visual{inset:18% -70% 40% -5%;opacity:.55}.hero-bottom{left:1.3rem}.section-kicker{margin-bottom:3rem}.intro-row h2,h2{font-size:clamp(2.7rem,12vw,4rem)}.capability{font-size:1rem;gap:12px;padding-top:14px;padding-bottom:14px}.capability.active{padding-left:.6rem}.capability-detail{min-height:510px}.capability-detail h3{font-size:clamp(2.6rem,13vw,3.8rem)}.cap-art{width:85%;opacity:.6}.journey-grid{grid-template-columns:1fr}.journey-copy{margin-top:2rem}.journey-track{gap:10px;overflow:hidden}.journey-track span{min-width:62px}.industries-head,.insights-title{align-items:start;flex-direction:column}.constellation{height:auto;display:flex;gap:1rem;overflow:auto;padding:1rem 0 2rem;margin-top:2rem}.constellation svg,.industry-center{display:none}.industry{position:static;min-width:160px;padding:1rem;border:1px solid var(--line);background:transparent}.why-list h3{font-size:2rem}.solution-stage{grid-template-columns:1fr}.solution-count{margin-bottom:2rem}.solution-model{grid-column:1;height:240px}.solutions-rail{overflow:hidden;width:150%;gap:1.5rem}.solutions-rail span{min-width:80px}.experience{min-height:70svh}.experience-copy h2{font-size:clamp(3rem,13vw,4.4rem)}.experience-words{opacity:.1}.insights-layout{grid-template-columns:1fr}.featured-insight{min-height:430px}.closing-top{font-size:8px;gap:1rem}.closing-top span:last-child{display:none}.closing h2{font-size:clamp(3.1rem,13vw,4.8rem);margin-top:8vh}.footer-inner{grid-template-columns:1fr}.legal{grid-column:1;justify-content:start;flex-wrap:wrap}.button{padding:15px 14px;gap:18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.site-loader{display:none}}
@media (min-width:992px) and (max-width:1920px){.container-fluid{max-width:1600px}.section-pad{padding-top:clamp(5rem,8vw,9rem);padding-bottom:clamp(5rem,8vw,9rem)}.framework{height:210vh}.journey{height:240vh}.solutions{height:250vh}.framework-pin,.journey-pin,.solutions-pin{min-height:680px}.framework-layout{gap:2vw}.framework-system{height:min(410px,38vw)}.journey h2{font-size:clamp(4rem,7vw,8rem)}.solution-copy h2{font-size:clamp(3.4rem,5.7vw,7rem)}.closing{padding-top:clamp(5rem,8vw,9rem)}.closing h2{margin-top:clamp(3rem,6vw,7rem);font-size:clamp(3.8rem,7vw,8.5rem)}}
.hero{overflow:hidden}
@media(min-width:992px){.framework{height:230vh}}
@media(max-width:991px){.framework{height:auto}}
.scroll-index i:after{width:var(--progress,0%);transition:width .12s linear}
.advise-model{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity .45s}.framework-system.is-advise .advise-model{opacity:1}.framework-system.is-advise .system-core,.framework-system.is-advise>svg{opacity:0;transition:opacity .35s}.framework-system:not(.is-advise) .system-core,.framework-system:not(.is-advise)>svg{opacity:1;transition:opacity .35s}
.hero{align-items:center}
.hero-aside{margin-top:2rem;max-width:620px}.hero-aside p{max-width:430px}.hero-buttons{flex-direction:row}
.hero-bottom{left:50%;bottom:3vh;transform:translateX(-50%);flex-direction:column;gap:9px;text-align:center}.hero-bottom i{height:auto;border-left:0;display:block;animation:scroll-arrow 1.45s ease-in-out infinite}.hero-bottom i:after{content:'↓';font:400 22px/1 var(--grotesk)}@keyframes scroll-arrow{0%,100%{transform:translateY(0);opacity:.55}50%{transform:translateY(9px);opacity:1}}
.journey-grid{grid-template-columns:1fr .55fr}.journey-copy{margin-top:1.6rem}
.intro-row{margin-bottom:clamp(3rem,7vw,5rem)}.intro-row h2+.intro-row p{}
.intro-row .col-lg-9>p{font-size:16px;line-height:1.55;max-width:460px;margin:1.75rem 0 0}
.experience-copy{margin-left:auto;margin-right:auto;text-align:center}
.section-kicker,.section-kicker.light,.eyebrow{color:var(--acid)}.section-kicker span:first-child,.section-kicker.light span:first-child{border-color:var(--acid)}
#framework .section-kicker,#framework .eyebrow,#capabilities .section-kicker,#industries .section-kicker,#why-cpi .section-kicker,#insights .section-kicker{color:var(--ink)}#framework .section-kicker span:first-child,#capabilities .section-kicker span:first-child,#industries .section-kicker span:first-child,#why-cpi .section-kicker span:first-child,#insights .section-kicker span:first-child{border-color:var(--ink)}
.closing-top span:first-child{color:var(--acid)}
/* Alternating white / dark narrative bands */
#framework{background-color:var(--ink);background-image:linear-gradient(90deg,transparent calc(50% - .5px),rgba(241,240,235,.12) calc(50% - .5px),rgba(241,240,235,.12) calc(50% + .5px),transparent calc(50% + .5px));color:var(--bg)}#framework .section-kicker,#framework .eyebrow{color:var(--acid)}#framework .section-kicker span:first-child{border-color:var(--acid)}#framework .framework-step{color:#898d86;border-color:rgba(241,240,235,.2)}#framework .framework-step.active{color:var(--bg);border-color:var(--bg)}#framework .framework-system svg{stroke:#a9aca6}#framework .system-core{border-color:var(--bg)}#framework .system-core i{background:var(--bg)}
#why-cpi{background:var(--graphite);color:var(--bg)}#why-cpi .section-kicker{color:var(--acid)}#why-cpi .section-kicker span:first-child{border-color:var(--acid)}#why-cpi .why-list article{border-color:rgba(241,240,235,.45)}#why-cpi h2 em{color:#a9aca6}
#solutions{background:var(--bg);color:var(--ink)}#solutions .section-kicker{color:var(--acid)}#solutions .section-kicker span:first-child{border-color:var(--acid)}#solutions .solution-copy h2{color:var(--ink)}#solutions .solution-copy p{color:#424540}#solutions .light-link{color:var(--ink)}#solutions .solutions-rail{border-color:#71756e}#solutions .solutions-rail span{color:#70746d}#solutions .solutions-rail .active{color:#668b12}.model-window{border-color:#646860}
#solutions .section-kicker{color:var(--ink)}#solutions .section-kicker span:first-child{border-color:var(--ink)}
#solutions{background:var(--graphite);color:var(--bg)}#solutions .section-kicker{color:var(--bg)}#solutions .section-kicker span:first-child{border-color:rgba(241,240,235,.6)}#solutions .solution-copy h2{color:var(--bg)}#solutions .solution-copy p{color:#d5d7d0}#solutions .light-link{color:var(--bg)}#solutions .solutions-rail{border-color:#71756e}#solutions .solutions-rail span{color:#989c94}#solutions .solutions-rail .active{color:var(--acid)}
#solutions{background:var(--bg);color:var(--ink)}#solutions .section-kicker{color:var(--ink)}#solutions .section-kicker span:first-child{border-color:var(--ink)}#solutions .solution-copy h2{color:var(--ink)}#solutions .solution-copy p{color:#424540}#solutions .light-link{color:var(--ink)}#solutions .solutions-rail span{color:#70746d}#solutions .solutions-rail .active{color:#668b12}
#solutions .solution-count{color:var(--ink)}
#solutions .solutions-pin{align-items:flex-start;padding-top:clamp(6rem,13vw,13rem)}#solutions .solution-stage{align-items:start;min-height:0}#solutions .solution-copy{padding-top:0}
@media(min-width:992px){#solutions .solution-stage{grid-template-columns:1fr .78fr;grid-template-rows:auto 1fr}#solutions .solution-count{grid-column:1;grid-row:1}#solutions .solution-copy{grid-column:1;grid-row:2;margin-top:1.25rem}#solutions .solution-model{grid-column:2;grid-row:1 / 3}}
.hero-aside p,.intro-row>div:last-child p{font-size:16px;line-height:1.55;max-width:none;margin:0}
.section-kicker{display:flex;gap:12px;align-items:center;margin-bottom:0}
.section-kicker{margin-bottom:40px}
.hero-aside p,.intro-row>div:last-child p{font-size:16px;line-height:1.55;max-width:none;margin-top:40px}
.closing h2{margin-top:40px}
.industry-detail{margin-top:clamp(2.5rem,5vw,5rem);max-width:720px;min-height:360px;padding:2rem 0}.industry-detail>span{font:600 10px var(--grotesk);letter-spacing:.12em;color:#686c65}.industry-detail h3{font:500 clamp(3rem,6vw,7rem)/.9 var(--grotesk);letter-spacing:-.075em;margin:1rem 0 1.5rem}.industry-detail p{font-size:17px;line-height:1.6;max-width:560px;margin:0 0 2rem}.industry-back{border:0;border-bottom:1px solid var(--ink);padding:0 0 7px;background:none;font:700 10px var(--grotesk);letter-spacing:.1em;text-transform:uppercase}.constellation.is-hidden{display:none}@media(max-width:575px){.industry-detail{min-height:300px}.industry-detail h3{font-size:clamp(2.8rem,13vw,4rem)}}
.industry-detail{position:relative;max-width:none;padding-right:47%;min-height:420px}.industry-detail-image{position:absolute;right:0;bottom:0;width:41%;height:100%;object-fit:cover;filter:saturate(.78) contrast(1.04)}@media(max-width:767px){.industry-detail{padding-right:0;min-height:0}.industry-detail-image{position:static;width:100%;height:260px;margin-top:2rem}}
.journey-graphic{position:relative}.discover-wheel-compass{position:absolute;inset:8%;width:84%;height:84%;object-fit:contain;opacity:0;transform:scale(.88);transition:opacity .38s,transform .38s}.journey-graphic.is-discover .discover-wheel-compass{opacity:1;transform:scale(1)}.journey-graphic.is-discover svg{opacity:0;transition:opacity .3s}
.define-planning-system{position:absolute;inset:4%;width:92%;height:92%;object-fit:contain;opacity:0;transform:scale(.88);transition:opacity .38s,transform .38s}.journey-graphic.is-define .define-planning-system{opacity:1;transform:scale(1)}.journey-graphic.is-define svg{opacity:0;transition:opacity .3s}
.build-delivery-system,.adopt-people-system,.optimize-growth-loop{position:absolute;inset:4%;width:92%;height:92%;object-fit:contain;opacity:0;transform:scale(.88);transition:opacity .38s,transform .38s}.journey-graphic.is-build .build-delivery-system,.journey-graphic.is-adopt .adopt-people-system,.journey-graphic.is-optimize .optimize-growth-loop{opacity:1;transform:scale(1)}.journey-graphic.is-build svg,.journey-graphic.is-adopt svg,.journey-graphic.is-optimize svg{opacity:0;transition:opacity .3s}
#solutions .model-window{display:none}.solution-image{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(18px 24px 18px rgba(17,19,16,.14))}

/* Framework stage artwork: one supplied visual per stage, held level at 0 degrees. */
.framework-system{position:relative;isolation:isolate}
.framework-stage-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform:none!important;transition:opacity .38s ease;z-index:2;pointer-events:none}
.framework-system[data-stage="0"] .framework-stage-0,
.framework-system[data-stage="1"] .framework-stage-1,
.framework-system[data-stage="2"] .framework-stage-2,
.framework-system[data-stage="3"] .framework-stage-3{opacity:1}
#framework .framework-system .system-core,
#framework .framework-system>svg{display:none!important;opacity:0!important;transform:none!important}
#framework .framework-system .advise-model{display:block!important;position:absolute;inset:0;width:100%;height:100%;opacity:0;transform:none!important;z-index:3;pointer-events:none}
#framework .framework-system.is-advise .advise-model{opacity:1}
#framework .framework-system.is-advise .framework-stage-0{opacity:0}
#framework .framework-system.is-advise .advise-model{display:none!important;opacity:0!important}
#framework .framework-system.is-advise .framework-stage-0{opacity:1}

/* Hero model replaces the filled planes while keeping the line network visible. */
.architecture-hero .plane{display:none}
.architecture-hero svg,.architecture-hero .data-label{display:none}
.hero-model-column{position:relative;align-self:stretch;min-height:430px;display:grid;place-items:center;z-index:91}
.hero-model{position:absolute;inset:0;width:100%;height:100%;z-index:91;pointer-events:none}
.hero-meta{display:flex;align-items:center;gap:10px;margin-bottom:40px}
.hero-aside p,.intro-row>div:last-child p{font-size:16px;line-height:1.55;max-width:none;margin:40px 0 40px 0}
.hero-title{font-size:75px}
@media(min-width:1200px){.hero .row>.col-xl-7{width:58.333333%;flex:0 0 58.333333%;max-width:58.333333%}}
@media(max-width:1199px){.hero .row>.col-xl-7,.hero .row>.hero-model-column{width:100%;flex:0 0 100%;max-width:100%}}
.architecture-hero{z-index:2;pointer-events:none}
@media(max-width:991px){.hero-model-column{min-height:360px;margin-top:2rem}}
@media(max-width:575px){.hero-model-column{min-height:300px}.hero-model{inset:8% -8% 18% 8%}}
/* Restore the original hero geometry and line network. */
.architecture-hero .plane{display:block}
.architecture-hero svg,.architecture-hero .data-label{display:block}
.hero-title{font-size:clamp(3.6rem,7.5vw,9.2rem)}
.site-header .nav-shell{max-width:1400px;margin:0 auto;padding-left:0;padding-right:0}.site-header .nav-links{gap:2.35rem}.site-header .nav-links a,.site-header .nav-cta,.site-header .brand{color:var(--ink);text-decoration:none}.site-header .nav-cta{border-color:var(--ink)}@media(max-width:991px){.site-header .nav-shell{max-width:none;padding-left:4.8vw;padding-right:4.8vw}}
.site-header .nav-shell{padding-left:4.8vw;padding-right:4.8vw}@media(min-width:1401px){.site-header .nav-shell{padding-left:0;padding-right:0}}
.site-header .nav-links a.is-active:after{transform:scaleX(1);transform-origin:left}

/* Final homepage desktop fit. This is intentionally last so the section
   dimensions cannot be overridden by the legacy animation defaults above. */
@media (min-width:992px) and (max-width:1920px){
  #hero{min-height:clamp(680px,100svh,900px);padding-top:110px;padding-bottom:5rem}
  #hero .hero-title{font-size:clamp(4.3rem,6.3vw,7.8rem);max-width:1080px}
  #hero .hero-visual{inset:12vh 0 0 39%}
  #framework{height:210vh}
  #framework .framework-pin{height:100vh;min-height:680px}
  #framework .framework-layout{grid-template-columns:minmax(220px,1fr) minmax(360px,1.2fr) minmax(300px,1fr);gap:2.5vw}
  #framework .framework-system{height:min(390px,38vw)}
  #capabilities{padding-top:clamp(5rem,8vw,9rem);padding-bottom:clamp(5rem,8vw,9rem)}
  #capabilities .intro-row{margin-bottom:clamp(3rem,5vw,5rem)}
  #capabilities .capability-explorer{grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr)}
  #capabilities .capability-detail{min-height:460px}
  #journey{height:240vh}
  #journey .journey-pin{height:100vh;min-height:680px}
  #journey .journey-grid{grid-template-columns:minmax(220px,1fr) minmax(360px,1fr) minmax(240px,.55fr);gap:2vw}
  #journey .journey h2{font-size:clamp(4rem,7vw,8rem)}
  #industries{padding-top:clamp(5rem,8vw,9rem);padding-bottom:clamp(5rem,8vw,9rem)}
  #industries .constellation{height:min(500px,38vw);margin-top:4rem}
  #why-cpi{padding-top:clamp(5rem,8vw,9rem);padding-bottom:clamp(5rem,8vw,9rem)}
  #why-cpi h2{top:100px;font-size:clamp(3.5rem,5.5vw,7rem)}
  #solutions{height:250vh}
  #solutions .solutions-pin{height:100vh;min-height:680px}
  #solutions .solution-stage{min-height:0}
  #solutions .solution-copy h2{font-size:clamp(3.4rem,5.7vw,7rem)}
  #experience{min-height:760px}
  #insights{padding-top:clamp(5rem,8vw,9rem);padding-bottom:clamp(5rem,8vw,9rem)}
  #insights .insights-title{margin-bottom:clamp(3rem,5vw,5rem)}
  #insights .featured-insight{min-height:460px}
  #contact{min-height:720px;padding-top:clamp(5rem,8vw,9rem)}
  #contact h2{font-size:clamp(3.8rem,7vw,8.5rem);margin-top:clamp(3rem,6vw,7rem)}
}

@media (min-width:992px) and (max-width:1920px){
  #hero{min-height:clamp(640px,100svh,900px);padding:108px 0 4rem;align-items:center}
  #hero .hero-content{width:100%}#hero .hero-meta{margin-bottom:clamp(2rem,4vh,3.5rem)}
  #hero .hero-title{font-size:clamp(3.75rem,4.4vw,5.75rem);line-height:.9;max-width:900px}
  #hero .hero-aside{max-width:430px;margin-top:1.5rem}#hero .hero-aside p{margin:1.5rem 0 2rem}
  #hero .hero-visual{inset:15vh -2% 5vh 44%;opacity:.68}
  #framework .framework-copy h2{font-size:clamp(2.8rem,3.7vw,4.75rem);max-width:560px}
  #capabilities .intro-row h2{font-size:clamp(3rem,4.2vw,5.2rem);max-width:850px}
  #capabilities .capability-explorer{grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr)}
  #capabilities .capability{font-size:clamp(1rem,1.2vw,1.35rem);padding-top:15px;padding-bottom:15px}
  #capabilities .capability-detail{min-height:440px;padding-left:clamp(1.2rem,2.8vw,3.5rem)}#capabilities .capability-detail h3{font-size:clamp(2.3rem,3.4vw,4.3rem)}
  #journey .journey-grid{grid-template-columns:minmax(220px,1fr) minmax(300px,1fr);gap:3vw}#journey .journey h2{font-size:clamp(3.75rem,5.8vw,6.75rem)}#journey .journey-graphic{max-width:360px;justify-self:end}
  #industries .industries-head h2{font-size:clamp(3rem,4.8vw,5.8rem);max-width:780px}#industries .constellation{height:min(460px,32vw);margin-top:3.5rem}
  #why-cpi h2{top:100px;font-size:clamp(3rem,4.5vw,5.5rem)}#why-cpi .why-list h3{font-size:clamp(1.8rem,2.5vw,3rem)}
  #solutions .solution-copy h2{font-size:clamp(3rem,4.8vw,5.8rem)}#solutions .solution-item-visual img{max-height:440px}
  #experience{min-height:680px}#experience .experience-headline{font-size:clamp(3.2rem,5.5vw,6.5rem);line-height:.92;max-width:980px}
  #insights .insights-title h2{font-size:clamp(3rem,4.8vw,5.8rem)}#insights .featured-insight{min-height:440px;padding:clamp(2rem,3.5vw,4rem)}#insights .featured-insight h3{font-size:clamp(2.2rem,3.8vw,4.5rem)}
  #contact{min-height:640px;padding-top:clamp(5rem,7vw,8rem)}#contact h2{font-size:clamp(3.3rem,5.8vw,7rem);margin-top:clamp(2.5rem,5vw,6rem);max-width:1100px}
}
