/* The additional services follow the visual language of the supplied v8. */
.services-page .article-intro { padding-top:calc(var(--hero-clearance,118px) + 44px); padding-bottom:72px; text-align:center; }
.services-page .article-intro h1 { max-width:1140px; margin:0 auto 28px; font:700 clamp(2.625rem,5.25vw,4.625rem)/1.1 var(--heading); letter-spacing:-.06em; text-wrap:balance; }
.services-page .services-intro { max-width:800px; margin-inline:auto; font-size:1.0625rem; line-height:1.8; }
.services-page .services-intro > p:first-child { font-size:1.1875rem; }
.services-page .article-prose { max-width:760px; color:var(--graphite); font-size:1.0625rem; line-height:1.8; }
.services-page .article-prose > p + p { margin-top:20px; }
.services-page .service-detail { width:min(1264px,calc(100% - 32px)); margin:0 auto 24px; padding:48px 0; border:1px solid var(--fog); border-radius:32px; background:var(--linen); }
.services-page .service-detail:nth-of-type(even) { background:#fff; }
.services-page .article-section-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr); gap:64px; align-items:start; width:calc(100% - 64px); }
.services-page .service-detail-heading { position:sticky; top:calc(var(--header-clearance,120px) + 20px); }
.services-page .service-detail-heading h2 { max-width:440px; font:700 clamp(1.75rem,2.7vw,2.5rem)/1.2 var(--heading); letter-spacing:-.05em; }
.services-page .service-detail-heading .service-icon { width:56px; height:56px; margin:0 0 24px; background:#171717; color:var(--accent); }
.services-page .service-detail-heading .service-icon .icon { width:28px; height:28px; }
.services-page .service-deliverables { display:grid; gap:16px; margin:26px 0; padding:0; list-style:none; }
.services-page .service-deliverables:last-child { margin-bottom:0; }
.services-page .service-deliverables li { position:relative; padding:0 0 0 32px; color:var(--carbon); font-size:1rem; line-height:1.7; }
.services-page .service-deliverables li::before { content:''; position:absolute; left:0; top:.36em; width:18px; height:18px; border-radius:50%; background:var(--accent); }
.services-page .service-deliverables li::after { content:''; position:absolute; left:5px; top:calc(.36em + 5px); width:8px; height:5px; border-left:1.8px solid var(--carbon); border-bottom:1.8px solid var(--carbon); transform:rotate(-45deg); }
.services-page .service-closing { margin-top:48px; }
.services-page .service-closing .article-callout { max-width:none; padding:40px; border-radius:32px; background:#0c0c0c; color:#fff; font:700 clamp(1.25rem,2.25vw,1.875rem)/1.5 var(--heading); letter-spacing:-.04em; }
@media(max-width:959px) {
 .services-page .article-section-layout { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:32px; }
 .services-page .service-detail-heading { position:static; }
 .services-page .service-detail-heading h2 { font-size:1.75rem; }
}
@media(max-width:767px) {
 .services-page .article-intro { padding-top:calc(var(--hero-clearance,100px) + 24px); padding-bottom:48px; }
 .services-page .article-intro h1 { font-size:clamp(2rem,7.3vw,3.25rem); line-height:1.12; letter-spacing:-.055em; }
 .services-page .services-intro > p:first-child { font-size:1.0625rem; }
 .services-page .article-prose { font-size:1rem; line-height:1.8; }
 .services-page .service-detail { width:calc(100% - 24px); padding-block:28px; margin-bottom:16px; border-radius:28px; }
 .services-page .article-section-layout { width:calc(100% - 40px); grid-template-columns:1fr; gap:24px; }
 .services-page .service-detail-heading { display:flex; align-items:center; gap:16px; }
 .services-page .service-detail-heading .service-icon { width:48px; height:48px; flex:0 0 48px; margin:0; }
 .services-page .service-detail-heading .service-icon .icon { width:24px; height:24px; }
 .services-page .service-detail-heading h2 { font-size:clamp(1.375rem,5vw,1.875rem); line-height:1.25; letter-spacing:-.045em; }
 .services-page .service-deliverables { gap:14px; margin-block:24px; }
 .services-page .service-closing { margin-top:32px; }
 .services-page .service-closing .article-callout { padding:28px; border-radius:28px; }
}
@media(max-width:359px) {
 .services-page .service-detail-heading { align-items:flex-start; gap:12px; }
 .services-page .service-detail-heading .service-icon { width:40px; height:40px; flex-basis:40px; }
 .services-page .service-detail-heading h2 { font-size:1.25rem; }
}
