.sp-project{padding-block:0 68px}.sp-project-card{border:1px solid var(--v3-line);background:var(--v3-surface);color:var(--v3-ink);grid-template-columns:1.15fr 1fr;align-items:stretch;display:grid;overflow:hidden}.sp-project-image{aspect-ratio:1.38;overflow:hidden}.sp-project-image img{object-fit:cover;object-position:top;width:100%;height:100%;transition:transform .35s}.sp-project-copy{flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(26px,4vw,58px);display:flex}.sp-project-copy h2{max-width:15ch;font-size:clamp(29px,3.3vw,46px);margin-block:22px!important}.sp-project-copy>p:not(.sp-eyebrow){color:var(--v3-muted);font-size:16px;line-height:1.7}.sp-project-arrow{color:var(--v3-accent);margin-top:26px;font-size:30px;transition:transform .2s}.sp-project-card:hover .sp-project-arrow{transform:translate(5px)}.sp-project-card:hover img{transform:scale(1.025)}.sp-project-card:focus-visible{outline:2px solid var(--v3-accent);outline-offset:5px}@media (width<=760px){.sp-project-card{grid-template-columns:1fr}.sp-project-image{aspect-ratio:1.45}.sp-project-copy{padding:28px}.sp-project-copy h2{max-width:20ch}.sp-project{padding-bottom:45px}}@media (prefers-reduced-motion:reduce){.sp-project-card img,.sp-project-arrow{transition:none}}.service-page :is(h1,h2,h3,p,ol,ul){margin:0}.service-page h1,.service-page h2,.service-page h3{letter-spacing:-.045em;font-weight:450;line-height:1.07}.service-page a{text-decoration:none}.sp-opening{padding-block:30px 84px}.sp-breadcrumb{color:var(--v3-muted);flex-wrap:wrap;gap:12px;margin-bottom:58px;font-size:11px;display:flex}.sp-breadcrumb a{color:inherit;text-underline-offset:4px;text-decoration:underline}.sp-opening-layout{grid-template-columns:1.4fr 1fr;align-items:center;gap:8%;display:grid}.sp-eyebrow{text-transform:uppercase;color:var(--v3-muted);letter-spacing:.1em!important;font-size:11px!important;line-height:1.5!important}.sp-opening h1{text-wrap:balance;max-width:12ch;margin:24px 0 30px;font-size:clamp(48px,5.8vw,82px)}.sp-lead{max-width:48ch;color:var(--v3-muted);font-size:clamp(17px,1.55vw,21px);line-height:1.6}.sp-actions{flex-wrap:wrap;align-items:center;gap:19px 28px;margin-top:32px;display:flex}.sp-actions .v3-text-link{font-size:13px}.sp-system{border:1px solid var(--v3-line);background:var(--v3-surface);padding:28px 30px 26px;position:relative;overflow:hidden}.sp-system:before{content:"";border-left:1px solid var(--v3-line);border-bottom:1px solid var(--v3-line);background:var(--v3-bg);width:74px;height:74px;position:absolute;top:0;right:0;transform:translate(37px,-37px)rotate(45deg)}.sp-system-label{text-transform:uppercase;letter-spacing:.1em;color:var(--v3-muted);justify-content:space-between;gap:18px;font-size:9px;display:flex}.sp-system h2{max-width:15ch;font-size:clamp(27px,3vw,40px);margin-block:32px!important}.sp-system-flow{gap:0;padding:0;list-style:none;display:grid}.sp-system-flow li{grid-template-columns:30px 1fr;gap:18px;padding-bottom:27px;display:grid;position:relative}.sp-system-flow li:not(:last-child):before{content:"";background:var(--v3-line);width:1px;position:absolute;top:28px;bottom:0;left:14px}.sp-step-number{border:1px solid var(--v3-line);width:29px;height:29px;color:var(--v3-accent);background:var(--v3-surface);z-index:1;border-radius:50%;place-items:center;font-size:10px;display:grid}.sp-system-flow h3{letter-spacing:-.025em;padding-top:4px;font-size:17px;line-height:1.3}.sp-system-flow p{color:var(--v3-muted);margin-top:7px;font-size:12px;line-height:1.6}.sp-system-note{color:var(--v3-muted);border-top:1px solid var(--v3-line);padding-top:18px;font-size:11px;line-height:1.6}.sp-section{border-top:1px solid var(--v3-line);padding-block:90px}.sp-overview,.sp-scope,.sp-faq,.sp-related{grid-template-columns:.95fr 1.3fr;gap:12%;display:grid}.sp-section-heading h2{text-wrap:balance;max-width:15ch;margin-top:22px;font-size:clamp(34px,3.7vw,52px)}.sp-section-heading>p:not(.sp-eyebrow){color:var(--v3-muted);margin-top:24px;font-size:17px;line-height:1.7}.sp-capabilities{border-top:1px solid var(--v3-line)}.sp-capability{border-bottom:1px solid var(--v3-line);grid-template-columns:27px 1fr;gap:18px;padding-block:28px;display:grid}.sp-capability>span{color:var(--v3-muted);padding-top:6px;font-size:10px}.sp-capability h3{font-size:25px;line-height:1.25}.sp-capability p{color:var(--v3-muted);margin-top:13px;font-size:15px;line-height:1.7}.sp-acceptance{background:var(--v3-accent);color:var(--v3-accent-ink);padding-block:75px}.sp-acceptance-layout{grid-template-columns:.95fr 1.3fr;gap:12%;display:grid}.sp-acceptance .sp-eyebrow{color:inherit;opacity:.8}.sp-acceptance h2{margin-block:21px 22px;font-size:clamp(36px,4.2vw,58px)}.sp-acceptance-layout>div>p:last-child{max-width:39ch;font-size:16px;line-height:1.65}.sp-acceptance ol{padding:0;list-style:none}.sp-acceptance li{border-top:1px solid color-mix(in srgb,currentColor 30%,transparent);grid-template-columns:27px 1fr;gap:18px;padding-block:20px;font-size:16px;line-height:1.6;display:grid}.sp-acceptance li:last-child{border-bottom:1px solid color-mix(in srgb,currentColor 30%,transparent)}.sp-acceptance li>span{padding-top:5px;font-size:10px}.sp-scope .sp-price{letter-spacing:-.03em;color:var(--v3-ink)!important;margin-top:30px!important;font-size:25px!important}.sp-section-heading .sp-small{margin-top:9px!important;font-size:13px!important;line-height:1.65!important}.sp-scope .v3-text-link{margin-top:22px;font-size:13px}.sp-scope-details{grid-template-columns:1fr 1fr;gap:30px 38px;display:grid}.sp-scope-details h3{letter-spacing:-.025em;border-bottom:1px solid var(--v3-line);padding-bottom:17px;font-size:20px;line-height:1.3}.sp-scope-details ul{padding:0;list-style:none}.sp-scope-details li{color:var(--v3-muted);padding:15px 0 0 16px;font-size:14px;line-height:1.65;position:relative}.sp-scope-details li:before{content:"—";color:var(--v3-accent);position:absolute;left:0}.sp-support{color:var(--v3-muted);border-top:1px solid var(--v3-line);grid-column:1/-1;padding-top:24px;font-size:13px;line-height:1.7}.sp-faq details{border-top:1px solid var(--v3-line)}.sp-faq details:last-child{border-bottom:1px solid var(--v3-line)}.sp-faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:22px;padding-block:22px;font-size:17px;line-height:1.5;list-style:none;display:flex}.sp-faq summary::-webkit-details-marker{display:none}.sp-faq summary span{font-size:23px;font-weight:300;transition:transform .2s}.sp-faq details[open] summary span{transform:rotate(45deg)}.sp-faq details>p{color:var(--v3-muted);padding:0 35px 25px 0;font-size:15px;line-height:1.75}.sp-related a{color:var(--v3-ink);border-top:1px solid var(--v3-line);justify-content:space-between;align-items:start;gap:24px;padding-block:26px;display:flex}.sp-related a:last-child{border-bottom:1px solid var(--v3-line)}.sp-related h3{font-size:23px;line-height:1.25}.sp-related a p{color:var(--v3-muted);margin-top:10px;font-size:14px;line-height:1.6}.sp-related a>span{font-size:22px;transition:transform .2s}.sp-related a:hover h3{text-underline-offset:5px;text-decoration:underline 1px}.sp-closing{border-top:1px solid var(--v3-line);grid-template-columns:1.2fr 1fr;align-items:end;gap:12%;padding-block:85px 100px;display:grid}.sp-closing h2{color:var(--v3-accent);font-size:clamp(46px,5.6vw,78px)}.sp-closing p{color:var(--v3-muted);margin-bottom:25px;font-size:17px;line-height:1.7}.service-page--infrastructure .sp-step-number{border-radius:2px}.service-page--comparison .sp-system{border-width:0 0 1px 1px}.service-page--digital .sp-system:after{content:"";background:var(--v3-accent);height:5px;display:block;position:absolute;inset:0 0 auto}@media (width>=1100px){.sp-opening-copy{padding-bottom:20px}.sp-system{transform:translateY(12px)}}@media (width<=850px){.sp-opening-layout{grid-template-columns:1fr;gap:45px}.sp-opening h1{max-width:14ch;font-size:clamp(49px,9vw,76px)}.sp-opening .sp-lead{max-width:58ch}.sp-system{max-width:640px}.sp-overview,.sp-scope,.sp-faq,.sp-related,.sp-acceptance-layout{grid-template-columns:1fr;gap:36px}.sp-section-heading h2{max-width:21ch}.sp-section-heading>p:not(.sp-eyebrow){max-width:62ch}.sp-closing{gap:35px}.sp-system-flow{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.sp-system-flow li{display:block}.sp-system-flow li:not(:last-child):before{width:auto;height:1px;inset:14px -20px auto 29px}.sp-step-number{margin-bottom:12px;position:relative}.sp-system-flow h3{font-size:16px}.sp-system h2{max-width:none;font-size:30px;margin-block:22px!important}.sp-acceptance-layout>div>p:last-child{max-width:60ch}}@media (width<=560px){.sp-opening{padding-block:25px 55px}.sp-breadcrumb{margin-bottom:35px}.sp-opening h1{font-size:48px}.sp-actions{flex-direction:column;align-items:flex-start;gap:14px}.sp-system{padding:23px 22px}.sp-system-flow{grid-template-columns:1fr;gap:0}.sp-system-flow li{grid-template-columns:29px 1fr;gap:17px;padding-bottom:23px;display:grid}.sp-system-flow li:not(:last-child):before{width:1px;height:auto;inset:28px auto 0 14px}.sp-system-flow h3{font-size:18px}.sp-system-flow p{font-size:13px}.sp-section{padding-block:58px}.sp-capability{gap:12px}.sp-capability h3{font-size:23px}.sp-acceptance{padding-block:53px}.sp-scope-details{grid-template-columns:1fr;gap:28px}.sp-closing{grid-template-columns:1fr;padding-block:57px 70px}.sp-faq summary{font-size:16px}.sp-faq details>p{padding-right:0}}@media (prefers-reduced-motion:reduce){.service-page *{scroll-behavior:auto!important;transition:none!important}}.sp-section{padding-block:68px}.sp-overview,.sp-scope{gap:6%}.sp-faq,.sp-related{grid-template-columns:1fr;gap:30px}.sp-faq .sp-section-heading h2,.sp-related .sp-section-heading h2{max-width:24ch;font-size:clamp(32px,4vw,48px)}.sp-faq>div:last-child{grid-template-columns:1fr 1fr;align-items:start;gap:0 6%;display:grid}.sp-related>div:last-child{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:25px;display:grid}.sp-related a:hover>span{transform:translate(4px)}.sp-closing{gap:6%;padding-block:68px 76px}@media (width<=650px){.sp-section{padding-block:45px}.sp-faq>div:last-child{grid-template-columns:1fr}.sp-related>div:last-child{grid-template-columns:1fr;gap:0}.sp-closing{padding-block:50px 60px}}
