@font-face{font-family:Manrope;font-style:normal;font-weight:600 700;font-display:swap;src:url('/assets/fonts/manrope-600.woff2') format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400 600;font-display:swap;src:url('/assets/fonts/source-sans-400.woff2') format('woff2')}
:root{
  color-scheme:light;
  --ink:#071931;--ink-elevated:#153047;--graphite:#262626;--slate:#5f6b73;
  --canvas:#f7f8f6;--surface:#fff;--mist:#dce3e5;--teal:#007c7a;--cyan:#00d7d2;
  --font-heading:Manrope,Arial,sans-serif;--font-body:'Source Sans 3',Arial,sans-serif;
  --h1:clamp(2.5rem,4.5vw,4rem);--h2:clamp(2rem,3.5vw,3rem);--h3:clamp(1.5rem,2.3vw,1.875rem);
  --body:1.125rem;--lead:1.25rem;--label:.8125rem;--radius:8px;--radius-media:12px;
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;
  --space-12:48px;--space-16:64px;--space-24:96px;--space-32:128px;
  --gutter:48px;--measure:1200px;--section-space:96px;--transition:200ms ease-out;
}
*{box-sizing:border-box}
html{scroll-padding-top:24px;scrollbar-color:var(--slate) var(--canvas)}
body{margin:0;background:var(--canvas);color:var(--graphite);font:400 var(--body)/1.6 var(--font-body);-webkit-font-smoothing:antialiased}
::selection{background:var(--ink);color:var(--surface)}
img,svg{max-width:100%;vertical-align:middle}
img{height:auto}
button,input,select{font:inherit}
button,summary{cursor:pointer}
button{color:inherit}
a{color:var(--ink);text-underline-offset:.22em;text-decoration-thickness:1px}
a:visited{color:var(--ink-elevated)}
a:hover{text-decoration-thickness:2px}
a:active{color:var(--teal)}
:focus-visible{outline:3px solid var(--teal);outline-offset:5px}
[hidden]{display:none!important}
h1,h2,h3,h4{font-family:var(--font-heading);color:var(--ink);margin:0 0 var(--space-6);text-wrap:balance}
h1{font-size:var(--h1);line-height:1.06;font-weight:600;letter-spacing:-.035em}
h2{font-size:var(--h2);line-height:1.13;font-weight:600;letter-spacing:-.025em}
h3{font-size:var(--h3);line-height:1.25;font-weight:600;letter-spacing:-.02em}
h4{font-size:1.125rem;line-height:1.4}
p{margin:0 0 var(--space-6);max-width:66ch}
ul,ol{padding-left:1.25em;margin:0 0 var(--space-6)}
li+li{margin-top:var(--space-3)}
strong{font-weight:600}
.wrap{width:min(var(--measure),calc(100% - var(--gutter)*2));margin-inline:auto}
.section{padding-block:var(--section-space)}
.section-white{background:var(--surface)}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-8)}
.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}.span-8{grid-column:span 8}
.label{font-size:var(--label);line-height:1.5;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--slate)}
.lead{font-size:var(--lead);line-height:1.6;max-width:57ch}
.muted{color:var(--slate)}
.skip-link{position:absolute;left:20px;top:12px;z-index:10;transform:translateY(-180%);background:var(--ink);color:var(--surface);padding:12px 24px;border-radius:var(--radius)}
.skip-link:focus{transform:none;color:var(--surface)}
.site-header{border-bottom:1px solid var(--mist);background:var(--canvas)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);min-height:104px;position:relative}
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font:600 23px/1 var(--font-heading);color:var(--ink);min-height:48px;white-space:nowrap}
.brand img{width:48px;height:36px;object-fit:contain;background:var(--ink);padding:6px;border-radius:var(--radius)}
.brand-text span{font-weight:400}
.nav{display:flex;align-items:center;gap:var(--space-8)}
.nav>a{display:inline-flex;align-items:center;min-height:48px;text-decoration:none;font-size:1rem;font-weight:600}
.nav>a:not(.button):hover,.nav>a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px}
.menu-toggle{display:none;align-items:center;gap:8px;min-height:48px;padding:8px 12px;border:1px solid var(--mist);border-radius:var(--radius);background:var(--surface)}
.menu-toggle svg{width:20px;height:20px}
.button,.button:visited{display:inline-flex;justify-content:center;align-items:center;gap:16px;background:var(--ink);color:var(--surface);min-height:48px;border:1px solid transparent;border-radius:var(--radius);padding:12px 24px;text-decoration:none;font-weight:600;font-size:1rem;line-height:1.45;transition:background-color var(--transition),color var(--transition);text-align:center}
.button:hover{background:var(--ink-elevated);color:var(--surface)}
.button:active{background:var(--graphite)}
.button.teal{background:var(--teal)}
.button.teal:hover{background:var(--ink-elevated)}
.button.secondary,.button.secondary:visited{background:transparent;border-color:var(--ink);color:var(--ink)}
.button.secondary:hover{background:var(--mist)}
.button:disabled{background:var(--mist);color:var(--slate);cursor:not-allowed}
.button svg,.text-link svg{width:20px;height:20px;flex-shrink:0}
.actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:32px}
.text-link{display:inline-flex;align-items:center;gap:12px;min-height:48px;font-weight:600}
.hero{padding-block:80px 88px}
.hero .label{margin-bottom:24px}
.hero-home{grid-column:span 8;max-width:820px}
.hero-home h1{max-width:18ch}
.hero-side{grid-column:span 4;padding-top:8px;align-self:end}
.pathway{margin:0;padding:32px;background:var(--ink);border-radius:var(--radius-media);color:var(--surface)}
.pathway figcaption{font:600 1.125rem/1.5 var(--font-heading);margin-bottom:24px;color:var(--surface)}
.pathway ol{list-style:none;padding:0;margin:0}
.pathway li{padding:16px 0;margin:0;border-top:1px solid var(--ink-elevated);position:relative}
.pathway strong{display:block;font-family:var(--font-heading);font-size:1.125rem;color:var(--surface)}
.pathway span{font-size:1rem;color:var(--mist)}
.pathway li::before{content:'';width:6px;height:6px;background:var(--cyan);border-radius:50%;position:absolute;right:0;top:27px}
.pathway p{font-size:.9375rem;margin:24px 0 0;color:var(--mist)}
.section-head{margin-bottom:48px;max-width:750px}
.needs{border-top:1px solid var(--mist);border-bottom:1px solid var(--mist);padding:48px 0}
.needs h2{font-size:var(--h3);margin-bottom:12px}
.needs p{font-size:1.0625rem;margin-bottom:16px}
.needs .label{display:block;margin-bottom:12px}
.service-row{display:grid;grid-template-columns:1fr 1.05fr 40px;gap:32px;align-items:center;padding:32px 0;border-top:1px solid var(--mist);text-decoration:none}
.service-row:has(+.supporting){border-bottom:1px solid var(--mist)}
.service-row.is-priority :is(h2,h3){font-weight:700}
.service-row :is(h2,h3){margin-bottom:8px}.service-row p{margin:0;color:var(--graphite);font-size:1.0625rem}.service-row .label{display:block;margin-bottom:12px}
.service-row svg{width:28px;height:28px;justify-self:end}
.service-row:hover :is(h2,h3){text-decoration:underline;text-underline-offset:6px}
.supporting{margin-top:32px;display:flex;align-items:center;gap:16px 32px;flex-wrap:wrap}
.supporting p{margin:0}
.ink-section{background:var(--ink);color:var(--mist)}
.ink-section h2,.ink-section h3,.ink-section strong,.ink-section a,.ink-section a:visited{color:var(--surface)}
.ink-section .label{color:var(--cyan)}
.ink-section :focus-visible{outline-color:var(--cyan)}
.ink-section .button,.ink-section .button:visited{color:var(--ink);background:var(--surface)}
.ink-section .button:hover{background:var(--mist)}
.decision-list{list-style:none;padding:0;margin:0}
.decision-list li{border-top:1px solid var(--ink-elevated);padding:20px 0;margin:0;display:flex;gap:20px;align-items:baseline}
.decision-list span{color:var(--cyan);font-size:.875rem;font-variant-numeric:tabular-nums}
.steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:40px 0 0;padding:0;counter-reset:step}
.steps li{counter-increment:step;margin:0;padding-top:24px;border-top:1px solid var(--mist)}
.steps li::before{content:'0' counter(step);display:block;color:var(--teal);font-weight:600;margin-bottom:24px;font-variant-numeric:tabular-nums}
.steps h3{font-size:1.5rem;margin-bottom:12px}.steps p{font-size:1.0625rem}
.values-line{font-family:var(--font-heading);font-size:1.5rem;line-height:1.5;color:var(--ink);max-width:28ch}
.insights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
.insight{border-top:1px solid var(--mist);padding-top:24px}
.insight h3{font-size:1.5rem;margin-top:16px}.insight h3 a{text-decoration:none}.insight h3 a:hover{text-decoration:underline}
.insight p{font-size:1.0625rem}
.closing{display:flex;align-items:center;justify-content:space-between;gap:48px}
.closing h2{max-width:19ch;margin-bottom:16px}.closing p{margin-bottom:0;max-width:50ch}
.closing>.button{flex-shrink:0}
.site-footer{padding:64px 0 24px;background:var(--canvas);border-top:1px solid var(--mist)}
.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr;gap:64px;margin-bottom:48px}
.footer-main .brand{margin-bottom:20px}.footer-main p{font-size:1rem;max-width:30ch}
.footer-main h2{font-size:1rem;letter-spacing:0;margin-bottom:12px}
.footer-main ul{list-style:none;padding:0;margin:0}.footer-main li{margin:0}.footer-main li a{display:inline-flex;align-items:center;min-height:48px;font-size:1rem}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--mist);padding-top:24px;font-size:.875rem}
.footer-bottom p{margin:0}.footer-bottom div{display:flex;gap:24px;flex-wrap:wrap}.footer-bottom a{display:inline-flex;align-items:center;min-height:48px}
.breadcrumb{font-size:1rem;margin-bottom:32px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.breadcrumb a{min-height:48px;display:inline-flex;align-items:center}
.service-hero{max-width:860px}.service-hero h1{max-width:21ch}.service-hero .lead{max-width:58ch}
.service-intro{display:grid;grid-template-columns:7fr 4fr;gap:64px;align-items:end}
.engagement-note{border-top:1px solid var(--mist);padding-top:24px}.engagement-note p{font-size:1rem}
.section-split{display:grid;grid-template-columns:4fr 7fr;gap:96px}
.section-split>div:first-child h2{max-width:15ch}
.reading{max-width:68ch}
.lined-list{list-style:none;padding:0;margin:0}.lined-list li{padding:20px 0;border-top:1px solid var(--mist);margin:0}.lined-list strong{display:block;color:var(--ink);font-size:1.1875rem;margin-bottom:4px}
.scope{padding:32px;background:var(--canvas);border-radius:var(--radius-media)}
.scope h3{font-size:1.25rem;margin-bottom:12px}.scope p:last-child{margin-bottom:0}
.questions details{border-top:1px solid var(--mist);padding:0}.questions details:last-child{border-bottom:1px solid var(--mist)}
.questions summary{padding:24px 32px 24px 0;font-size:1.1875rem;font-weight:600;color:var(--ink);min-height:72px}.questions summary:hover{text-decoration:underline;text-underline-offset:4px}.questions details p{padding:0 32px 24px 0;margin:0}
.search-controls{display:flex;gap:24px;flex-wrap:wrap;align-items:end;margin-bottom:32px}.search-controls>div{flex:1;min-width:min(250px,100%)}
.search-controls label{display:block;font-size:1rem;font-weight:600;margin-bottom:8px}
input,select{min-height:48px;padding:12px 16px;background:var(--surface);border:1px solid var(--slate);border-radius:var(--radius);color:var(--ink);width:100%;caret-color:var(--teal)}
input::placeholder{color:var(--slate)}
input:disabled{background:var(--mist)}
input:user-invalid{outline:2px solid var(--graphite);outline-offset:2px}
.post-list{display:grid;gap:0}.post-entry{display:grid;grid-template-columns:2fr 5fr;gap:48px;border-top:1px solid var(--mist);padding:32px 0}.post-entry h2{font-size:1.75rem}.post-entry h2 a{text-decoration:none}.post-entry h2 a:hover{text-decoration:underline}.post-entry p:last-child{margin:0}.post-meta{font-size:1rem;color:var(--slate)}
.filter-status{min-height:1.6em;color:var(--slate);font-size:1rem}
.post-list.is-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.post-list.is-grid .post-entry{display:block}.post-list.is-grid .post-meta{margin-bottom:16px}
@media(max-width:760px){.post-list.is-grid{grid-template-columns:1fr}}
@media(max-width:1000px){:root{--gutter:32px;--section-space:64px}.header-inner{min-height:88px}.hero{padding-block:64px}.hero-home{grid-column:span 7}.hero-side{grid-column:span 5}.section-split{gap:48px}.service-intro{gap:32px}.nav{gap:24px}.footer-main{gap:32px}}
@media(max-width:760px){:root{--gutter:20px;--section-space:64px}.header-inner{flex-wrap:wrap;gap:0;min-height:80px;padding-block:16px}.brand{font-size:21px}.menu-toggle{display:inline-flex}.nav{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:0;padding-top:16px}.nav>a{padding:12px 4px}.nav>a.button{margin-top:12px;padding:12px 16px}.js .nav:not(.is-open){display:none}.hero{padding-block:48px 64px}.hero-home,.hero-side,.span-4,.span-5,.span-6,.span-7,.span-8{grid-column:1/-1}.hero-home h1{max-width:20ch}.hero-side{padding-top:8px}.pathway{padding:24px}.pathway ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.pathway li::before{display:none}.pathway strong{font-size:1rem}.pathway span{font-size:.9375rem}.section-head{margin-bottom:32px}.needs{padding-block:32px}.needs .grid{gap:32px}.service-row{grid-template-columns:1fr 28px;gap:12px}.service-row>div{grid-column:1}.service-row>p{grid-column:1}.service-row>svg{grid-column:2;grid-row:1/3}.steps,.insights{grid-template-columns:1fr;gap:24px}.steps{margin-top:24px}.steps li::before{margin-bottom:16px}.closing{display:block}.closing .button{margin-top:32px}.footer-main{grid-template-columns:1fr 1fr;gap:32px}.footer-main>div:first-child{grid-column:1/-1}.footer-bottom{align-items:flex-start;flex-direction:column;gap:12px}.footer-bottom div{gap:16px}.service-intro,.section-split{grid-template-columns:1fr;gap:24px}.section-split>div:first-child h2{max-width:none}.post-entry{grid-template-columns:1fr;gap:12px}.service-hero h1{max-width:20ch}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}.button{transition:none}}

.service-row h2{font-size:var(--h3);line-height:1.25;letter-spacing:-.02em;font-weight:600}
