@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/917cd3630643261c-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/253c2da0d6db7fb7-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/aeeb8f17b662c1cb-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/fefa56e0a0c044be-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/76a592a1c919d78c-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/24f44be2cf98e6f7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/917cd3630643261c-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/253c2da0d6db7fb7-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/aeeb8f17b662c1cb-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/fefa56e0a0c044be-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/76a592a1c919d78c-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/24f44be2cf98e6f7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/917cd3630643261c-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/253c2da0d6db7fb7-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/aeeb8f17b662c1cb-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/fefa56e0a0c044be-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/76a592a1c919d78c-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/24f44be2cf98e6f7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans Fallback;src:local("Arial");ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.00%;size-adjust:101.17%}.__className_d9b6e0{font-family:IBM Plex Sans,IBM Plex Sans Fallback}.__variable_d9b6e0{--font-sans:"IBM Plex Sans","IBM Plex Sans Fallback"}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/fefcfb7fc4270794-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/57ae37ea47392cbf-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b7f17d2c714c30ba-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98b2a1b09904fcf6-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/37e2d5c72304c4e3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/495b76260b7d577d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/62a6b0fff08b59dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/f3bd7e38ce097e28-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans Condensed Fallback;src:local("Arial");ascent-override:112.27%;descent-override:30.12%;line-gap-override:0.00%;size-adjust:91.30%}.__className_25ede5{font-family:IBM Plex Sans Condensed,IBM Plex Sans Condensed Fallback;font-style:normal}.__variable_25ede5{--font-display:"IBM Plex Sans Condensed","IBM Plex Sans Condensed Fallback"}:root{--paper:#eef1f0;--surface:#f7f9f8;--ink:#172227;--muted:#55646b;--rule:#c9d2cf;--signal:#17784f;--signal-ink:#ffffff;--signal-soft:#d6ebe0;--track:#24343b;--font-sans:ui-sans-serif,system-ui,sans-serif;--font-display:var(--font-sans);--measure:42rem;--frame:68rem;--gutter:clamp(1.25rem,4vw,2.5rem);--track-x:9rem;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--paper:#151c20;--surface:#1b2429;--ink:#e3eae7;--muted:#97a6ab;--rule:#2c3a40;--signal:#46b884;--signal-ink:#0c1a13;--signal-soft:#1c3a2d;--track:#c9d4d0}}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif;font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body,dd,dl,h1,h2,h3,ol,p,ul{margin:0}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}a:hover{color:var(--signal)}:focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:2px}.frame{width:100%;max-width:var(--frame);margin-inline:auto;padding-inline:var(--gutter)}.topbar{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--paper) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.5rem}.wordmark{font-family:var(--font-display),var(--font-sans),sans-serif;font-weight:600;font-size:1.125rem;text-decoration:none;letter-spacing:.005em}.topnav{display:flex;align-items:center;gap:1.25rem;font-size:.9375rem}.topnav a{text-decoration:none;color:var(--muted)}.topnav a:hover{color:var(--ink)}.topnav .topnav-cv{color:var(--ink);border:1px solid var(--rule);border-radius:6px;padding:.3rem .7rem}@media (max-width:34rem){.topnav a:not(.topnav-cv){display:none}}.hero{padding-block:clamp(3.5rem,10vw,7rem) clamp(3rem,7vw,5rem)}.hero-who{color:var(--muted);font-size:1rem;margin-bottom:1.25rem}.hero-title{font-family:var(--font-display),var(--font-sans),sans-serif;font-weight:600;font-size:clamp(2.25rem,5.2vw,4rem);line-height:1.05;letter-spacing:-.012em;max-width:21ch;text-wrap:balance}.hero-intro{margin-top:1.5rem;max-width:var(--measure);font-size:1.1875rem;line-height:1.55;color:var(--muted)}.signal{display:flex;align-items:flex-start;gap:.65rem;margin-top:1.75rem;font-weight:500}.lamp{flex:none;margin-top:.45em;width:.75rem;height:.75rem;border-radius:50%;background:var(--signal);box-shadow:0 0 0 4px var(--signal-soft);animation:lamp 2.4s ease-in-out infinite}@keyframes lamp{0%,to{box-shadow:0 0 0 4px var(--signal-soft)}50%{box-shadow:0 0 0 7px var(--signal-soft)}}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.button{display:inline-flex;align-items:center;min-height:2.75rem;padding:0 1.1rem;border:1px solid var(--rule);border-radius:6px;background:var(--surface);color:var(--ink);font-weight:500;text-decoration:none}.button:hover{border-color:var(--ink);color:var(--ink)}.button-primary{background:var(--signal);border-color:var(--signal);color:var(--signal-ink)}.button-primary:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}.block{padding-block:clamp(2.75rem,6vw,4.5rem);border-top:1px solid var(--rule)}.block h2,.contact h2{font-family:var(--font-display),var(--font-sans),sans-serif;font-weight:600;font-size:clamp(1.625rem,3vw,2.125rem);line-height:1.15;margin-bottom:1.75rem}.block-lede{color:var(--muted);margin-top:-1rem;margin-bottom:2rem}.services{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1.75rem 3rem;max-width:56rem}.service dt{font-weight:600;margin-bottom:.25rem}.service dd{color:var(--muted)}.work-list{display:grid;gap:2.75rem}.work{max-width:var(--measure)}.work-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem 1.5rem}.work h3{font-size:1.25rem;font-weight:600;line-height:1.3}.work-context{color:var(--muted);font-size:.9375rem}.work-summary{margin-top:.5rem}.work-points{margin-top:.75rem;padding-left:1.1rem;color:var(--muted)}.work-points li+li{margin-top:.35rem}.work-link{display:inline-block;margin-top:1rem;font-weight:500;color:var(--signal)}.track{position:relative;list-style:none;padding:0}.track:before{content:"";position:absolute;top:.55rem;bottom:.5rem;left:var(--track-x);width:4px;margin-left:-2px;background:var(--track);border-radius:2px}.station{position:relative;display:grid;grid-template-columns:var(--track-x) 1fr;padding-bottom:2.25rem}.station:before{content:"";position:absolute;left:var(--track-x);top:.4rem;width:1rem;height:1rem;margin-left:-.5rem;border-radius:50%;background:var(--paper);border:3px solid var(--track)}.station-now:before{background:var(--signal);border-color:var(--signal);box-shadow:0 0 0 4px var(--signal-soft)}.station-dates{padding-right:1.5rem;text-align:right;font-size:.9375rem;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding-top:.1rem}.station-now .station-dates{color:var(--signal);font-weight:600}.station-body{padding-left:2rem;max-width:calc(var(--measure) + 2rem)}.station h3{font-size:1.0625rem;font-weight:600;line-height:1.4}.station-company{font-weight:400}.station-place{color:var(--muted);font-size:.9375rem}.station-body ul{margin-top:.5rem;padding-left:1.1rem}.station-body li+li{margin-top:.25rem}.station:last-child{padding-bottom:0}@media (max-width:40rem){:root{--track-x:0.5rem}.station{grid-template-columns:1fr}.station-dates{text-align:left;padding:0 0 .15rem 2rem}.station:before{top:.35rem}}.skills{display:grid;gap:1rem;max-width:52rem}.skill{display:grid;grid-template-columns:11rem 1fr;gap:.25rem 1.5rem}.skill dt{font-weight:600}.skill dd{color:var(--muted)}@media (max-width:40rem){.skill{grid-template-columns:1fr}}.contact{background:var(--surface);border-top:1px solid var(--rule);padding-block:clamp(3rem,7vw,5rem) 2.5rem}.contact-lede{color:var(--muted);max-width:var(--measure)}.contact-email{display:inline-block;margin-top:1.25rem;font-family:var(--font-display),var(--font-sans),sans-serif;font-weight:600;font-size:clamp(1.5rem,4vw,2.25rem);color:var(--signal);text-decoration:none;word-break:break-all}.contact-email:hover{text-decoration:underline}.contact-links{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;margin-top:1.25rem}.contact-links a{display:inline-flex;align-items:center;gap:.45rem;font-weight:500}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:1.25rem 2rem;margin-top:2.75rem;padding-top:1.75rem;border-top:1px solid var(--rule);font-size:.9375rem}.facts dt{font-weight:600}.colophon,.facts dd{color:var(--muted)}.colophon{margin-top:2.5rem;font-size:.875rem}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.lamp{animation:none}}@media print{.actions,.topbar{display:none}body{background:#fff;color:#000}}