:root{--dark:#1d1d1f;--text:#424245;--muted:#6e6e73;--gray:#f5f5f7;--line:#d2d2d7;--blue:#0071e3;--white:#fff;--pad:clamp(24px,5vw,84px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--text);font-family:"DM Sans",sans-serif}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif}.skip-link{position:fixed;left:16px;top:12px;z-index:100;padding:11px 15px;background:#fff;color:var(--dark);border:2px solid var(--blue);transform:translateY(-160%)}.skip-link:focus{transform:none}:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.service-header{height:92px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;gap:36px;background:rgba(29,29,31,.96);position:sticky;top:0;z-index:20}.service-brand{display:block;flex:0 0 auto}.service-brand img{display:block;width:clamp(190px,16vw,228px)}.service-header nav{display:flex;align-items:center;gap:clamp(20px,2.5vw,38px);color:#fff;font-size:13px;font-weight:600}.service-header nav>a:not(.header-cta):hover{color:#2997ff}.header-cta{display:inline-flex;align-items:center;gap:13px;padding:7px 8px 7px 18px;border-radius:999px;background:var(--blue)}.header-cta span{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.16)}.service-hero{min-height:720px;padding:clamp(80px,9vw,132px) var(--pad);display:grid;grid-template-columns:minmax(0,1.02fr) minmax(430px,.98fr);align-items:center;gap:clamp(50px,8vw,130px);overflow:hidden}.service-hero-copy{max-width:720px}.service-kicker,.section-intro>p,.engagement-heading>p{text-transform:uppercase;letter-spacing:1.8px;font-size:11px;font-weight:700;color:var(--blue)}.service-hero h1{max-width:760px;margin:20px 0 28px;color:var(--dark);font-size:clamp(52px,6vw,88px);line-height:.98;letter-spacing:-5px}.service-hero-copy>p:not(.service-kicker){max-width:650px;color:var(--muted);font-size:18px;line-height:1.7}.service-actions{display:flex;align-items:center;gap:28px;margin-top:36px}.primary-action{display:inline-flex;align-items:center;gap:28px;padding:17px 21px;border-radius:999px;background:var(--blue);color:#fff;font-size:13px;font-weight:700}.secondary-action{padding-bottom:5px;border-bottom:1px solid var(--blue);color:var(--blue);font-size:13px;font-weight:700}.service-hero-visual{height:520px;position:relative;overflow:hidden;border-radius:28px;background:var(--dark);background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:44px 44px}.service-orbit{position:absolute;border:1px solid rgba(41,151,255,.5);border-radius:50%}.orbit-one{width:360px;height:360px;right:-70px;top:-70px}.orbit-two{width:220px;height:220px;left:-60px;bottom:-60px}.service-signal{position:absolute;left:50%;top:50%;width:250px;height:250px;display:grid;place-items:center;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.22);border-radius:50%;background:#252528;color:#fff}.service-signal:before,.service-signal:after{content:"";position:absolute;border:1px solid rgba(41,151,255,.45);border-radius:50%;animation:pulse 3s ease-out infinite}.service-signal:before{inset:-30px}.service-signal:after{inset:-64px;animation-delay:1s}.service-signal span{font:800 86px Manrope}.service-signal small{position:absolute;bottom:62px;color:#2997ff;font-size:9px;font-weight:700;letter-spacing:1.5px}.signal-line{position:absolute;height:1px;background:#2997ff;transform-origin:left}.line-a{width:190px;left:0;top:34%;transform:rotate(18deg)}.line-b{width:220px;right:-15px;bottom:28%;transform:rotate(-22deg)}@keyframes pulse{0%{transform:scale(.75);opacity:0}35%{opacity:1}100%{transform:scale(1.08);opacity:0}}.service-overview,.roles-section,.engagement-section{padding:110px var(--pad)}.service-overview{background:var(--gray)}.section-intro{display:grid;grid-template-columns:.8fr 1.1fr 1fr;align-items:end;gap:48px;margin-bottom:58px}.section-intro>p{margin:0}.section-intro h2,.engagement-heading h2{margin:0;color:var(--dark);font-size:clamp(38px,4vw,60px);line-height:1.05;letter-spacing:-2.5px}.section-intro>span{color:var(--muted);line-height:1.7}.capability-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.capability-card{min-height:290px;padding:30px;display:flex;flex-direction:column;background:#fff}.capability-card>span{color:#86868b;font-size:10px}.capability-card h3{margin:42px 0 14px;color:var(--dark);font-size:20px}.capability-card p{color:var(--muted);font-size:13px;line-height:1.65}.capability-card i{width:34px;height:3px;margin-top:auto;background:var(--blue)}.roles-section{background:#fff}.section-intro.compact{grid-template-columns:.8fr 1.2fr 1fr}.role-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}.role-item{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;border-bottom:1px solid var(--line);color:var(--dark);font:600 17px Manrope}.role-item:nth-child(odd){padding-right:42px}.role-item:nth-child(even){padding-left:42px;border-left:1px solid var(--line)}.role-item span{color:var(--blue);font-size:12px}.engagement-section{background:var(--dark);color:#fff;display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.engagement-heading p{color:#2997ff}.engagement-heading h2{color:#fff}.engagement-grid{display:grid;gap:1px;background:#424245}.engagement-grid article{padding:30px;background:#242426}.engagement-grid article>span{color:#2997ff;font-size:10px}.engagement-grid h3{margin:30px 0 10px;font-size:21px}.engagement-grid p{margin:0;color:#a1a1a6;font-size:13px;line-height:1.65}.service-cta{padding:110px var(--pad);text-align:center;background:var(--gray)}.service-cta>p:first-child{color:var(--blue);font-size:11px;font-weight:700;letter-spacing:1.7px}.service-cta h2{max-width:850px;margin:22px auto;color:var(--dark);font-size:clamp(40px,5vw,70px);line-height:1.03;letter-spacing:-3px}.service-cta>p:not(:first-child){max-width:620px;margin:0 auto 34px;color:var(--muted);line-height:1.7}.service-cta>a{display:inline-flex;align-items:center;gap:26px;padding:17px 22px;border-radius:999px;background:var(--blue);color:#fff;font-weight:700;font-size:13px}.service-footer{padding:50px var(--pad);display:grid;grid-template-columns:1fr auto;align-items:center;gap:26px 50px;background:var(--dark);color:#fff}.service-footer>a img{display:block;width:min(250px,50vw)}.service-footer>div{display:flex;gap:24px;font-size:11px}.service-footer small{grid-column:1/-1;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);color:#86868b}@media(max-width:960px){.service-hero{grid-template-columns:1fr;min-height:auto}.service-hero-visual{height:430px}.section-intro,.section-intro.compact{grid-template-columns:1fr;gap:18px}.capability-grid{grid-template-columns:repeat(2,1fr)}.engagement-section{grid-template-columns:1fr;gap:50px}}@media(max-width:680px){.service-header{height:76px;padding:0 20px}.service-brand img{width:min(185px,55vw)}.service-header nav>a:not(.header-cta){display:none}.header-cta{font-size:0;padding-left:7px}.header-cta span{font-size:14px}.service-hero{padding:70px 20px;gap:48px}.service-hero h1{font-size:clamp(43px,13vw,60px);letter-spacing:-3px}.service-hero-copy>p:not(.service-kicker){font-size:16px}.service-actions{align-items:flex-start;flex-direction:column}.service-hero-visual{height:340px;border-radius:20px}.service-signal{width:190px;height:190px}.service-signal span{font-size:64px}.service-signal small{bottom:44px}.service-overview,.roles-section,.engagement-section,.service-cta{padding:78px 20px}.capability-grid,.role-list{grid-template-columns:1fr}.capability-card{min-height:250px}.role-item:nth-child(n){padding:20px 0;border-left:0}.service-footer{grid-template-columns:1fr;padding:42px 20px}.service-footer>div{flex-wrap:wrap}.service-footer small{grid-column:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-signal:before,.service-signal:after{animation:none}}

/* Bespoke service visual system */
.service-hero-visual{--accent:#2997ff;--accent-soft:rgba(41,151,255,.16);height:520px;position:relative;overflow:hidden;border:1px solid #e3e3e8;border-radius:32px;background:#f7f8fb;background-image:none;box-shadow:0 30px 80px rgba(29,29,31,.09)}
.theme-staffing{--accent:#0071e3;--accent-soft:rgba(0,113,227,.14)}
.theme-cloud{--accent:#6e5ce6;--accent-soft:rgba(110,92,230,.14)}
.theme-software{--accent:#0a84ff;--accent-soft:rgba(10,132,255,.14)}
.theme-data{--accent:#8e44ec;--accent-soft:rgba(142,68,236,.14)}
.theme-clinical{--accent:#008f7a;--accent-soft:rgba(0,143,122,.14)}
.theme-security{--accent:#d64a4a;--accent-soft:rgba(214,74,74,.13)}
.theme-enterprise{--accent:#a96600;--accent-soft:rgba(169,102,0,.13)}
.visual-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(29,29,31,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(29,29,31,.045) 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:linear-gradient(to bottom,#000,transparent 92%);mask-image:linear-gradient(to bottom,#000,transparent 92%)}
.visual-topline{position:absolute;left:30px;right:30px;top:28px;display:flex;align-items:center;justify-content:space-between;text-transform:uppercase;letter-spacing:1.4px;font-size:10px;font-weight:700;color:#6e6e73}
.visual-topline span:before{content:"";display:inline-block;width:24px;height:2px;margin:0 10px 3px 0;background:var(--accent)}
.visual-topline b{padding:8px 11px;border-radius:999px;background:var(--accent-soft);color:var(--accent)}
.visual-stage{position:absolute;inset:84px 36px 105px}
.visual-core,.visual-node,.visual-path{position:absolute}
.visual-core{left:50%;top:50%;width:178px;height:178px;transform:translate(-50%,-50%);border:1px solid var(--accent);border-radius:30px;background:#fff;box-shadow:0 22px 50px rgba(29,29,31,.12)}
.visual-core span,.visual-core i,.visual-core b{position:absolute;display:block}
.visual-core span{inset:38px;border:12px solid var(--accent);border-radius:24px}
.visual-core i{width:44px;height:44px;left:67px;top:67px;border-radius:50%;background:var(--accent-soft)}
.visual-core b{width:12px;height:12px;left:83px;top:83px;border-radius:50%;background:var(--accent)}
.visual-path{height:1px;background:var(--accent);opacity:.45;transform-origin:left}
.path-one{width:35%;left:8%;top:36%;transform:rotate(10deg)}
.path-two{width:36%;left:57%;top:64%;transform:rotate(-13deg)}
.visual-node{width:58px;height:58px;border:1px solid var(--accent);border-radius:18px;background:#fff;box-shadow:0 12px 26px rgba(29,29,31,.1)}
.visual-node:after{content:"";position:absolute;inset:17px;border:2px solid var(--accent);border-radius:50%}
.node-one{left:5%;top:20%}.node-two{right:4%;top:11%}.node-three{right:10%;bottom:2%}
.visual-steps{position:absolute;left:30px;right:30px;bottom:25px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.visual-steps span{padding:12px 10px;border-top:1px solid #d2d2d7;color:#424245;font-size:9px;font-weight:700;letter-spacing:.9px}
.visual-steps i{margin-right:8px;color:var(--accent);font-style:normal}
.visual-pipeline .visual-core{width:230px;height:116px;border-radius:18px}
.visual-pipeline .visual-core span{left:25px;right:25px;top:50%;bottom:auto;height:4px;border:0;border-radius:4px;background:var(--accent)}
.visual-pipeline .visual-core i,.visual-pipeline .visual-core b{top:48px}
.visual-pipeline .visual-core i{left:48px;width:20px;height:20px;border:5px solid #fff;outline:2px solid var(--accent)}
.visual-pipeline .visual-core b{left:auto;right:48px;width:20px;height:20px;border:5px solid #fff;outline:2px solid var(--accent)}
.visual-pulse .visual-core,.visual-target .visual-core,.visual-shield-radar .visual-core,.visual-scan .visual-core{border-radius:50%}
.visual-pulse .visual-core:after,.visual-shield-radar .visual-core:after,.visual-scan .visual-core:after{content:"";position:absolute;inset:-36px;border:1px solid var(--accent);border-radius:50%;opacity:.35;animation:visualPulse 3s ease-out infinite}
.visual-cost-chart .visual-core span,.visual-insight-chart .visual-core span{inset:auto 30px 30px;height:75px;border:0;border-left:3px solid var(--accent);border-bottom:3px solid var(--accent);border-radius:0;transform:skewY(-22deg)}
.visual-cost-chart .visual-core i,.visual-insight-chart .visual-core i{left:42px;top:58px;width:92px;height:3px;border-radius:0;background:var(--accent);transform:rotate(-28deg)}
.visual-platform-layers .visual-core,.visual-app-stack .visual-core,.visual-security-layers .visual-core,.visual-enterprise-core .visual-core{transform:translate(-50%,-50%) rotate(-8deg);border-radius:20px}
.visual-platform-layers .visual-core span,.visual-app-stack .visual-core span,.visual-security-layers .visual-core span,.visual-enterprise-core .visual-core span{inset:30px;border-width:5px;border-radius:12px;box-shadow:12px 12px 0 var(--accent-soft),24px 24px 0 rgba(29,29,31,.05)}
.visual-team-grid .visual-core span,.visual-test-matrix .visual-core span,.visual-standards-grid .visual-core span,.visual-risk-grid .visual-core span{inset:27px;border:0;border-radius:10px;background:repeating-linear-gradient(90deg,var(--accent) 0 20px,transparent 20px 30px),repeating-linear-gradient(0deg,var(--accent-soft) 0 20px,transparent 20px 30px)}
.visual-global-nodes .visual-core,.visual-neural .visual-core,.visual-connected-suite .visual-core{border-radius:50%;background:radial-gradient(circle at center,var(--accent) 0 7px,transparent 8px),radial-gradient(circle at 30% 35%,var(--accent) 0 5px,transparent 6px),radial-gradient(circle at 73% 33%,var(--accent) 0 5px,transparent 6px),radial-gradient(circle at 32% 72%,var(--accent) 0 5px,transparent 6px),radial-gradient(circle at 70% 70%,var(--accent) 0 5px,#fff 6px)}
.visual-global-nodes .visual-core span,.visual-neural .visual-core span,.visual-connected-suite .visual-core span{inset:38px;border-width:2px;border-radius:50%;transform:rotate(45deg)}
.visual-roadmap .visual-core,.visual-process-map .visual-core,.visual-workflow .visual-core,.visual-bridge .visual-core{width:250px;height:120px}
.visual-roadmap .visual-core span,.visual-process-map .visual-core span,.visual-workflow .visual-core span,.visual-bridge .visual-core span{left:26px;right:26px;top:57px;bottom:auto;height:6px;border:0;background:linear-gradient(90deg,var(--accent) 0 28%,transparent 28% 36%,var(--accent) 36% 64%,transparent 64% 72%,var(--accent) 72%)}
.visual-data-flow .visual-core,.visual-clinical-flow .visual-core,.visual-model-loop .visual-core,.visual-system-care .visual-core{border-radius:26px}
.visual-data-flow .visual-core span,.visual-clinical-flow .visual-core span,.visual-model-loop .visual-core span,.visual-system-care .visual-core span{inset:30px;border-width:3px 0;border-radius:0}
.visual-form-check .visual-core{border-radius:16px}
.visual-form-check .visual-core span{inset:25px;border:0;background:repeating-linear-gradient(0deg,#d2d2d7 0 2px,transparent 2px 20px)}
.visual-form-check .visual-core:after{content:"✓";position:absolute;right:22px;bottom:18px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#fff;font:bold 22px Manrope}
.visual-security-layers .visual-core span{border-radius:50% 50% 46% 46%;clip-path:polygon(50% 0,95% 18%,85% 75%,50% 100%,15% 75%,5% 18%)}
@keyframes visualPulse{0%{transform:scale(.72);opacity:0}40%{opacity:.55}100%{transform:scale(1.14);opacity:0}}
@media(max-width:680px){.visual-topline{left:20px;right:20px}.visual-stage{inset:72px 20px 92px}.visual-core{transform:translate(-50%,-50%) scale(.82)}.visual-platform-layers .visual-core,.visual-app-stack .visual-core,.visual-security-layers .visual-core,.visual-enterprise-core .visual-core{transform:translate(-50%,-50%) rotate(-8deg) scale(.82)}.visual-steps{left:18px;right:18px;bottom:16px}.visual-steps span{padding:9px 4px;font-size:8px}.visual-steps i{display:block;margin:0 0 3px}}
@media(prefers-reduced-motion:reduce){.visual-pulse .visual-core:after,.visual-shield-radar .visual-core:after,.visual-scan .visual-core:after{animation:none}}

/* Clean, information-first service hero */
.service-hero{min-height:620px;grid-template-columns:minmax(0,900px);align-content:center;padding-top:clamp(88px,10vw,150px);padding-bottom:clamp(88px,10vw,150px);background:linear-gradient(180deg,#fff 0%,#fff 76%,#f5f5f7 100%)}
.service-hero-copy{max-width:900px}
.service-hero h1{max-width:900px;font-size:clamp(56px,7.2vw,104px);line-height:.96;letter-spacing:-6px}
.service-hero-copy>p:not(.service-kicker){max-width:720px;font-size:20px}
@media(max-width:680px){.service-hero{min-height:auto;padding-top:76px;padding-bottom:88px}.service-hero h1{font-size:clamp(44px,13vw,62px);letter-spacing:-3.5px}.service-hero-copy>p:not(.service-kicker){font-size:17px}}

/* Premium type scale */
.service-hero{min-height:560px}
.service-hero h1{font-size:clamp(48px,5.6vw,78px);letter-spacing:-4.2px}
.section-intro h2,.engagement-heading h2{font-size:clamp(36px,3.6vw,54px);letter-spacing:-2.2px}
.service-cta h2{font-size:clamp(38px,4.3vw,60px);letter-spacing:-2.4px}
@media(max-width:680px){.service-hero h1{font-size:clamp(40px,11.5vw,54px);letter-spacing:-2.8px}}
@media(max-width:680px){.service-header nav>.home-link{display:block!important}}

/* Consistent primary navigation */
.service-header nav a{border-bottom:0;text-decoration:none;transition:color .2s ease,opacity .2s ease}
.service-header nav a:not(.header-cta):hover,
.service-header nav a:not(.header-cta):focus-visible{color:#70b7ff}
