:root{color-scheme:light;--color-canvas:#f3f7f8;--color-surface:#fff;--color-ink:#14262f;--color-muted:#587079;--color-route:#2b7a78;--color-tally:#d84a3e;--color-rule:#b8c8cd;--font-sans:var(--font-archivo), Archivo, Arial, sans-serif;--content-width:1240px;--page-gutter:clamp(20px, 5.1vw, 76px);--space-section:clamp(76px, 10vw, 136px)}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--color-canvas);scroll-padding-top:28px}body{color:var(--color-ink);background:var(--color-canvas);font-family:var(--font-sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:18px;font-weight:400;line-height:1.62}a{color:inherit;text-underline-offset:.2em}a:hover{color:var(--color-route)}a:focus-visible,button:focus-visible{outline:3px solid var(--color-tally);outline-offset:4px;border-radius:2px}::selection{color:var(--color-surface);background:var(--color-route)}.wrap{width:min(100% - (2 * var(--page-gutter)), var(--content-width));margin-inline:auto}.skip-link{z-index:10;color:var(--color-surface);background:var(--color-ink);padding:10px 14px;position:absolute;top:12px;left:12px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-header{border-bottom:1px solid var(--color-rule);justify-content:space-between;align-items:center;gap:24px;min-height:82px;display:flex}.wordmark{color:var(--color-ink);letter-spacing:-.04em;flex:none;font-size:17px;font-weight:700;text-decoration:none}.site-header nav{justify-content:flex-end;align-items:center;gap:clamp(14px,2.5vw,34px);font-size:14px;font-weight:600;display:flex}.site-header nav a{white-space:nowrap;text-decoration:none}.page-main{padding-bottom:20px}.split-section{grid-template-columns:minmax(150px,2.6fr) minmax(0,9.4fr);column-gap:clamp(24px,4.2vw,64px);display:grid}.signal-rail{color:var(--color-muted);align-items:flex-start;gap:12px;padding-top:11px;font-size:13px;line-height:1.35;display:flex;position:relative}.rail-node{z-index:1;border:2px solid var(--color-route);background:var(--color-canvas);width:10px;height:10px;box-shadow:0 0 0 4px var(--color-canvas);border-radius:50%;flex:none;margin-top:3px;position:relative}.signal-rail:after{top:23px;bottom:calc(-1 * var(--space-section) + 14px);content:"";background:var(--color-rule);width:1px;position:absolute;left:4px}.rail-label{max-width:120px}.rail-index{font-variant-numeric:tabular-nums}.hero{border-bottom:1px solid var(--color-rule);align-items:center;min-height:610px;padding-block:clamp(72px,11vw,142px) 120px;position:relative;overflow:clip}.hero .signal-rail{align-self:start;padding-top:16px}.hero .signal-rail:after{bottom:-490px}.hero-copy{z-index:1;max-width:820px;padding-right:clamp(0px,5vw,64px);position:relative}.section-kicker,.story-theme{color:var(--color-muted);margin:0 0 18px;font-size:14px;font-weight:600;line-height:1.4}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.065em;max-width:850px;margin-bottom:24px;font-size:clamp(48px,7.1vw,92px);font-weight:630;font-stretch:90%;line-height:.99}.hero-intro{color:#314a54;max-width:650px;margin-bottom:30px;font-size:clamp(17px,1.65vw,20px);line-height:1.65}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.button{border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;gap:13px;min-height:46px;padding:10px 16px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.button-primary{color:var(--color-surface);background:var(--color-ink)}.button-primary:hover{color:var(--color-surface);background:#29434c}.button-secondary{border-color:var(--color-rule);background:#ffffff73}.button-secondary:hover{border-color:var(--color-route);background:var(--color-surface)}.hero-utilities{color:var(--color-muted);flex-wrap:wrap;gap:23px;margin:28px 0 0;padding:0;font-size:14px;list-style:none;display:flex}.hero-route{z-index:0;opacity:.45;pointer-events:none;width:34%;height:440px;position:absolute;top:82px;right:3%}.route-track{border:1px solid var(--color-route);border-left:0;border-radius:0 80px 80px 0;width:38%;height:92%;position:absolute;top:25px;right:14%}.route-track:before,.route-track:after{content:"";background:var(--color-route);width:82%;height:1px;position:absolute;left:0}.route-track:before{top:28%}.route-track:after{top:69%}.route-orbit,.route-endpoint{z-index:1;border:3px solid var(--color-route);background:var(--color-canvas);border-radius:50%;width:16px;height:16px;position:absolute}.route-orbit{top:22%;right:47%;box-shadow:0 0 0 8px #2b7a7814}.route-endpoint{border-color:var(--color-tally);bottom:-1px;right:12%}.route-caption{color:var(--color-muted);font-size:12px;position:absolute;bottom:42px;right:0}.content-section{padding-top:var(--space-section);border-bottom:1px solid var(--color-rule)}.section-body{min-width:0;padding-bottom:var(--space-section)}.section-heading{max-width:790px;margin-bottom:47px}.section-heading h2,.footer-main h2,.not-found h1{letter-spacing:-.06em;max-width:780px;margin-bottom:18px;font-size:clamp(36px,5vw,62px);font-weight:600;line-height:1.04}.section-intro{max-width:580px;color:var(--color-muted);margin-bottom:0}.work-list{border-top:1px solid var(--color-rule)}.work-story{border-bottom:1px solid var(--color-rule);grid-template-columns:52px minmax(0,1fr);column-gap:20px;padding:34px 0 39px;display:grid}.story-route{position:relative}.story-route:after{content:"";background:var(--color-rule);width:1px;position:absolute;top:27px;bottom:-39px;left:14px}.work-story:last-child .story-route:after{display:none}.route-pin{z-index:1;border:2px solid var(--color-route);background:var(--color-canvas);border-radius:50%;width:11px;height:11px;margin:6px 9px;display:block;position:relative}.story-theme{margin-bottom:8px;font-size:13px}.story-copy h3{letter-spacing:-.045em;max-width:680px;margin-bottom:12px;font-size:clamp(24px,3vw,34px);font-weight:580;line-height:1.16}.story-copy p:not(.story-theme){color:#314a54;max-width:680px;margin-bottom:13px}.story-detail{font-size:16px}.route-steps{flex-wrap:wrap;gap:0;margin-top:21px;display:flex}.route-steps span{color:var(--color-muted);align-items:center;font-size:13px;display:inline-flex}.route-steps span+span:before{content:"";background:var(--color-route);width:26px;height:1px;margin-inline:11px;display:inline-block}.approach-body .section-heading{margin-bottom:38px}.approach-list,.experience-list{margin:0;padding:0;list-style:none}.approach-list{border-top:1px solid var(--color-rule)}.approach-list li{border-bottom:1px solid var(--color-rule);grid-template-columns:52px minmax(0,1fr);align-items:baseline;gap:20px;padding:19px 0;font-size:clamp(18px,2vw,22px);display:grid}.step-number{color:var(--color-route);font-variant-numeric:tabular-nums;font-size:13px}.experience-list{border-top:1px solid var(--color-rule)}.experience-item{border-bottom:1px solid var(--color-rule);grid-template-columns:minmax(145px,2.3fr) minmax(0,7.7fr);gap:clamp(20px,4vw,58px);padding:24px 0 25px;display:grid}.experience-period{color:var(--color-muted);font-variant-numeric:tabular-nums;font-size:14px}.experience-item h3{letter-spacing:-.03em;margin-bottom:3px;font-size:20px;font-weight:600;line-height:1.3}.experience-employer{color:var(--color-route);margin-bottom:9px;font-size:15px;font-weight:600}.experience-item div>p:last-child{max-width:680px;color:var(--color-muted);margin-bottom:0;font-size:16px}.site-footer{padding-block:88px 28px}.footer-main{border-bottom:1px solid var(--color-rule);grid-template-columns:minmax(0,1fr) minmax(220px,.58fr);gap:48px;padding-bottom:70px;display:grid}.footer-main h2{margin-bottom:15px}.footer-location{color:var(--color-muted);margin-bottom:0;font-size:15px}.contact-links{grid-template-columns:1fr 1fr;align-self:end;gap:12px 20px;margin:0;padding:0 0 5px;list-style:none;display:grid}.contact-links a{text-underline-offset:5px;font-size:16px;font-weight:600;text-decoration-thickness:1px}.contact-links span{color:var(--color-route)}.footer-bottom{color:var(--color-muted);justify-content:space-between;align-items:center;gap:20px;padding-top:22px;font-size:13px;display:flex}.footer-bottom p{margin:0}.footer-bottom a:last-child{white-space:nowrap}.not-found{flex-direction:column;justify-content:center;align-items:flex-start;min-height:64vh;padding-block:70px;display:flex}.not-found h1{max-width:670px}.not-found>p:not(.section-kicker){max-width:540px;color:var(--color-muted)}.not-found .button{margin-top:10px}@media (width<=900px){.split-section{grid-template-columns:minmax(125px,2fr) minmax(0,10fr);column-gap:24px}.hero-route{opacity:.27;width:40%;right:-8%}.footer-main{grid-template-columns:1fr;gap:30px}.contact-links{max-width:460px}}@media (width<=650px){body{font-size:17px}.site-header{flex-direction:column;justify-content:center;align-items:flex-start;gap:9px;min-height:70px;padding-block:13px}.site-header nav{flex-wrap:wrap;justify-content:flex-start;gap:8px 15px;width:100%;font-size:13px}.split-section{grid-template-columns:minmax(0,1fr)}.signal-rail{padding-top:0}.signal-rail:after{display:none}.hero{min-height:auto;padding-block:54px 70px}.hero .signal-rail{margin-bottom:25px;padding-top:0}.hero-copy{padding-right:0}.hero-route{display:none}h1{max-width:540px;font-size:clamp(46px,13vw,67px);line-height:1.02}.hero-intro{max-width:580px}.hero-actions .button{flex:auto}.content-section{padding-top:65px}.section-body{padding-top:24px;padding-bottom:68px}.section-heading{margin-bottom:31px}.work-story{grid-template-columns:35px minmax(0,1fr);gap:14px;padding-block:26px 30px}.story-route:after{bottom:-30px}.route-steps span+span:before{width:17px;margin-inline:7px}.experience-item{grid-template-columns:1fr;gap:4px;padding-block:21px}.experience-period{margin-bottom:3px}.site-footer{padding-top:66px}.footer-main{padding-bottom:48px}.footer-bottom{flex-wrap:wrap;justify-content:flex-start}.footer-bottom p{flex-basis:100%;order:1}}@media (width<=360px){:root{--page-gutter:18px}.site-header nav{gap:8px 11px;font-size:12px}h1{font-size:44px}.hero-actions .button{width:100%}.contact-links{grid-template-columns:1fr}}@media (prefers-reduced-motion:no-preference){.hero-route .route-track{transform-origin:100% 0;animation:1.1s ease-out both route-draw}.hero-route .route-endpoint{animation:.45s ease-out .7s both tally-light}@keyframes route-draw{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}@keyframes tally-light{0%{box-shadow:0 0 #d84a3e00}to{box-shadow:0 0 0 8px #d84a3e1a}}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
