.content-page{--service-rule:#d8e1ee}
/* The service directory separates broad disciplines from focused offerings. */
.service-directory-nav{display:flex;flex-wrap:wrap;border-block:1px solid var(--service-rule);gap:0 32px;padding-block:8px;margin-bottom:64px}
.service-directory-nav a{display:inline-flex;align-items:center;gap:20px;min-height:48px;font-size:14px}
.service-directory-nav .icon{width:16px;height:16px}
.service-directory-nav a:hover,.service-directory-item a:hover,.service-directory-group>header a:hover{color:var(--blue)}
.service-directory-group{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);gap:80px;padding-block:0 80px;scroll-margin-top:130px}
.service-directory-group+.service-directory-group{border-top:1px solid var(--service-rule);padding-top:64px}
.service-directory-group>header{display:flex;flex-direction:column;min-width:0}
.service-directory-group>header h2{font-size:clamp(28px,2.8vw,38px);max-width:15ch}
.service-directory-group>header p{color:var(--muted);margin-block:20px 24px;max-width:45ch}
.service-directory-feature-image{flex:0 0 auto;width:min(100%,420px);margin-top:28px;overflow:visible;background:transparent}
.service-directory-feature-image img{display:block;width:100%;height:auto;object-fit:contain}
.service-directory-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;align-content:start}
.service-directory-item{border-top:1px solid var(--service-rule);padding-block:24px 28px;min-width:0}
.content-page .service-directory-item h3{font-size:20px;line-height:1.4;letter-spacing:-.025em}
.service-directory-item h3 a{display:flex;align-items:start;justify-content:space-between;gap:16px;min-height:44px}
.service-directory-item .icon{width:17px;height:17px;flex-shrink:0;margin-top:6px}
.service-directory-item p{color:var(--muted);font-size:14px;margin-top:10px}
.service-directory-area h3{min-height:44px}
.service-directory-areas{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.service-directory-areas li{border-top:1px solid var(--service-rule);padding-block:22px;line-height:1.7}
.service-hero--text{grid-template-columns:minmax(0,1fr)!important;max-width:960px}
.content-page--service .cp-detail-image.service-art-visual img{aspect-ratio:1586/992;object-fit:contain;padding:0;background:#edf2f7}
.service-subservices{padding-block:0 80px}
.service-subservices>h2{margin-bottom:36px;max-width:24ch}
.service-deliverables,.service-faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr);gap:80px;padding-block:64px;border-top:1px solid var(--service-rule)}
.service-deliverables h2,.service-faq>h2{max-width:18ch}
.service-deliverables dl{margin:0}
.service-deliverables dl>div{padding-block:0 24px}
.service-deliverables dl>div+div{padding-top:24px;border-top:1px solid var(--service-rule)}
.service-deliverables dt{font-size:20px;letter-spacing:-.025em}
.service-deliverables dd{margin:12px 0 0;color:var(--muted);line-height:1.85}
.service-faq details{border-bottom:1px solid var(--service-rule)}
.service-faq summary{display:flex;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;font-weight:550;line-height:1.6;padding-block:22px}
.service-faq summary::-webkit-details-marker{display:none}
.service-faq summary>span{font-size:24px;line-height:1.1;font-weight:400;transition:transform .2s}
.service-faq details[open] summary>span{transform:rotate(45deg)}
.service-faq details p{padding-bottom:24px;color:var(--muted)}
.service-faq summary:focus-visible,.service-directory-nav a:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
@media(max-width:1099px){.service-directory-group,.service-deliverables,.service-faq{gap:40px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}}
@media(max-width:900px){.service-directory-group,.service-deliverables,.service-faq{grid-template-columns:minmax(0,1fr);gap:28px}.service-directory-items{grid-template-columns:minmax(0,1fr)}.service-directory-feature-image{width:min(100%,420px)}}
@media(max-width:700px){.service-directory-nav{margin-bottom:40px;gap:0 24px}.service-directory-group,.service-deliverables,.service-faq{grid-template-columns:minmax(0,1fr);gap:28px;padding-bottom:40px}.service-directory-group+.service-directory-group{padding-top:40px}.service-directory-group>header h2,.service-deliverables h2,.service-faq>h2{max-width:none}.service-directory-areas{grid-template-columns:minmax(0,1fr)}.service-subservices{padding-bottom:40px}.service-deliverables,.service-faq{padding-top:40px}}
@media(prefers-reduced-motion:reduce){.service-faq summary>span{transition:none}}

