/* Shared service and hub refinements, scoped to the new page families. */
.rollout-page .sp-hero h1{font-size:clamp(38px,4.1vw,62px);line-height:1.13}
.rollout-page .sp-hero-copy{grid-template-columns:1.4fr 1fr;gap:8%}
.rollout-page .sp-hero-aside p{font-size:20px;line-height:1.75}
.rollout-hero-system{margin-top:65px}
.rollout-page .rollout-system-title{color:#c4d5ed;font-size:22px;text-align:center;margin-bottom:25px}
.rollout-hero-image{max-width:1050px;margin:auto;position:relative}
.rollout-hero-image img{width:100%;height:auto;max-height:500px;object-fit:contain;display:block}
.rollout-hero-lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:28px}
.rollout-hero-lanes>div{border-top:1px solid #57718a;padding:24px 20px 0;text-align:center;position:relative}
.rollout-hero-lanes>div:before{content:'';position:absolute;top:-5px;left:calc(50% - 4px);width:8px;height:8px;border-radius:50%;background:#70a7ed}
.rollout-page .rollout-hero-lanes h2{font-size:25px;line-height:1.3;color:#fff;letter-spacing:-.02em;margin:14px 0 8px}
.rollout-page .rollout-hero-lanes p{font-size:18px;color:#b8ccda;line-height:1.6}
.rollout-page .rollout-hero-lanes .sp-quality-icon{color:#9fc6ed}
.rollout-page .sp-problem-grid article h3{font-size:25px;line-height:1.45}
.rollout-page .sp-outcome-grid{padding:35px 0;gap:36px;border-top:1px solid #d8e1eb;margin-top:35px}
.rollout-page .sp-outcome-grid article{min-width:0}
.rollout-page .rollout-measure-label{font-size:14px;text-transform:uppercase;letter-spacing:1px;margin:20px 0 8px;color:#63768b}
.rollout-page .sp-outcome-grid article>p:last-child{font-size:19px}
.rollout-page .sp-phase-heading{min-height:190px}
.rollout-option-art{display:flex;align-items:center;justify-content:space-between;padding:20px 26px 0!important;color:#6a829b}
.rollout-page .rollout-tradeoff{font-size:18px;margin-top:20px;line-height:1.65}
.rollout-tradeoff strong{display:block;font-size:14px;text-transform:uppercase;letter-spacing:1px;margin-bottom:7px}
.rollout-page .sp-scenarios article>img{aspect-ratio:1.5;object-fit:contain;background:#061527}
.rollout-page .sp-scenarios h3{font-size:28px;line-height:1.2}
.rollout-page .sp-topic-card h3{font-size:25px;line-height:1.3}
.rollout-page .sp-hero>.sp-shell{min-width:0}
.rollout-page .personal-contact-copy h2{font-size:clamp(30px,3.7vw,52px);line-height:1.2}
.rollout-page .sp-deliverables dt{overflow-wrap:anywhere}
.hub-page .hub-hero{background:#061527;color:#fff;padding:50px 0 75px}
.hub-page .hub-hero h1{font-size:clamp(38px,4.5vw,66px);font-weight:500;line-height:1.12;letter-spacing:-.035em;max-width:1000px;margin:35px 0 25px}
.hub-page .hub-hero .sp-breadcrumb{margin-bottom:30px}
.hub-page .hub-hero p{color:#bbccdd;font-size:21px;line-height:1.75;max-width:940px}
.hub-page .hub-hero .sp-label{color:#92b8d1;font-size:16px}
.hub-page .hub-hero img{display:block;width:100%;height:auto;max-height:470px;object-fit:contain;margin-top:35px}
.hub-page .hub-hero .button{display:inline-flex;margin-top:25px}
.hub-page .hub-value-chain{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:45px}
.hub-page .hub-value-chain>div{border-top:1px solid #d8e1eb;padding-top:24px}
.hub-page .hub-value-chain h3{font-size:27px;line-height:1.3;font-weight:500;margin:14px 0}
.hub-page .hub-value-chain p{font-size:19px;line-height:1.8}
.hub-page .hub-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:45px}
.hub-page .hub-group{border-top:2px solid #285ddc;padding-top:24px}
.hub-page .hub-group h3{font-size:26px;font-weight:500;line-height:1.25;margin:0 0 18px}
.hub-page .hub-service-link{display:block;padding:24px 0;border-bottom:1px solid #d8e1eb;text-decoration:none;color:#061527}
.hub-page .hub-service-link strong{display:block;font-size:23px;line-height:1.3;font-weight:500;margin-bottom:10px}
.hub-page .hub-service-link p{font-size:18px;line-height:1.7}
.hub-page .hub-service-link:hover strong{color:#285ddc}
.hub-page .hub-service-link:focus-visible{outline:3px solid #739df3;outline-offset:5px}
.hub-page .hub-dark{background:#061527;color:white}
.hub-page .hub-dark h2,.hub-page .hub-dark h3{color:white}
.hub-page .hub-dark p{color:#b8ccda}
.hub-page .hub-dark .sp-label{color:#92b8d1}
.hub-page .hub-dark .hub-value-chain>div{border-color:#35576d}
.hub-page .hub-dark .sp-quality-icon{color:#9fc6ed}
.hub-page .hub-metrics{display:flex;gap:20px 35px;flex-wrap:wrap;padding-top:28px;margin-top:30px;border-top:1px solid #35576d;font-size:18px;color:#b8ccda}
.hub-page .hub-metrics strong{color:#fff}
.site-finished .detail-hero .lead{font-size:21px;line-height:1.75}
.site-finished .article-body{font-size:20px;line-height:1.85}
.site-finished .article-body p,.site-finished .article-body li{font-size:20px;line-height:1.85}
.site-finished .directory-card h2{font-size:28px;line-height:1.25}
.site-finished .directory-card p,.site-finished .insight-grid p,.site-finished .answer-layout p{font-size:19px;line-height:1.8}
.site-finished .faq-section summary{font-size:23px}
.site-finished .faq-section details p{font-size:19px;line-height:1.8}
.site-finished .personal-contact-copy h2{overflow-wrap:break-word}
@media(max-width:1100px){.rollout-page .sp-hero-copy{gap:5%;grid-template-columns:1.2fr 1fr}.rollout-page .sp-phase-heading{min-height:155px}.hub-page .hub-groups{grid-template-columns:1fr 1fr}.rollout-page .sp-scenarios h3{font-size:25px}}
@media(max-width:760px){.rollout-page .sp-hero h1{font-size:36px}.rollout-page .sp-hero-copy{display:contents}.rollout-page .rollout-hero-system{order:3;margin-top:32px}.rollout-page .sp-hero-aside{order:4}.rollout-page .rollout-hero-lanes{grid-template-columns:1fr;gap:24px}.rollout-hero-lanes>div{text-align:left;padding:22px 0 0}.rollout-hero-lanes>div:before{left:0}.rollout-page .rollout-system-title{text-align:left;font-size:20px}.rollout-page .sp-phase-heading{min-height:0}.rollout-page .sp-outcome-grid{padding:25px 0}.rollout-page .personal-contact-copy h2{font-size:30px}.hub-page .hub-value-chain,.hub-page .hub-groups{grid-template-columns:1fr;gap:30px}.hub-page .hub-hero{padding:32px 0 50px}.hub-page .hub-hero h1{font-size:37px}.hub-page .hub-hero p{font-size:19px}.site-finished .directory-grid{grid-template-columns:1fr}.site-finished .detail-hero h1{font-size:36px;overflow-wrap:break-word}.site-finished .personal-contact-copy h2{font-size:30px}.site-finished .article-body p,.site-finished .article-body li{font-size:19px}.hub-page .hub-hero img{max-height:300px}}
@media(max-width:360px){.rollout-page .sp-hero h1,.hub-page .hub-hero h1,.site-finished .detail-hero h1{font-size:31px}.rollout-page .sp-scenarios h3{font-size:23px}.rollout-page .sp-topic-card h3{font-size:23px}}
/* Editorial and utility pages share the same readable type scale. */
.site-finished .breadcrumbs,.site-finished .breadcrumbs .text-link{font-size:15px}
.site-finished .framework-lanes p,.site-finished .framework-feedback{font-size:18px;line-height:1.75}
.site-finished .article-layout aside{font-size:16px;line-height:1.7}
.site-finished .article-layout aside a{display:block;min-height:44px;padding-block:10px}
.site-finished .publication-detail p,.site-finished .publication-detail li{font-size:20px;line-height:1.8}
.site-finished .detail-hero figure:has(img[src="/assets/kenneth.png"]){max-width:400px;justify-self:center}
.site-finished .detail-hero figure img[src="/assets/kenneth.png"]{aspect-ratio:571/620;object-fit:cover}
.site-finished .contact-options{display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.site-finished .personal-contact-copy>p:not(.contact-topic){font-size:20px}
.site-finished .personal-contact-copy p.contact-expectation,.site-finished .personal-contact figcaption span{font-size:16px}
.site-finished .contact-mail{font-size:17px}
.hub-page .hub-industry-services{grid-template-columns:repeat(2,minmax(0,1fr))}
.legal-finished .legal-heading{background:#061527;color:#fff;max-width:none;width:100%;padding-inline:max(24px,calc((100vw - 1308px)/2))}
.legal-finished .legal-content p,.legal-finished .legal-content li,.legal-finished .legal-content address,.legal-finished .legal-content dd{font-size:19px;line-height:1.8}
.legal-finished .legal-section{scroll-margin-top:120px}
.legal-finished nav.legal-toc{position:static;display:block;max-height:none;background:#e9eff4;box-shadow:none;overflow:visible;width:auto}
.utility-page{min-height:65vh;background:#f3f6fa;padding:100px 0}
.utility-page h1{font-size:clamp(38px,5vw,70px);font-weight:500;line-height:1.15;margin-bottom:30px}
.utility-page p{font-size:21px;line-height:1.8;max-width:760px}
.utility-links{display:flex;flex-wrap:wrap;gap:30px;align-items:center;margin-top:40px}
@media(max-width:760px){.hub-page .hub-industry-services{grid-template-columns:1fr}.site-finished .personal-contact-copy>p:not(.contact-topic){font-size:19px}.site-finished .framework-lanes p{font-size:18px}.legal-finished .legal-content p,.legal-finished .legal-content li{font-size:18px}.utility-page{padding:65px 0}.utility-links{align-items:flex-start;flex-direction:column}.site-finished .detail-hero figure:has(img[src="/assets/kenneth.png"]){max-width:270px}}
.rollout-page .sp-problem-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.rollout-page .sp-problem-grid article{min-width:0}
.rollout-page .sp-problem-grid h3{overflow-wrap:break-word;hyphens:auto}
@media(max-width:760px){.rollout-page .sp-problem-grid{grid-template-columns:minmax(0,1fr)}}
.rollout-page .sp-outcome-grid h3,.rollout-page .sp-scenarios h3,.hub-page h3{overflow-wrap:break-word;hyphens:auto}
.rollout-impact-measures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 36px;padding:28px 0 38px;border-top:1px solid #d8e1eb;font-size:19px;line-height:1.6;color:#526780}
.rollout-impact-measures strong{grid-column:1/-1;font-weight:500;color:#061527;font-size:20px}
@media(max-width:760px){.rollout-impact-measures{grid-template-columns:1fr;gap:14px}}
.site-finished .detail-hero figure:has(img[src^="/assets/publications/"]){max-width:380px;justify-self:center}
.site-finished .detail-hero figure img[src^="/assets/publications/"]{aspect-ratio:auto;max-height:510px;object-fit:contain;border-radius:0}
.site-finished .directory-card img[src^="/assets/publications/"]{object-fit:contain;background:#eaf0f7;padding:24px}
@media(max-width:760px){.site-finished .detail-hero figure:has(img[src^="/assets/publications/"]){max-width:250px}.site-finished .detail-hero figure img[src^="/assets/publications/"]{max-height:350px}}
.site-finished .detail-hero .lead,.site-finished .article-body p{hyphens:none;overflow-wrap:break-word}
