@import url('https://fonts.googleapis.com/css2?family=Onest:wght@400;500;600;700&display=swap');
:root{--navy:#1a2633;--navy2:#223140;--ink:#22303a;--muted:#66727a;--blue:#305eaf;--sky:#dce4ea;--paper:#f5f4f0;--line:#dedfda}
body{font-family:Onest,"Segoe UI",Arial,sans-serif;letter-spacing:-.012em;background:var(--paper)}
.container{width:min(1200px,calc(100% - 72px))}
.top-shell{background:#1a2633}.top-shell:before,.top-shell:after{display:none}
.header{height:84px;border-color:rgba(236,239,237,.19)}
.brand{font-size:22px;letter-spacing:-.065em;font-weight:600;line-height:1;gap:0}
.brand-wordmark{display:inline-flex;align-items:baseline;gap:5px}.brand-wordmark strong{font-weight:700}.brand-wordmark span{font-weight:400;color:#d9e1e7}.brand-wordmark i{font-style:normal;color:#98b3d7}
.nav a{color:#c5d0d7}.header-cta{border-color:rgba(215,226,231,.48);border-radius:2px;font-weight:550}.header-cta:hover{background:rgba(215,226,231,.12)}
.hero{min-height:620px;padding:106px 0 100px;gap:8%;align-items:center}
.hero h1{font-size:clamp(3.45rem,5.9vw,6.2rem);font-weight:600;line-height:1.06;letter-spacing:-.075em;margin-bottom:32px}
.hero h1 em{font:italic 400 1em/1.03 Georgia,"Times New Roman",serif;color:#dce4eb;letter-spacing:-.075em}
.hero-lead{color:#ccd5dc;line-height:1.72;font-size:clamp(1.05rem,1.33vw,1.21rem);max-width:630px}
.eyebrow,.overline{letter-spacing:.16em;font-weight:600;font-size:12px}
.btn,.logo-arrow{border-radius:2px}.btn-light{background:#e4e8e5;color:#1a2633;font-weight:600}.btn-light:hover{background:#fff}.text-link{font-weight:550}
.hero-aside{background:transparent;backdrop-filter:none;border:0;border-left:1px solid rgba(222,233,237,.35);box-shadow:none;padding:13px 0 10px 30px;margin:0}
.hero-aside h2{font-size:clamp(1.6rem,2vw,2.05rem);font-weight:550}.aside-kicker{color:#b3c4cc;font-weight:550}.aside-row{padding:18px 2px;color:#d3dde2;font-size:15px}.aside-row b{color:#abc2d7}.aside-row:hover,.aside-row:focus-visible{background:rgba(236,241,239,.07);padding-left:8px;padding-right:8px}.aside-chevron{color:#b4c9d6}
.proof,.services,.approach{background:#fdfcf9}.why{background:#f5f4f0}.solutions{background:#eeefec}
.section-pad{padding:112px 0}.section-head h2,.section-title,.proof .section-head h2,.why .section-head h2{font-weight:590;letter-spacing:-.065em}
.proof-metrics{background:#243444;border:0}.proof-metric:first-child{border-color:rgba(222,231,233,.22)}.proof-metric:not(:first-child){border-color:rgba(222,231,233,.22)}
.proof-markets strong{color:#283743}.proof-platforms h3{font-weight:570}.proof-credential{background:transparent;border:0;border-top:1px solid #ccd4d3;min-height:106px;padding:18px 10px}.proof-credential:hover{transform:none;border-color:#667e98}.proof-credential small{color:#6e7d83}
.proof-credential:last-child .proof-credential-brand img{transform:scale(1.72);transform-origin:left center}
.client-logo,.client-logo:not(:nth-child(4n+1)),.client-logo:nth-child(n+5){background:#fff;border-color:#e2e4e0}
.why-main{background:#243444;border:0}.why-support{gap:22px}.why-card{background:transparent;border:0;border-top:1px solid #c8ceca;padding:26px 0 15px;min-height:315px}.why-card .why-number{border:0;padding:0}.why-card h3{font-weight:590}.why-mission{color:#2a3a44}
.why-support{grid-template-columns:repeat(2,minmax(0,1fr))}.why-card{min-height:0}.services-foot{justify-content:flex-end;margin-top:22px}
.service-index a{border:0;border-bottom:1px solid #a7b6bc;color:#2d4d6b;border-radius:0;padding:8px 2px;margin-right:14px;font-weight:550}.service-index a:hover{background:transparent;border-color:#2d4d6b}
.service-family{grid-template-columns:minmax(220px,.52fr) minmax(0,1.48fr);gap:6%;padding:58px 0 66px}.family-index{color:#667f8b;font-size:12px;letter-spacing:.16em;margin-bottom:22px}.family-heading h3{max-width:320px;margin-bottom:32px}.family-stack{max-width:320px;border-top:1px solid #c7d0cf;padding-top:16px}.stack-label{display:block;color:#6b7d81;font-size:11px;font-weight:650;letter-spacing:.12em;text-transform:uppercase;margin-bottom:11px}.family-stack p{max-width:none;color:#344a57;font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.offer-list{gap:18px}.offer{background:#f4f4f0;border:0;border-top:1px solid #c9cfcc;padding:24px 26px 29px;min-height:0}.offer-index{display:block;color:#587081;font-size:12px;letter-spacing:.13em;font-weight:650;margin-bottom:24px}.offer h4{font-weight:590;font-size:20px;line-height:1.23;margin-bottom:15px}.offer p{font-size:15px;line-height:1.63;color:#596971}.offer:hover{border-color:#496987}
.scenario-grid{gap:22px}.scenario{border:0;border-top:1px solid #bfc9c6;background:#fdfcf9;padding:27px 25px 28px}.scenario:hover{border-color:#54718d;transform:none}.scenario h3{font-weight:590}
.approach-note{background:#eef1ed;border-left:2px solid #637e89;color:#30434a}.step h3{font-weight:590}
.continuity{background:#dce2df}.continuity .overline{color:#345363}.continuity p{color:#354c50}
.contact{background:#1a2633}.contact:after{display:none}.contact-inner{gap:10%}.contact h2{font-weight:590}
.contact-form{background:#f5f4f0;border:0;color:#24313b;padding:30px;gap:18px}.field label{color:#283942;font-weight:600}.field input,.field select,.field textarea{background:#fff;border:1px solid #c9d0ce;color:#22313a;border-radius:2px}.field input::placeholder,.field textarea::placeholder{color:#748185}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #5c7e9b}.contact-form .btn{background:#253d51;color:#fff}.contact-form .btn:hover{background:#172938}.contact-form .btn:disabled{opacity:.55;cursor:wait;transform:none}.form-note,.selected-need{color:#596b70!important}.selected-need{color:#395768!important}.form-status{grid-column:1/-1;min-height:1.5em;color:#294f50;font-size:14px;line-height:1.5;margin:0}.form-status.error{color:#9c4236}.form-status.success{color:#2b6954}
.footer{background:#131e29}.footer-brand{font-weight:650}
@media(max-width:760px){.container{width:min(1200px,calc(100% - 40px))}.hero{padding:79px 0 67px}.hero h1{font-size:clamp(3.15rem,10vw,5rem)}.hero-aside{margin:56px 0 0;padding-left:22px}.section-pad{padding:80px 0}.why-support{grid-template-columns:1fr}.why-card{min-height:0;padding-bottom:24px}.service-family{grid-template-columns:1fr;gap:25px;padding:43px 0 49px}.family-heading h3{margin-bottom:21px}.family-stack{max-width:620px}.offer-list{grid-template-columns:1fr}.contact-inner{padding:78px 0 84px}}
@media(max-width:540px){.brand{font-size:20px}.hero h1{font-size:clamp(3rem,11.8vw,4.1rem)}.offer{min-height:0}.contact-form{padding:22px}}

section[hidden]{display:none!important}

/* A compact, typographic business-situation selector. */
.situation-section{background:#e7ebe5;padding:90px 0 86px;border-top:1px solid #d4dcd2}
.situation-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:9%}.situation-heading .overline{color:#526c62;margin-bottom:27px}.situation-heading h2{font-size:clamp(3rem,5.3vw,5.25rem);font-weight:550;line-height:1.02;letter-spacing:-.075em;margin:0 0 24px}.situation-heading p{font-size:15px;color:#5e7168;max-width:230px;line-height:1.6;margin:0}
.situation-options{border-top:1px solid #b9c8bb}.situation-option{width:100%;display:grid;grid-template-columns:10px minmax(0,1fr) 24px;align-items:center;gap:18px;border:0;border-bottom:1px solid #c4cfc3;background:transparent;color:#607268;text-align:left;padding:17px 0;cursor:pointer;transition:color .2s,padding .2s}.situation-option span:nth-child(2){font-size:clamp(1.1rem,1.9vw,1.55rem);font-weight:500;letter-spacing:-.045em;line-height:1.25}.situation-dot{width:7px;height:7px;border-radius:50%;border:1px solid #82988a;transition:background .2s}.situation-arrow{font-size:24px;opacity:0;transform:translate(-4px,4px);transition:opacity .2s,transform .2s}.situation-option:hover,.situation-option.is-active{color:#203f33}.situation-option:hover{padding-left:6px}.situation-option.is-active .situation-dot{background:#2f624a;border-color:#2f624a}.situation-option.is-active .situation-arrow,.situation-option:hover .situation-arrow{opacity:1;transform:translate(0,0)}.situation-option:focus-visible{outline:2px solid #375e4b;outline-offset:4px}
.situation-response{display:flex;align-items:flex-start;gap:25px;justify-content:space-between;padding-top:24px;min-height:102px}.situation-response p{margin:0;max-width:340px;font-size:14px;line-height:1.6;color:#52665a}.situation-response a{font-size:14px;white-space:nowrap;font-weight:600;color:#244936;border-bottom:1px solid #718d78;padding:0 0 5px}.situation-response a span{margin-left:10px}
@media(max-width:900px){.situation-layout{gap:6%;grid-template-columns:.6fr 1.4fr}.situation-response{flex-direction:column;gap:16px}}
@media(max-width:760px){.situation-section{padding:62px 0}.situation-layout{grid-template-columns:1fr;gap:32px}.situation-heading h2 br{display:none}.situation-heading h2{font-size:3.2rem;margin-bottom:15px}.situation-heading .overline{margin-bottom:20px}.situation-heading p{max-width:none}.situation-option{gap:12px;padding:17px 0}.situation-option span:nth-child(2){font-size:1.22rem}.situation-response{min-height:0}.situation-response p{max-width:100%}}
@media(prefers-reduced-motion:reduce){.situation-option,.situation-dot,.situation-arrow{transition:none}}

/* Keep each scenario and its explanation together. */
.situation-heading h2{font-size:clamp(2.6rem,4.2vw,3.9rem);line-height:1.08;letter-spacing:-.065em}
.situation-item{border-bottom:1px solid #b9c8bb}.situation-option{border-bottom:0;list-style:none;font-family:inherit}.situation-option::-webkit-details-marker{display:none}.situation-option span:nth-child(2){font-size:clamp(1.1rem,1.7vw,1.4rem)}.situation-item[open] .situation-option{color:#203f33}.situation-item[open] .situation-dot{background:#2f624a;border-color:#2f624a}.situation-arrow{opacity:1;transform:none;color:#527261;font-size:23px;text-align:center}.situation-item[open] .situation-arrow{transform:rotate(45deg)}.situation-description{margin:0 42px 22px 28px;color:#294738;font-size:16px;line-height:1.65;max-width:540px}.situation-response{justify-content:flex-end;min-height:0;padding-top:25px}
@media(max-width:900px){.situation-response{align-items:flex-end}}
@media(max-width:760px){.situation-heading h2{font-size:2.65rem;max-width:420px}.situation-description{margin-left:22px;margin-right:28px;font-size:16px}.situation-option span:nth-child(2){font-size:1.17rem}}

/* Keep the services introduction compact and balanced. */
.services .section-head{grid-template-columns:1.15fr .85fr;gap:8%;align-items:center;margin-bottom:40px}
.services .section-head h2{font-size:clamp(2rem,3.8vw,3.25rem);line-height:1.12;letter-spacing:-.055em;max-width:none}
.services .section-head h2 span{display:block;white-space:nowrap}
.services .section-head>p{font-size:17px;line-height:1.65;max-width:440px;margin:24px 0 0}
@media(max-width:760px){.services .section-head{grid-template-columns:1fr;gap:20px;margin-bottom:35px}.services .section-head h2{font-size:clamp(1.75rem,5.7vw,2.75rem)}.services .section-head>p{margin:0;max-width:540px;font-size:16px}}

.services .section-head{display:block;margin-bottom:38px}

/* Service directions: discoverable summaries, one expanded direction. */
.service-group{border-top:1px solid #cbd2ce;scroll-margin-top:28px}.service-group:last-of-type{border-bottom:1px solid #cbd2ce}
.service-summary{display:grid;grid-template-columns:32px minmax(0,1fr) auto 32px;gap:23px;align-items:center;padding:28px 0;cursor:pointer;list-style:none;color:#263a43}.service-summary::-webkit-details-marker{display:none}.service-summary-number{font-size:12px;color:#7a8a8c;letter-spacing:.1em}.service-summary-copy h3{font-size:clamp(1.4rem,2.3vw,2rem);line-height:1.2;letter-spacing:-.045em;font-weight:550;margin:0 0 9px}.service-summary-copy p{font-size:14px;line-height:1.6;color:#66777a;margin:0}.service-count{font-size:12px;color:#66777a;white-space:nowrap}.service-toggle{display:grid;place-items:center;font-size:27px;font-weight:400;width:32px;height:32px;border:1px solid #c1ccc7;border-radius:50%;line-height:1;transition:background .2s,color .2s}.service-summary:hover .service-toggle{background:#e5ebe5;color:#244936}.service-summary:focus-visible{outline:2px solid #3e6255;outline-offset:5px}.service-group[open] .service-toggle{background:#263e34;border-color:#263e34;color:#fff;font-size:0}.service-group[open] .service-toggle:after{content:'−';font-size:25px}.service-group[open] .service-summary-copy h3{color:#244936}
.service-group .service-family{border-top:0;padding:9px 0 38px;gap:5%;grid-template-columns:minmax(180px,.5fr) minmax(0,1.5fr)}.service-group .family-stack{border-top:0;padding-top:4px}.service-group .offer{padding:22px 24px 25px}.service-group .offer-index{margin-bottom:16px}.service-group--consulting .service-family{display:block}.service-group--consulting .offer-list{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){.service-summary{grid-template-columns:22px minmax(0,1fr) 28px;gap:12px;padding:24px 0}.service-summary-copy h3{font-size:1.45rem;margin-bottom:8px}.service-summary-copy p{font-size:13px}.service-count{grid-column:2;grid-row:2;margin-top:-6px}.service-toggle{grid-column:3;grid-row:1 / span 2;width:28px;height:28px}.service-group .service-family{grid-template-columns:1fr;gap:22px;padding:0 0 28px}.service-group .family-stack{max-width:none;padding-bottom:4px}.service-group .offer{padding:22px}.service-group--consulting .offer-list{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.service-toggle{transition:none}}
