/* Executive clarity: explicit hierarchy and readable screen-sized overviews. */
.model-boxes rect,.model-boxes rect[rx]{rx:0;fill:#f1f5f8;stroke:#b7c9d4;stroke-width:1.5}
.model-boxes rect:nth-child(4){fill:#102b3e;stroke:#102b3e}
.model-boxes rect:nth-child(5){fill:#007f94;stroke:#007f94}
.model-labels text{fill:#102b3e;font-weight:600;font-size:32px}
.model-labels text:nth-child(4),.model-labels text:nth-child(5){fill:#fff}
.flow-arrow{stroke:#728d9c;stroke-width:2.5}
#model-arrowhead path{fill:#728d9c}
.model-context{border-top-color:#b7c9d4}
#services,#results,#approach,#about{scroll-margin-top:88px}
@media(min-width:1100px){
 :root{--shell:min(1280px,calc(100% - 64px))}
 #services,#results,#approach,#about{padding-block:28px;min-height:calc(100svh - 88px)}
 #services h2,#results h2,#approach h2,#about h2{font-size:32px;line-height:1.12;letter-spacing:-.035em}
 #services .eyebrow,#results .eyebrow,#approach .eyebrow,#about .eyebrow{margin-bottom:10px}
 #services .section-heading,#results .section-heading{margin-bottom:20px;gap:30px;align-items:center}
 #services .section-heading>p,#results .section-heading>p{font-size:16px;line-height:1.45;max-width:360px}
 #services .service-card{min-height:0;padding:26px;gap:16px}
 #services .service-icon{margin:0;font-size:28px}
 #services .service-card h3{font-size:23px;margin:0;min-height:58px}
 #services .service-card p{font-size:16px;line-height:1.5;margin:0 0 6px}
 #services .service-card ul{padding-top:14px}
 #services .service-card li{font-size:14px;padding:3px 0}
 #results .metrics-grid{margin-bottom:16px}
 #results .metric{padding:9px 18px;display:flex;align-items:center;gap:12px}
 #results .metric strong{font-size:28px;white-space:nowrap}
 #results .metric span{font-size:12px;line-height:1.3}
 #results .case-grid{gap:12px}
 #results .case-card{padding:14px 16px;min-height:0;display:grid;grid-template-columns:130px minmax(0,1fr);grid-template-rows:auto auto 1fr auto;column-gap:16px;row-gap:7px}
 #results .case-image{grid-column:1;grid-row:1/5;margin:-14px 0 -14px -16px;aspect-ratio:auto;min-height:186px}
 #results .case-image img{height:100%;object-fit:cover}
 #results .case-meta{grid-column:2;font-size:10px;letter-spacing:.04em;gap:6px;flex-wrap:wrap;line-height:1.3}
 #results .case-card h3{grid-column:2;margin:0;font-size:18px;line-height:1.2}
 #results .case-card>p{grid-column:2;padding:0;font-size:14px;line-height:1.4}
 #results .case-result{grid-column:2;margin:0;min-height:0;padding:5px 9px;gap:9px;align-items:center}
 #results .case-result strong{font-size:23px}
 #results .case-result span{font-size:12px;line-height:1.2}
 #results .client-strip{grid-template-columns:110px 1fr;gap:14px;margin-top:14px;padding-top:12px}
 #results .client-strip>div{gap:5px 17px}
 #results .client-strip b{font-size:11px;line-height:1.5;letter-spacing:.02em}
 #approach{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px;padding-inline:max(32px,calc((100% - 1280px)/2));align-items:start}
 #approach>.shell{width:100%;min-width:0}
 #approach .approach-model-heading{margin:0 0 18px}
 #approach .five-box-model{width:100%;max-width:600px;margin:0 auto}
 #approach .model-context{position:static;padding-top:12px;margin:0 0 20px;font-size:16px;line-height:1.45}
 #approach .five-box-diagram{max-height:380px;width:100%}
 #approach .approach-grid{display:block;padding:0 0 0 32px;border-top:0;border-left:1px solid var(--line)}
 #approach .sticky-copy{position:static}
 #approach .sticky-copy h2{font-size:24px;max-width:410px}
 #approach .sticky-copy>p:not(.eyebrow){font-size:14px;line-height:1.45;margin:12px 0}
 #approach .text-link{font-size:13px;margin:0 0 16px;padding-bottom:3px}
 #approach .steps-list li{grid-template-columns:24px 1fr;gap:12px;padding:10px 0}
 #approach .steps-list h3{font-size:17px;margin:0 0 3px;line-height:1.2}
 #approach .steps-list p{font-size:14px;line-height:1.4}
 #about .about-grid{grid-template-columns:150px minmax(0,1fr);gap:30px}
 #about .about-visual{min-height:0;align-self:stretch}
 #about .monogram{font-size:64px}
 #about .experience-tag{left:12px;right:12px;bottom:18px;padding:12px;display:block}
 #about .experience-tag strong{font-size:24px}
 #about .experience-tag span{display:block;font-size:12px}
 #about .about-copy{padding:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);column-gap:30px;align-content:start}
 #about .about-copy>.eyebrow,#about .about-copy>h2,#about .about-copy>p,#about .specialties{grid-column:1}
 #about .about-lede{font-size:17px;line-height:1.5;margin:16px 0 10px}
 #about .about-copy>p:not(.eyebrow):not(.about-lede){font-size:14px;line-height:1.5;margin:0 0 12px}
 #about .specialties{gap:6px;margin:0}
 #about .specialties span{font-size:12px;padding:5px 8px}
 #about .experience-block{grid-column:2;grid-row:1/6;margin:0;border-top:2px solid #087f98}
 #about .experience-title{margin:12px 0 6px;font-size:12px}
 #about .experience-item{grid-template-columns:1fr;gap:6px;padding:10px 0}
 #about .experience-item p{font-size:14px;line-height:1.45;margin:0 0 8px}
 #about .profile-links{padding-top:12px}
 #about .profile-links .text-link{margin:0;font-size:13px}
 #about .sector-experience{margin-top:24px;padding-top:18px;grid-template-columns:.7fr 1.3fr;gap:14px 30px}
 #about .sector-experience h3{font-size:20px;line-height:1.2}
 #about .sector-experience-grid{grid-template-columns:repeat(3,1fr);gap:0 20px}
 #about .sector-experience-grid span{padding:5px 0;font-size:14px}
 #about .sector-specialties{margin:0;padding-top:12px;font-size:13px;line-height:1.45}
 #about .sector-specialties strong{display:inline;margin-right:8px}
 #about .sector-specialties span{display:inline}
}
@media(max-width:1099px){
 #services,#results,#approach,#about{scroll-margin-top:88px}
}
@media(max-width:900px){#services,#results,#approach,#about{scroll-margin-top:72px}}
.mobile-disclosure>summary{cursor:pointer;font-size:14px;font-weight:600;padding:10px 0;color:#087f98}
.services-section .mobile-disclosure>summary,.results-section>.mobile-disclosure>summary{color:#71dbea}
@media(min-width:901px){.mobile-disclosure{display:contents}.mobile-disclosure>summary{display:none}}
@media(min-width:1100px){
 #results .case-card>.mobile-disclosure{display:block;grid-column:2}
 #results .mobile-disclosure p{font-size:14px;line-height:1.4;margin:0}
 #about .about-copy>.mobile-disclosure{display:block;grid-column:2;grid-row:1/6}
}
@media(max-width:900px){
 #services,#results,#approach,#about{padding:22px 0;min-height:calc(100svh - 72px)}
 #services h2,#results h2,#approach h2,#about h2{font-size:26px;line-height:1.12}
 #services .eyebrow,#results .eyebrow,#approach .eyebrow,#about .eyebrow{margin-bottom:8px;font-size:11px}
 #services .section-heading,#results .section-heading{gap:10px;margin-bottom:16px}
 #services .section-heading>p,#results .section-heading>p{font-size:14px;line-height:1.4}
 #services .service-card{padding:14px 16px;min-height:0;display:grid;grid-template-columns:24px 1fr;gap:4px 10px}
 #services .service-icon{display:none}
 #services .card-number{grid-column:1;grid-row:1;padding-top:3px}
 #services .service-card h3{grid-column:2;font-size:19px;margin:0;line-height:1.2}
 #services .service-card>.mobile-disclosure{grid-column:2}
 #services .mobile-disclosure p{font-size:16px;line-height:1.5;margin-bottom:14px}
 #services .mobile-disclosure ul{padding-top:12px}
 #results .metrics-grid{margin-bottom:12px}
 #results .metric{padding:8px 10px}
 #results .metric strong{font-size:23px}
 #results .metric span{font-size:11px;line-height:1.2;display:block}
 #results .case-grid{gap:9px}
 #results .case-card{min-height:0;padding:10px 12px;display:grid;grid-template-columns:68px minmax(0,1fr);gap:5px 10px}
 #results .case-image{grid-column:1;grid-row:1/5;margin:-10px 0 -10px -12px;aspect-ratio:auto;min-height:110px}
 #results .case-meta{grid-column:2;font-size:9px;line-height:1.3;letter-spacing:.015em;gap:3px 8px}
 #results .case-card h3{grid-column:2;margin:0;font-size:15px;line-height:1.2}
 #results .case-card>.mobile-disclosure{grid-column:2;grid-row:4}
 #results .mobile-disclosure>summary{padding:0;font-size:12px}
 #results .mobile-disclosure p{font-size:16px;line-height:1.5;padding:10px 0 0;margin:0}
 #results .case-result{grid-column:2;grid-row:3;padding:3px 6px;margin:0;min-height:0;gap:7px;align-items:center}
 #results .case-result strong{font-size:19px;white-space:nowrap}
 #results .case-result span{font-size:10px;line-height:1.2}
 #results .client-strip{margin-top:14px;padding-top:10px;gap:5px}
 #results .client-strip>div{gap:4px 12px}
 #results .client-strip b{font-size:10px}
 #approach .approach-model-heading{margin-bottom:14px}
 #approach .five-box-model{width:100%;max-width:650px;margin:0 auto 14px}
 #approach .model-context{position:static;margin:0 0 16px;padding-top:10px;font-size:14px;line-height:1.4}
 #approach>.mobile-disclosure,#about>.mobile-disclosure{width:var(--shell);margin-inline:auto;border-top:1px solid var(--line)}
 #approach .approach-grid{width:100%;padding-top:16px;gap:20px;border:0}
 #approach .steps-list li{padding:14px 0;grid-template-columns:25px 1fr;gap:12px}
 #approach .steps-list h3{font-size:20px}
 #about .about-grid{display:block}
 #about .about-visual{display:none}
 #about .about-copy{padding:0}
 #about .about-lede{font-size:16px;line-height:1.5;margin:12px 0}
 #about .about-copy>p:not(.eyebrow):not(.about-lede){font-size:14px;line-height:1.5;margin:0 0 14px}
 #about .specialties{margin:12px 0;gap:6px}
 #about .specialties span{font-size:12px;padding:5px 8px}
 #about .experience-block{margin:0 0 16px}
 #about .sector-experience{width:100%;margin-top:8px;padding-top:10px;gap:14px}
 #about .sector-specialties{padding-top:14px}
}
@media(min-width:1100px){#approach .approach-grid{width:100%}}
@media(max-width:900px){#results .shell>.mobile-disclosure>summary{color:#71dbea}}
@media(min-width:1100px){#results .case-image{min-height:150px}}
@media(max-width:900px){#results .case-image{min-height:90px}}
@media(max-width:900px){
 #results{padding-block:16px}
 #results .section-heading{margin-bottom:10px;gap:6px}
 #results .metric{padding:5px 8px}
 #results .metric strong{line-height:1.1}
 #results .case-card{padding:8px 10px;gap:4px 8px;grid-template-columns:54px minmax(0,1fr)}
 #results .case-image{min-height:0;margin:-8px 0 -8px -10px}
 #results .case-card h3{font-size:14px}
 #results .case-result strong{line-height:1.2}
 #results .mobile-disclosure>summary{line-height:1.35}
}
