@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/952f0fd261157ce3-s.95c89ce6.woff2)format("woff2");unicode-range:U+460-52F,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(../media/69169fb36b2bd6d2-s.9088d160.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/fce1204c21d111e2-s.cf6d2485.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/7a0633ae85d274ff-s.0cd2b6b8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,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(../media/d9e1577adfc6a783-s.a06adfee.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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(../media/37a1c0476297a605-s.p.a6734a9c.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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(../media/952f0fd261157ce3-s.95c89ce6.woff2)format("woff2");unicode-range:U+460-52F,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(../media/69169fb36b2bd6d2-s.9088d160.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/fce1204c21d111e2-s.cf6d2485.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/7a0633ae85d274ff-s.0cd2b6b8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,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(../media/d9e1577adfc6a783-s.a06adfee.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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(../media/37a1c0476297a605-s.p.a6734a9c.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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(../media/952f0fd261157ce3-s.95c89ce6.woff2)format("woff2");unicode-range:U+460-52F,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(../media/69169fb36b2bd6d2-s.9088d160.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/fce1204c21d111e2-s.cf6d2485.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/7a0633ae85d274ff-s.0cd2b6b8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,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(../media/d9e1577adfc6a783-s.a06adfee.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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(../media/37a1c0476297a605-s.p.a6734a9c.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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(../media/7fea77d1d19108bf-s.c949a514.woff2)format("woff2");unicode-range:U+460-52F,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(../media/1bcd0e671759a44c-s.a3ed597e.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.319fa961.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.323431dc.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,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(../media/57215795b8570f5c-s.0f2c7ba8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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(../media/03fc1b4a8d284b5e-s.p.af4fcd24.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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(../media/7fea77d1d19108bf-s.c949a514.woff2)format("woff2");unicode-range:U+460-52F,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(../media/1bcd0e671759a44c-s.a3ed597e.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.319fa961.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.323431dc.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,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(../media/57215795b8570f5c-s.0f2c7ba8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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(../media/03fc1b4a8d284b5e-s.p.af4fcd24.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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(../media/7fea77d1d19108bf-s.c949a514.woff2)format("woff2");unicode-range:U+460-52F,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(../media/1bcd0e671759a44c-s.a3ed597e.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.319fa961.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.323431dc.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,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(../media/57215795b8570f5c-s.0f2c7ba8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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(../media/03fc1b4a8d284b5e-s.p.af4fcd24.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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.0%;size-adjust:101.17%}.ibm_plex_sans_b5c66729-module__RgfF6G__className{font-family:IBM Plex Sans,IBM Plex Sans Fallback}.ibm_plex_sans_b5c66729-module__RgfF6G__variable{--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(../media/51ec8e0fe9ebb3f0-s.3ca3e51e.woff2)format("woff2");unicode-range:U+460-52F,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(../media/357feaf7912a2dfb-s.3059f279.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-weight:500;font-display:swap;src:url(../media/62fd0305a59369bc-s.b0c35944.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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(../media/9346dec8b3acbbe6-s.p.ffc2b5d4.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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(../media/41df4dbb54e2206b-s.afade352.woff2)format("woff2");unicode-range:U+460-52F,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(../media/c1e4e80b39132551-s.4aee65ab.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(../media/97020cc4f40e723d-s.d42af773.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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(../media/d273130dc90e6d8b-s.p.ae1e4c30.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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.0%;size-adjust:91.3%}.ibm_plex_sans_condensed_f6f021c4-module__sPfHda__className{font-family:IBM Plex Sans Condensed,IBM Plex Sans Condensed Fallback;font-style:normal}.ibm_plex_sans_condensed_f6f021c4-module__sPfHda__variable{--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:#fff;--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;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--paper:#151c20;--surface:#1b2429;--ink:#e3eae7;--muted:#97a6ab;--rule:#2c3a40;--signal:#46b884;--signal-ink:#0c1a13;--signal-soft:#1c3a2d;--track:#c9d4d0}}*,:before,:after{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;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;margin:0;font-size:1.0625rem;line-height:1.6}h1,h2,h3,p,ul,ol,dl,dd{margin:0}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}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);padding-inline:var(--gutter);margin-inline:auto}.topbar{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);position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;gap:1rem;min-height:3.5rem;display:flex}.wordmark{font-family:var(--font-display),var(--font-sans),sans-serif;letter-spacing:.005em;font-size:1.125rem;font-weight:600;text-decoration:none}.topnav{align-items:center;gap:1.25rem;font-size:.9375rem;display:flex}.topnav a{color:var(--muted);text-decoration:none}.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);margin-bottom:1.25rem;font-size:1rem}.hero-title{font-family:var(--font-display),var(--font-sans),sans-serif;letter-spacing:-.012em;text-wrap:balance;max-width:21ch;font-size:clamp(2.25rem,5.2vw,4rem);font-weight:600;line-height:1.05}.hero-intro{max-width:var(--measure);color:var(--muted);margin-top:1.5rem;font-size:1.1875rem;line-height:1.55}.signal{align-items:flex-start;gap:.65rem;margin-top:1.75rem;font-weight:500;display:flex}.lamp{background:var(--signal);width:.75rem;height:.75rem;box-shadow:0 0 0 4px var(--signal-soft);border-radius:50%;flex:none;margin-top:.45em;animation:2.4s ease-in-out infinite lamp}@keyframes lamp{0%,to{box-shadow:0 0 0 4px var(--signal-soft)}50%{box-shadow:0 0 0 7px var(--signal-soft)}}.actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.button{border:1px solid var(--rule);background:var(--surface);min-height:2.75rem;color:var(--ink);border-radius:6px;align-items:center;padding:0 1.1rem;font-weight:500;text-decoration:none;display:inline-flex}.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{border-top:1px solid var(--rule);padding-block:clamp(2.75rem,6vw,4.5rem)}.block h2,.contact h2{font-family:var(--font-display),var(--font-sans),sans-serif;margin-bottom:1.75rem;font-size:clamp(1.625rem,3vw,2.125rem);font-weight:600;line-height:1.15}.block-lede{color:var(--muted);margin-top:-1rem;margin-bottom:2rem}.services{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1.75rem 3rem;max-width:56rem;display:grid}.service dt{margin-bottom:.25rem;font-weight:600}.service dd{color:var(--muted)}.work-list{gap:2.75rem;display:grid}.work{max-width:var(--measure)}.work-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1.5rem;display:flex}.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{color:var(--muted);margin-top:.75rem;padding-left:1.1rem}.work-points li+li{margin-top:.35rem}.work-link{color:var(--signal);margin-top:1rem;font-weight:500;display:inline-block}.track{padding:0;list-style:none;position:relative}.track:before{content:"";top:.55rem;bottom:.5rem;left:var(--track-x);background:var(--track);border-radius:2px;width:4px;margin-left:-2px;position:absolute}.station{grid-template-columns:var(--track-x)1fr;padding-bottom:2.25rem;display:grid;position:relative}.station:before{content:"";left:var(--track-x);background:var(--paper);border:3px solid var(--track);border-radius:50%;width:1rem;height:1rem;margin-left:-.5rem;position:absolute;top:.4rem}.station-now:before{background:var(--signal);border-color:var(--signal);box-shadow:0 0 0 4px var(--signal-soft)}.station-dates{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums;padding-top:.1rem;padding-right:1.5rem;font-size:.9375rem}.station-now .station-dates{color:var(--signal);font-weight:600}.station-body{max-width:calc(var(--measure) + 2rem);padding-left: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:.5rem}.station{grid-template-columns:1fr}.station-dates{text-align:left;padding:0 0 .15rem 2rem}.station:before{top:.35rem}}.skills{gap:1rem;max-width:52rem;display:grid}.skill{grid-template-columns:11rem 1fr;gap:.25rem 1.5rem;display:grid}.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{font-family:var(--font-display),var(--font-sans),sans-serif;color:var(--signal);word-break:break-all;margin-top:1.25rem;font-size:clamp(1.5rem,4vw,2.25rem);font-weight:600;text-decoration:none;display:inline-block}.contact-email:hover{text-decoration:underline}.contact-links{flex-wrap:wrap;gap:.75rem 1.5rem;margin-top:1.25rem;display:flex}.contact-links a{align-items:center;gap:.45rem;font-weight:500;display:inline-flex}.facts{border-top:1px solid var(--rule);grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:1.25rem 2rem;margin-top:2.75rem;padding-top:1.75rem;font-size:.9375rem;display:grid}.facts dt{font-weight:600}.facts dd{color:var(--muted)}.colophon{color:var(--muted);margin-top:2.5rem;font-size:.875rem}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.lamp{animation:none}}@media print{.topbar,.actions{display:none}body{color:#000;background:#fff}}
