/* Platform-independent controls. SVGs never fall back to an emoji font. */
.ui-symbol{display:inline-block;width:1.1em;height:1.1em;flex:0 0 auto;vertical-align:-.14em;fill:none;stroke:currentColor;stroke-width:1.7;overflow:visible}
.button .ui-symbol,.text-link .ui-symbol{width:22px;height:22px;vertical-align:middle}
.menu .ui-symbol{width:20px;height:20px}
.menu[aria-expanded=true] .ui-plus{transform:rotate(45deg)}
.services-toggle .ui-chevron-down{width:17px;height:17px;transition:transform .15s}
.services-toggle[aria-expanded=true] .ui-chevron-down{transform:rotate(180deg)}
.sp-accordion summary .ui-symbol{width:20px;height:20px;flex-shrink:0}
.sp-accordion details[open] summary .ui-plus{transform:rotate(45deg)}
.pp-flow li:after{content:'';width:18px;height:18px;background:currentColor;mask:url('/assets/icons/tabler/arrow-down.svg') center/contain no-repeat;-webkit-mask:url('/assets/icons/tabler/arrow-down.svg') center/contain no-repeat}
@media(max-width:767px){
 html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:88px}
 body{font-size:18px;line-height:1.65}
 main h1,main h2,main h3,main p,main li,main summary{hyphens:none;word-break:normal;overflow-wrap:break-word}
 .wrap,.sp-shell{width:calc(100% - 40px);max-width:100%;margin-inline:auto}
 main h1,.sop-page .sp-hero h1,.hub-page .hub-hero h1,.site-finished .detail-hero h1{font-size:clamp(32px,8.5vw,43px);line-height:1.14;letter-spacing:-.035em;hyphens:none}
 main h2,.sop-page h2,.site-finished .personal-contact-copy h2{font-size:clamp(28px,7.5vw,36px);line-height:1.2;letter-spacing:-.025em}
 main h3,.sop-page .sp-problem-grid article h3,.rollout-page .sp-topic-card h3{font-size:23px;line-height:1.3}
 .section,.sp-section{padding-block:58px}
 .section-heading{margin-bottom:30px}
 .sp-breadcrumb,.breadcrumbs,.detail-hero .breadcrumbs,.detail-hero .breadcrumbs a{font-size:14px!important;line-height:1.6;gap:8px;margin-bottom:26px}
 .sp-label,.sop-page .sp-label,.hub-page .hub-hero .sp-label{font-size:14px;line-height:1.5;letter-spacing:.03em;margin-bottom:18px}
 .editorial-header .header-inner{height:72px;gap:15px}
 .editorial-header .brand{min-width:0;max-width:calc(100% - 98px)}
 .editorial-header .brand img{max-width:100%;width:180px;height:auto}
 .editorial-header .menu{display:inline-flex;gap:12px;align-items:center;justify-content:center;min-width:84px;min-height:46px;font-size:16px;padding:10px 12px;border-radius:3px}
 .editorial-header #navigation.open{max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain;padding:20px;box-shadow:0 18px 28px #06152712}
 .editorial-header #navigation>a,.editorial-header .services-toggle{font-size:18px;min-height:48px;padding-block:12px;line-height:1.4}
 .editorial-header .mega{grid-template-columns:1fr;padding:12px 0;gap:24px}
 .editorial-header .mega .mega-link{font-size:17px;line-height:1.45;min-height:44px;padding:12px 0}
 .editorial-header .mega-bottom{flex-direction:column;gap:10px}
 .editorial-header .mega-bottom .text-link{font-size:16px;min-height:44px}
 .button,.sop-page .sp-hero-aside .button,.contact-actions .button,.hero-actions .button{font-size:16px;line-height:1.5;min-height:48px;padding:14px 18px;gap:14px;text-align:left;white-space:normal;max-width:100%;align-items:center}
 .text-link,.contact-mail{font-size:17px;line-height:1.5;min-height:44px;padding-block:10px}
 .button .ui-symbol,.text-link .ui-symbol{width:22px;height:22px}
 .hero-copy{padding:44px 0 100px}
 .hero-copy>p,.sop-page .sp-hero-aside p,.hub-page .hub-hero p,.site-finished .detail-hero .lead{font-size:18px;line-height:1.7;hyphens:none}
 .hero-copy h1{font-size:clamp(27.3px,7.254vw,35.88px);line-height:1.12;margin:24px 0}
 .hero-actions{gap:16px;align-items:stretch}
 .hero-actions .button{justify-content:space-between}
 .hero-foot{font-size:13px;line-height:1.6;gap:14px}
 .sop-page .sp-hero>.sp-shell{display:block}
 .sop-page .sp-hero-copy{display:flex;flex-direction:column;align-items:stretch;gap:25px;margin-bottom:24px}
 .sop-page .sp-hero-aside{margin-top:0}
 .sp-hero{padding-block:28px 42px}
 .sp-hero-aside .button{display:flex;justify-content:space-between;width:100%}
 .sp-jump .sp-shell{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
 .sp-jump a{font-size:15px;min-height:44px;display:flex;align-items:center;padding:10px 0}
 .sp-problem-grid,.sp-outcome-grid,.sp-topic-grid,.hub-value-chain,.hub-groups,.hub-page .hub-industry-services{grid-template-columns:minmax(0,1fr);gap:28px}
 .sp-problem-grid article{padding:24px 0}
 .sop-page .sp-quality-icon{width:28px;height:28px;flex-shrink:0;stroke-width:1.7}
 .sp-project-stages{grid-template-columns:1fr;gap:34px}
 .sp-project-stages>li{transform:none!important;margin-top:0!important;padding-top:0!important}
 .sp-phase-heading{min-height:0!important;gap:16px}
 .sp-phase-heading>span{font-size:16px}
 .sp-phase-art{max-width:200px!important;margin:18px auto!important}
 .sp-deliverables dl{grid-template-columns:1fr;gap:1px}
 .sp-deliverables dl>div{padding:24px!important}
 .sp-deliverables dt{font-size:21px!important;line-height:1.45!important}
 .sp-deliverables dd{font-size:18px!important;line-height:1.65!important}
 .sp-scenarios{grid-template-columns:1fr;gap:24px}
 .sp-scenarios article>div:not(.iv-option-art){padding:24px}
 .sp-accordion summary{font-size:20px;line-height:1.45;padding:22px 0;gap:18px}
 .sp-accordion details>p{font-size:18px;line-height:1.75}
 .iv-figure{padding:24px 20px;margin:28px 0}
 .iv-reading>div{gap:0 16px;padding-bottom:22px;border-bottom:1px solid #314a5c}
 .iv-reading>div:last-child{padding-bottom:0;border:0}
 .iv-reading dt{font-size:21px;line-height:1.4}.iv-reading dd{font-size:18px;line-height:1.65}
 .iv-phase-art{padding:22px;gap:18px}.iv-phase-art>span{font-size:19px;line-height:1.5}
 .personal-contact-layout{display:flex;flex-direction:column;gap:32px}
 .personal-contact-layout>figure{order:2;width:100%;display:grid;grid-template-columns:100px minmax(0,1fr);gap:20px;align-items:center;margin:0}
 .personal-contact-layout>figure img{width:100px;height:125px;object-fit:cover;object-position:center 20%;border-radius:3px}
 .personal-contact-layout figcaption strong{font-size:20px;line-height:1.4}
 .personal-contact-layout figcaption span{font-size:15px;line-height:1.5}
 .personal-contact-copy{width:100%;min-width:0}
 .personal-contact-copy>p:not(.contact-topic){font-size:18px!important;line-height:1.7}
 .contact-actions{display:flex;flex-direction:column;gap:14px;align-items:stretch}
 .contact-actions .button{justify-content:space-between;width:100%}
 .footer-directory{grid-template-columns:1fr 1fr;gap:32px 20px}
 .footer-directory>div:first-child,.footer-directory>div:last-child{grid-column:1/-1}
 .footer-directory>div>a:not(.footer-brand){font-size:16px;line-height:1.5;min-height:40px;margin:4px 0;padding:6px 0}
 .footer-directory>div>p{font-size:16px;line-height:1.65}
 .footer-directory h3{font-size:14px;margin-bottom:14px}
 .editorial-footer .footer-bottom{font-size:14px;line-height:1.7;gap:18px}
 .footer-bottom>div{display:flex;flex-wrap:wrap;gap:12px 20px}
 .footer-bottom a{min-height:40px;display:inline-flex;align-items:center}
 .article-layout{display:flex;flex-direction:column;gap:28px}.article-layout aside{position:static;width:100%}
 .article-body p,.article-body li{font-size:18px!important;line-height:1.75}
 .article-body table{display:block;max-width:100%;overflow:auto;font-size:16px}
 .sp-outcome-banner{background-color:#0b2339}.sp-outcome-banner:after{background:#061527a6}
 /* The desktop ring becomes readable, full-width controls on a phone. */
 #sop-plan-system{display:flex;flex-direction:column}
 #sop-plan-system>.eyebrow{order:0}#sop-plan-system>h2{order:1}#sop-plan-system>.lead{order:2}
 #sop-plan-system .system{display:contents}
 #sop-plan-system .system>div:first-child{order:3;margin-top:28px}
 #sop-plan-system .cycle{order:4;position:static;display:flex;flex-direction:column;gap:12px;width:100%;height:auto;aspect-ratio:auto;max-width:none;margin:30px 0 0;padding:0;transform:none}
 #sop-plan-system .cycle>svg{display:none}
 #sop-plan-system .cycle .center{position:static;transform:none;border-radius:0;display:block;width:auto;height:auto;padding:22px;background:#123449;text-align:left;margin-bottom:6px}
 #sop-plan-system .cycle .center strong{font-size:28px}#sop-plan-system .cycle .center span{font-size:18px;line-height:1.6}
 #sop-plan-system .cycle .station{position:static!important;inset:auto!important;transform:none!important;width:100%!important;min-height:72px;height:auto!important;display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:16px;padding:18px!important;font-size:19px!important;text-align:left;border-radius:3px}
 #sop-plan-system .cycle .station .sp-quality-icon{width:28px;height:28px}
 #sop-plan-system .cycle .station .sp-station-label{font-size:19px;line-height:1.4}
 #sop-plan-system .cycle .station .sp-station-label br{display:initial}
 #sop-plan-system .loop-caption{order:5;text-align:left;font-size:18px;line-height:1.7;margin:20px 0 28px}
 #sop-plan-system .sp-system-results{order:6}#sop-plan-system .foundation{order:7}
 #sop-plan-system .plan-row{font-size:21px}#sop-plan-system .plan-row span{font-size:18px;line-height:1.6}
 #sop-plan-system .foundation{display:block}#sop-plan-system .foundation-list{display:grid;grid-template-columns:1fr;gap:15px;margin-top:20px;font-size:18px}
}
@media(max-width:360px){.wrap,.sp-shell{width:calc(100% - 32px)}.editorial-header .brand img{width:156px}.editorial-header .menu{min-width:78px;font-size:15px}.button{padding-inline:14px}.iv-figure{padding:20px 16px}.personal-contact-layout>figure{grid-template-columns:85px minmax(0,1fr);gap:16px}.personal-contact-layout>figure img{width:85px;height:110px}}

@media(max-width:767px){#sop-plan-system .cycle .center strong,#sop-plan-system .cycle .center span{display:block}#sop-plan-system .cycle .center strong{margin-bottom:6px}}
@media(max-width:767px){
 main p,main dd,main li{overflow-wrap:anywhere}
 .sp-selected .sp-questions .sp-accordion summary,.hub-page .sp-questions .sp-accordion summary{display:grid;grid-template-columns:minmax(0,1fr) 22px;gap:16px;font-size:20px;line-height:1.5;overflow-wrap:anywhere;align-items:start}
 .sp-accordion summary>span:last-child{font-size:20px;line-height:1;width:22px;height:22px;margin-top:4px;display:block}
 .sp-accordion details[open] summary .ui-plus{transform:none}
 .iv-phase-art>span,.iv-hero-topics span{min-width:0;overflow-wrap:anywhere}
 .insight-grid,.insight-grid article{min-width:0;max-width:100%}
 .insight-grid article{grid-template-columns:32px minmax(0,1fr);column-gap:16px}
 .insight-grid article>*{min-width:0}
 main .eyebrow,main .contact-topic,main .evidence-note,main .legal-updated{font-size:15px!important;line-height:1.6!important}
 .proof-grid p,.article-layout aside>p{font-size:15px!important;line-height:1.7}
 .sp-deliverables dd{overflow-wrap:anywhere!important}
}
/* Keep disclosure icons inside their touch target, including the open state. */
.sp-accordion details[open] summary>span:last-child{transform:none}
.sp-accordion details[open] summary .ui-plus{transform:none}
.sp-accordion details[open] summary .ui-plus path:first-child{display:none}
@media(max-width:767px){.clients-head p{font-size:16px;line-height:1.6}}