/* Detail pages use full-width surfaces; the reading grid stays aligned inside each band. */
.content-page--service .service-surface{display:block;padding:0;margin:0;border:0}
.content-page--service .service-section-content{padding-block:clamp(56px,6vw,88px)}
.content-page--service .service-split{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr);gap:40px 80px;align-items:start}
.content-page--service .service-surface--hero,.content-page--service .service-surface--directory,.content-page--service .service-surface--deliverables,.content-page--service .service-surface--prepare{background:var(--white)}
.content-page--service .service-surface--scope{background:var(--ice)}
.content-page--service .service-surface--scope .service-split{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:40px 72px}
.content-page--service .service-surface--scope .cp-area-list li{border-color:#cbd6e5}
.content-page--service .service-scope-intro{max-width:none;min-width:0}
.content-page--service .service-scope-visual{width:100%;max-width:620px;margin:32px 0 0}
.content-page--service .service-scope-visual img{display:block;width:100%;height:auto;object-fit:contain;-webkit-mask-image:url('/assets/images/service-scope-soft-edge.svg');mask-image:url('/assets/images/service-scope-soft-edge.svg');-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.content-page--service .service-scope-visual figcaption{margin-top:12px;color:var(--muted);font-size:13px;line-height:1.65}
.content-page--service .service-surface--directory h2{max-width:24ch;margin-bottom:36px}
.content-page--service .service-surface--process{background:var(--ink);color:var(--white);--focus:var(--yellow)}
.content-page--service .service-surface--process h2,.content-page--service .service-surface--process h3{color:var(--white)}
.content-page--service .service-surface--process .cp-section-heading{align-items:start;margin-bottom:48px}
.content-page--service .service-surface--process .cp-section-heading>p,.content-page--service .service-surface--process li p{color:#d3def0}
.content-page--service .service-surface--process ol{grid-template-columns:repeat(var(--service-step-columns,3),minmax(0,1fr));gap:36px}
.content-page--service .service-surface--process li::before{color:#c6d6ef;border-bottom-color:#526885;margin-bottom:22px}
.content-page--service .service-surface--process li h3{line-height:1.45}
.content-page--service .service-surface--process li p{margin-top:14px;line-height:1.85}
.content-page--service .service-surface--faq,.content-page--service .service-surface--related{background:var(--paper)}
.content-page--service .service-surface--faq details:first-child{border-top:1px solid var(--service-rule)}
.content-page--service .service-prepare-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr);gap:24px 80px}
.content-page--service .service-surface--prepare{border-top:1px solid #e4e9f0}
@media(max-width:1099px){
 .content-page--service .service-split,.content-page--service .service-surface--scope .service-split,.content-page--service .service-prepare-layout{gap:28px 40px}
 .content-page--service .service-surface--process ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 40px}
 .content-page--service .service-surface--process li:last-child:nth-child(odd){grid-column:1/-1;max-width:55ch}
}
@media(max-width:899px){
 .content-page--service .service-split,.content-page--service .service-surface--scope .service-split,.content-page--service .service-prepare-layout{grid-template-columns:minmax(0,1fr)}
 .content-page--service .service-split h2{max-width:24ch}
 .content-page--service .service-scope-visual{margin-top:24px}
 .content-page--service .service-surface--process .cp-section-heading{display:grid;gap:22px;margin-bottom:36px}
 .content-page--service .service-surface--process .cp-section-heading>p{max-width:55ch}
 .content-page--service .service-prepare-layout h2{grid-row:auto;max-width:24ch}
}
@media(max-width:599px){
 .content-page--service .service-section-content{padding-block:48px}
 .content-page--service .service-surface--process ol{grid-template-columns:minmax(0,1fr);gap:30px}
 .content-page--service .service-surface--process li:last-child:nth-child(odd){grid-column:auto;max-width:none}
 .content-page--service .service-surface--directory h2{margin-bottom:28px}
}
