@page{margin:0.25in}@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400 700;font-display:swap;src:url("/fonts/source-sans-3-latin-normal.woff2") format("woff2");unicode-range:U+0000-00FF,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:'Source Sans 3';font-style:normal;font-weight:400 700;font-display:swap;src:url("/fonts/source-sans-3-latin-ext-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Source Sans 3';font-style:italic;font-weight:400 700;font-display:swap;src:url("/fonts/source-sans-3-latin-italic.woff2") format("woff2");unicode-range:U+0000-00FF,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:'Source Sans 3';font-style:italic;font-weight:400 700;font-display:swap;src:url("/fonts/source-sans-3-latin-ext-italic.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Source Sans Fallback';src:local("Arial"),local("Helvetica"),local("Liberation Sans"),local("DejaVu Sans");size-adjust:82%;ascent-override:120%;descent-override:33%;line-gap-override:0%}:root{--masthead-bg: #16324f;--masthead-fg: #fff;--masthead-link: #cfe0ef;--masthead-muted: #a9c3d9;--heading: #16324f;--accent: #2f6690;--accent-soft: #e7eef5;--rule: #d3dae3;--ink: #1a1d23;--muted: #56606e;--panel: #f2f5f9;--sheet: #fff;--page-bg: #e6e9ee;--kbd-bg: #16324f;--kbd-fg: #fff;--on-accent: #fff;--backdrop: 14, 35, 56;--shadow: 0, 0, 0;--font-body: 'Source Sans 3', 'Source Sans Fallback', 'Helvetica Neue', Arial, sans-serif;--font-head: var(--font-body)}@media (prefers-color-scheme: dark){:root:not([data-theme='light']){--masthead-bg: #0d1b28;--masthead-fg: #e9f0f7;--masthead-link: #9dc3e3;--masthead-muted: #7f9cb5;--heading: #9dc3e3;--accent: #6cb0e8;--accent-soft: #1b2a38;--rule: #2b3440;--ink: #dde5ed;--muted: #98a5b3;--panel: #161d25;--sheet: #10161d;--page-bg: #080b0f;--kbd-bg: #6cb0e8;--kbd-fg: #0d1b28;--on-accent: #0d1b28;--backdrop: 0, 0, 0;--shadow: 0, 0, 0}}:root[data-theme='dark']{--masthead-bg: #0d1b28;--masthead-fg: #e9f0f7;--masthead-link: #9dc3e3;--masthead-muted: #7f9cb5;--heading: #9dc3e3;--accent: #6cb0e8;--accent-soft: #1b2a38;--rule: #2b3440;--ink: #dde5ed;--muted: #98a5b3;--panel: #161d25;--sheet: #10161d;--page-bg: #080b0f;--kbd-bg: #6cb0e8;--kbd-fg: #0d1b28;--on-accent: #0d1b28;--backdrop: 0, 0, 0;--shadow: 0, 0, 0}html{font-size:var(--screen-font-size, 15px)}body{font-family:var(--font-body);font-optical-sizing:auto;line-height:1.35;color:var(--ink)}.name,.tagline,.sec-title,.skill-label,.dates,.job-title,.contact{font-family:var(--font-head)}.resume{max-width:8.5in;background:var(--sheet)}a{color:var(--accent)}.masthead{background:var(--masthead-bg);color:var(--masthead-fg);padding:1.1rem 1.3rem}.masthead a{color:var(--masthead-link);text-decoration:none}.name{font-size:2.2rem;font-weight:700;letter-spacing:0.015em;line-height:1;color:var(--masthead-fg)}.tagline{color:var(--masthead-muted);letter-spacing:0.06em;text-transform:uppercase;font-size:0.8rem;margin-top:0.3rem}.contact{font-size:0.9rem;line-height:1.55;color:var(--masthead-link)}.body-pad{padding:1rem 1.3rem 1.3rem}.sec-title{position:relative;font-size:0.8rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--heading);border-bottom:1px solid var(--rule);padding:0 0 0.2rem 0.6rem;margin-bottom:0.5rem}.sec-title::before{content:'';position:absolute;left:0;top:0.05em;bottom:0.35rem;width:3px;background:var(--accent)}.job{margin-bottom:0.8rem;padding-left:0.6rem;border-left:2px solid var(--accent-soft)}.job-title{font-size:1.05rem;font-weight:700;color:var(--heading)}.job-title .role{font-weight:400;color:var(--muted)}.dates{font-size:0.8rem;color:var(--heading);white-space:nowrap;background:var(--accent-soft);border-radius:2px;padding:0.05rem 0.4rem}.stack{font-size:0.83rem;color:var(--muted);margin:0.2rem 0 0.3rem;font-style:italic}.job ul,.earlier{margin-bottom:0;padding-left:1.05rem}.job li,.earlier li,.sidebar li{margin-bottom:0.22rem}.job li::marker,.sidebar li::marker{color:var(--accent)}.note{font-size:0.86rem;color:var(--muted);font-style:italic;margin:0.35rem 0 0}.doc-meta{font-size:0.82rem;color:var(--muted);border-top:1px solid var(--rule);padding-top:0.3rem}.sidebar{background:var(--panel);border-top:3px solid var(--accent);padding:0.8rem 0.9rem;font-size:0.9rem}.sidebar ul{padding-left:1rem;margin-bottom:0}.skill-label{font-size:0.76rem;font-weight:700;letter-spacing:0.07em;text-transform:uppercase;color:var(--accent);margin-bottom:0.08rem}.skill-value{color:var(--ink);margin-bottom:0.5rem;padding-bottom:0.5rem;border-bottom:1px dotted var(--rule)}.skill-value:last-of-type{border-bottom:none}.proj-name,.up-name{font-weight:700;color:var(--heading)}.toolbar{padding:8px;gap:4px;touch-action:manipulation}#help-dialog{max-width:480px;border:none;border-radius:6px;padding:18px 21px 16px;font-size:14px;background:var(--sheet);color:var(--ink);box-shadow:0 8px 40px rgba(var(--shadow), 0.3)}#help-dialog,#help-dialog::backdrop{transition:opacity 240ms ease, transform 240ms ease, overlay 240ms ease allow-discrete, display 240ms ease allow-discrete}#help-dialog{opacity:0;transform:translateY(-8px) scale(0.98)}#help-dialog[open]{opacity:1;transform:none}#help-dialog::backdrop{background:rgba(var(--backdrop), 0)}#help-dialog[open]::backdrop{background:rgba(var(--backdrop), 0.45)}@starting-style{#help-dialog[open]{opacity:0;transform:translateY(-8px) scale(0.98)}#help-dialog[open]::backdrop{background:rgba(var(--backdrop), 0)}}@media (prefers-reduced-motion: reduce){#help-dialog,#help-dialog::backdrop{transition:none}#help-dialog{transform:none}}#help-dialog h2{font-size:12px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--heading);border-bottom:1px solid var(--rule);padding-bottom:5px;margin-bottom:11px}#help-dialog dl{margin:0 0 14px}#help-dialog dt{font-weight:700;color:var(--heading)}#help-dialog dd{margin:0 0 8px;color:var(--muted)}#help-dialog .btn{font-size:13px;line-height:1.4;padding:4px 9px;border-radius:4px}#help-dialog kbd{font-size:0.82em;padding:0.1em 0.4em;border-radius:3px;background:var(--kbd-bg);color:var(--kbd-fg)}.toolbar .btn{font-size:13px;line-height:1.4;padding:4px 9px;border-radius:4px}.toolbar .btn i{width:1em}.expand-btn{flex:0 0 auto;width:1.35rem;height:1.35rem;line-height:1;padding:0;font-size:0.95rem;font-weight:700;color:var(--accent);background:var(--accent-soft);border:1px solid var(--rule);border-radius:3px;cursor:pointer}.expand-btn:hover,.expand-btn:focus-visible{color:var(--on-accent);background:var(--accent)}.collapsible{display:grid;grid-template-rows:0fr}.collapsible.is-open{grid-template-rows:1fr}.collapsible-inner{overflow:hidden;min-height:0}#earlier.is-expanded #earlier-title{visibility:hidden}#earlier.is-expanded .earlier-head{margin-bottom:-0.35rem}@media screen{body{background:var(--page-bg)}.resume{box-shadow:0 2px 20px rgba(var(--shadow), 0.14);border-radius:5px;overflow:hidden;margin:12px auto}.resume.is-wide{max-width:none;width:auto;margin:12px}}@media screen and (max-width: 575.98px){.resume,.resume.is-wide{margin:0;border-radius:0}}.layout-single .sidebar{margin-top:1rem}@media screen and (max-width: 767.98px){.sidebar{margin-top:1rem}}@media print{.extra,.d-print-none{display:none !important}#earlier-compact-wrap{display:block !important}#earlier-compact-wrap .collapsible-inner{overflow:visible}html{font-size:9.25pt !important}.resume.is-wide{max-width:none;margin:0}:root,:root[data-theme]{--masthead-bg: #16324f;--masthead-fg: #fff;--masthead-link: #cfe0ef;--masthead-muted: #a9c3d9;--heading: #16324f;--accent: #2f6690;--accent-soft: #e7eef5;--rule: #d3dae3;--ink: #1a1d23;--muted: #56606e;--panel: #f2f5f9;--sheet: #fff;--kbd-bg: #16324f;--kbd-fg: #fff;--on-accent: #fff}body{background:#fff;line-height:1.18}.resume{max-width:none;padding:0 !important;box-shadow:none;border-radius:0}a{color:var(--heading);text-decoration:none}.masthead,.sidebar,.dates,.sec-title::before,.job{-webkit-print-color-adjust:exact;print-color-adjust:exact}.masthead{padding:0.4rem 0.6rem}.body-pad{padding:0.45rem 0.6rem 0.5rem}.tagline{margin-top:0.1rem}.mt-3,.mb-3{margin-top:0.45rem !important;margin-bottom:0.45rem !important}.sidebar{padding:0.45rem 0 0;border-top-width:2px}.skill-value{margin-bottom:0.22rem;padding-bottom:0.22rem}.job{margin-bottom:0.35rem;padding-left:0.45rem}#layout{display:block !important;columns:2;column-gap:0.2in;margin:0.35rem 0 0 !important;--bs-gutter-x: 0;--bs-gutter-y: 0}#col-main,#col-side{display:block !important;width:100% !important;max-width:none !important;padding:0 !important}#col-side{background:transparent;border-left:none;border-top:1px solid #c9cdd6;margin-top:0.4rem;padding:0.3rem 0 0 !important}.name{font-size:1.55rem}.job{margin-bottom:0.4rem;break-inside:avoid}.job li,.earlier li,.sidebar li{margin-bottom:0.05rem}.sec-title{margin-bottom:0.2rem;break-after:avoid}.job-title{font-size:1rem;break-after:avoid}.stack{margin:0.05rem 0 0.15rem}section{break-inside:auto}}
