@font-face{font-family:"Source Sans 3";font-weight:400;font-style:normal;src:url(/assets/SourceSans3-Regular-BqTI-3mA.woff2)format("woff2")}@font-face{font-family:"Source Sans 3";font-weight:400;font-style:italic;src:url(/assets/SourceSans3-It-CKnmOrYX.woff2)format("woff2")}@font-face{font-family:"Source Sans 3";font-weight:600;font-style:normal;src:url(/assets/SourceSans3-Semibold-BQV5CVwD.woff2)format("woff2")}@font-face{font-family:"Source Sans 3";font-weight:700;font-style:normal;src:url(/assets/SourceSans3-Bold-gn7Db9ke.woff2)format("woff2")}@font-face{font-family:Schibsted Grotesk;font-weight:400 700;font-style:normal;font-display:swap;src:url(/assets/SchibstedGrotesk-Variable-DxefFeRw.woff2)format("woff2")}@page{size:Letter;margin:.5in .6in}@media print{.resume{--font-size:10.4pt;--line-height:1.34;--header-gap:10pt;--section-gap:12pt;--job-gap:8pt;--group-gap:7pt;--bullet-gap:2.6pt;--max-width:none;--pad:0}.resume .contact-links{display:none}.resume .skill-label:after{content:":"}}@media screen{.resume{--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-display:3rem;--line:1.5rem;--font-size:var(--text-md);--line-height:var(--line);--header-gap:0;--section-gap:var(--space-7);--job-gap:0;--group-gap:var(--space-5);--bullet-gap:var(--space-2);--pad-left:var(--space-7);--pad:var(--space-8) var(--space-7) 6rem var(--pad-left)}}@media screen and (width>=1100px){:root:has(.resume){font-size:clamp(16px,.365854vw + 11.9756px,19px)}.resume{--pad-left:clamp(48px, calc(48px + (100vw - 1100px) * 144 / 820), 192px)}}:root:has(.resume){--bg:#fff;--ink:#1a1d21;--muted:#5b626b;--accent:#1f5f8b;--rule:#d6dbe0}@media screen{:root:has(.resume){--bg:#fff;--ink:#0b0b0c;--muted:#6a6a6e;--accent:#2f4fa8;--rule:#d4d4d8;--highlight:#2f4fa814;--selection:#2f4fa82e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}@media screen and (prefers-color-scheme:dark){:root:has(.resume){--bg:#0e0e0e;--ink:#f4f4f4;--muted:#9a9aa0;--accent:#7d97e0;--rule:#3a3a3e;--highlight:#7d97e021;--selection:#7d97e052;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root:has(.resume){background:var(--bg)}:root:has(.resume) body{background:var(--bg)}.resume{-webkit-print-color-adjust:exact;print-color-adjust:exact;box-sizing:border-box;max-width:var(--max-width);padding:var(--pad);color:var(--ink);font-family:"Source Sans 3",Helvetica Neue,Arial,sans-serif;font-size:var(--font-size);line-height:var(--line-height);font-variant-ligatures:none;text-rendering:geometricprecision;margin:0 auto}.resume *{box-sizing:border-box}.resume a{color:inherit}.resume header{margin-bottom:var(--header-gap)}.resume h1{margin:0;font-size:2.115em;font-weight:700;line-height:1.1}.resume .headline{color:var(--accent);margin:.17em 0 .33em;font-size:1.154em;font-weight:400}.resume .contact{color:var(--muted);margin:0;font-size:.962em}.resume .contact a{text-decoration:none}.resume h2{text-transform:uppercase;color:var(--accent);border-bottom:.75pt solid var(--rule);margin:var(--section-gap) 0 .6em;padding-bottom:.2em;font-size:.923em;font-weight:700}.resume p{margin:0 0 .38em}.resume .job{margin-bottom:var(--job-gap)}.resume .job-head,.resume .role{justify-content:space-between;align-items:baseline;gap:1.15em;display:flex}.resume .company{margin:0;font-size:1.077em;font-weight:700}.resume .co-title{font-size:.946em;font-weight:400}.resume .meta{color:var(--muted);white-space:nowrap;font-size:.923em}.resume .loc+.dates:before{content:" · "}.resume .role{margin:.38em 0 .19em}.resume .role-title{margin:0;font-size:1.019em;font-weight:600}.resume .intro{margin:.19em 0}.resume h4{color:var(--muted);margin:var(--group-gap) 0 .24em;font-size:.942em;font-weight:600}.resume ul{margin:0;padding-left:1.15em}.resume li{margin:0 0 var(--bullet-gap);padding-left:.1em}.resume li::marker{color:var(--muted)}.resume strong{font-weight:600}.resume .job.short,.resume li{break-inside:avoid}.resume h2,.resume .job-head,.resume .role,.resume h4{break-after:avoid}.resume .section-skills ul{padding-left:0;list-style:none}@media screen{.resume{--label-col:8rem;--gutter:8rem;--col-gap:var(--space-6);--measure:40rem;--job-pad:var(--space-4);--max-width:calc(var(--label-col) + var(--gutter) + var(--measure) + 2 * var(--col-gap) + var(--pad-left) + var(--space-7));font-variant-ligatures:normal;text-rendering:optimizelegibility;margin:0;font-family:Schibsted Grotesk,Helvetica Neue,Arial,sans-serif}.resume a{text-underline-offset:.15em}.resume a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.resume ::selection{background:var(--selection)}.resume p,.resume li{text-wrap:pretty}.resume h1{font-size:var(--text-display);letter-spacing:-.035em;line-height:var(--text-display)}.resume .headline{color:var(--ink);font-size:var(--text-xl);letter-spacing:-.01em;margin:var(--space-2) 0 0;line-height:1.75rem}.resume .contact{font-size:var(--text-sm);margin-top:var(--space-2);line-height:1.25rem}.resume .contact-email{display:none}.resume .contact-links{vertical-align:top;align-items:center;height:1.25rem;display:inline-flex}.resume .contact .sep{margin:0 var(--space-3)}.resume .contact-links a{color:var(--muted);margin:-14px;padding:14px;transition:color .15s;display:inline-flex}.resume .contact-links a:hover,.resume .contact-links a:focus-visible{color:var(--accent)}.resume .contact-links svg{width:1rem;height:1rem}.resume section{grid-template-columns:var(--label-col) minmax(0, 1fr);column-gap:var(--col-gap);border-top:1px solid var(--rule);padding-top:var(--space-4);margin-top:var(--section-gap);align-items:baseline;display:grid}.resume h2{font-size:var(--text-xs);letter-spacing:.04em;color:var(--ink);border:0;margin:0;padding:0;line-height:1rem}.resume p{margin:0}.resume .section-summary p,.resume .section-education p{margin-left:calc(var(--gutter) + var(--col-gap));max-width:var(--measure)}.resume .job{grid-template-columns:var(--gutter) minmax(0, var(--measure));column-gap:var(--col-gap);isolation:isolate;padding:var(--space-3) var(--job-pad);margin:0 calc(-1 * var(--job-pad));display:grid;position:relative}.resume .job:before{content:"";z-index:-1;background:linear-gradient(to bottom, var(--highlight), transparent 80%);opacity:0;transition:opacity .25s;position:absolute;inset:0}.resume .job:hover:before{opacity:1}.resume .job-head,.resume .role{grid-column:1/-1;grid-template-columns:subgrid;grid-auto-flow:dense;align-items:baseline;gap:0 var(--col-gap);display:grid}.resume .job>*,.resume .company,.resume .role-title,.resume .loc{grid-column:2}.resume .job>.job-head,.resume .job>.role{grid-column:1/-1}.resume .meta,.resume .job-head .dates{text-align:right;font-size:var(--text-sm);line-height:var(--line);white-space:normal;font-variant-numeric:tabular-nums;grid-column:1}.resume .job-head .meta{display:contents}.resume .loc{text-align:left;color:var(--muted);font-size:var(--text-sm);font-variant-numeric:normal;line-height:1.25rem}.resume .loc+.dates:before{content:none}.resume .job-head+.role{margin-top:var(--space-2)}.resume .company{font-size:var(--text-lg);line-height:var(--line);letter-spacing:-.01em}.resume .co-title{font-size:1em}.resume .role{margin:0}.resume .role-title{font-size:var(--text-md)}.resume .intro{margin:var(--space-2) 0 0}.resume h4{font-size:var(--text-md);line-height:var(--line);color:var(--ink);margin:var(--group-gap) 0 var(--space-2);font-weight:600}.resume ul{margin:0;padding:0;list-style:none}.resume .job>ul:not(h4+ul){margin-top:var(--space-2)}.resume .job li{padding-left:var(--space-4);position:relative}.resume .job li:before{content:"–";position:absolute;left:0}.resume .section-skills li{grid-template-columns:var(--gutter) minmax(0, var(--measure));column-gap:var(--col-gap);padding:0;display:grid}.resume .skill-label{text-align:right;font-size:var(--text-sm)}}@media screen and (prefers-reduced-motion:reduce){.resume .job:before,.resume .contact-links a{transition:none}}@media screen and (width<=1055px){.resume section{display:block}.resume h2{margin-bottom:var(--space-4)}.resume .section-experience h2{margin-bottom:calc(var(--space-4) - var(--space-3))}}@media screen and (width<=720px){.resume{--pad:var(--space-6) var(--space-4) var(--space-8)}.resume h1{font-size:2.5rem;line-height:2.75rem}.resume section{display:block}.resume .section-summary p,.resume .section-education p{margin-left:0}.resume .job{display:block}.resume .job-head,.resume .role{flex-direction:column;gap:0;display:flex}.resume .meta{text-align:left}.resume .job-head .dates{font-size:var(--text-xs);letter-spacing:.02em;order:-1;line-height:1rem}.resume .loc{order:1}.resume .section-skills li{margin-bottom:var(--space-3);display:block}.resume .skill-label{text-align:left;display:block}}html,body{background:#000;min-height:100%;margin:0}.not-found{color:#aaa;padding:16px;font-family:system-ui,sans-serif}.not-found a{color:inherit}
