@font-face{font-family:Schibsted Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/_astro/schibsted-grotesk-latin-ext-wght-normal.hsMS0n0O.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Schibsted Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/_astro/schibsted-grotesk-latin-wght-normal.Bb8VGrTG.woff2)format("woff2-variations");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}.pt{--red:#e3241b;--ink:#000;--grey:#595959;--rule:#d9d9d9;--gap:12px;--pad:18px;--cols:4;color:var(--ink);padding:0 var(--pad);font-variant-numeric:lining-nums;--sec-fs:clamp(28px, 3vw, 44px);--sec-fs-stuck:22px;--top-h:0px;background:#fff;max-width:1440px;margin:0 auto;font-family:Schibsted Grotesk Variable,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.45}.pt a{color:inherit;text-decoration:none}.pt a:hover{text-underline-offset:3px;text-decoration:underline 2px}.pt :focus-visible{outline:3px solid var(--red);outline-offset:2px}.pt .g{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--gap);display:grid}.pt .g>*{grid-column:1/-1}.pt .lab{font-size:13px;font-weight:500;line-height:1.35}.pt .lab strong{font-weight:750}.pt .head{border-bottom:2px solid var(--ink);row-gap:6px;padding:14px 0}.pt .nav{display:none}.pt .hero{row-gap:20px;padding:36px 0 40px}.pt .name{letter-spacing:-.03em;font-size:clamp(36px,5vw,64px);font-weight:800;line-height:1}.pt .job{color:var(--red);margin-top:6px;font-size:clamp(18px,1.6vw,22px);font-weight:750}.pt .tagline{letter-spacing:-.015em;text-wrap:balance;max-width:22ch;margin-top:24px;font-size:clamp(22px,2.4vw,32px);font-weight:700;line-height:1.15}.pt .summary{text-wrap:pretty;align-self:end;max-width:60ch;font-size:18px}.pt .numbers{border-top:2px solid var(--ink);row-gap:24px;padding:16px 0 56px}.pt .num{grid-column:span 2}.pt .big{letter-spacing:-.05em;font-size:clamp(52px,7.5vw,112px);font-weight:800;line-height:.9}.pt .num:first-child .big{color:var(--red)}.pt .num-l{max-width:15rem;margin-top:8px;font-size:15px;font-weight:500}.pt .sect,.pt .contact{margin-top:64px}.pt .sec-head{top:var(--top-h);z-index:3;grid-template-columns:subgrid;border-top:6px solid var(--ink);font-size:var(--sec-fs);letter-spacing:-.03em;background:#fff;align-items:baseline;padding:12px 0 24px;font-weight:800;line-height:1.05;display:grid;position:sticky}.pt .sec-head.stuck{font-size:var(--sec-fs-stuck);margin-bottom:calc((var(--sec-fs) - var(--sec-fs-stuck)) * 1.05 + 18px);padding:8px 0 10px}.pt .sec-n{color:var(--red);grid-column:1/2}.pt .sec-t{grid-column:2/-1}.pt .sec-sub{color:var(--grey);white-space:nowrap;font-weight:400}.pt .filter-wrap{background:#fff;margin-bottom:16px;padding:10px 0}.pt .chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pt .chips:before{content:"Highlight a skill:";margin-right:4px;font-size:13px;font-weight:600}.pt .chip{font:inherit;border:1.5px solid var(--ink);cursor:pointer;background:#fff;min-height:32px;padding:4px 10px;font-size:13px;font-weight:600}.pt .chip:hover{background:#f2f2f2}.pt .chip[aria-pressed=true]{background:var(--red);border-color:var(--red);color:#fff}.pt .chip-reset{border-color:#0000;text-decoration:underline}.pt .chip-status{color:var(--red);flex-basis:100%;min-height:1.4em;margin-top:4px;font-size:13px;font-weight:600}.pt .map-wrap,.pt .map-wrap .tm{display:contents}.pt .map-wrap .tm>*{grid-column:1/-1}.pt .tm-scroll{margin-bottom:24px}.pt [id^=at-]{scroll-margin-top:calc(var(--top-h) + var(--head-h,0px) + 8px)}.pt .tm-legend{background:#fff;flex-wrap:wrap;gap:6px;padding:10px 0;display:flex}.pt .tm-key{font:inherit;border:1.5px solid var(--ink);cursor:pointer;background:#fff;align-items:center;gap:8px;min-height:32px;padding:4px 10px;font-size:13px;font-weight:600;display:inline-flex}.pt .tm-key:hover{background:#f2f2f2}.pt .tm-key[aria-pressed=true]{background:var(--ink);color:#fff}.pt .tm-key.tm-reset{border-color:#0000;text-decoration:underline}.pt .tm-swatch{background:var(--c);width:24px;height:6px}.pt .tm-key[aria-pressed=true] .tm-swatch{outline:1px solid #fff}.pt .tm-swatch.dashed{background:repeating-linear-gradient(90deg, var(--c) 0 3px, transparent 3px 7px)}.pt .tm-status{color:var(--grey);min-height:1.4em;margin-bottom:4px;font-size:13px;font-weight:600}.pt .tm-status b{color:var(--red)}.pt .tm-svg{user-select:none;width:100%;height:auto;display:block}.pt .tm-h{display:none}.pt .tm-v{max-width:390px}.pt .tm-track,.pt .tm-next{fill:none;stroke-width:7px;stroke-linejoin:round}.pt .tm-dashed{stroke-dasharray:2 8;stroke-linecap:round;stroke-width:5px}.pt .tm-next{stroke-dasharray:8 6;stroke-width:5px;opacity:.4}.pt .tm-line,.pt .tm-station{transition:opacity .2s}.pt .tm-line.dim,.pt .tm-station.dim{opacity:.12}.pt .tm-station{cursor:pointer;outline:none}.pt .tm-hit{fill:#0000}.pt .tm-ring,.pt .tm-link{fill:#fff;stroke:var(--ink);stroke-width:3px}.pt .tm-station.next .tm-ring{display:none}.pt .tm-station.next .tm-link{stroke-dasharray:5 4;stroke-width:2px}.pt .tm-station:hover .tm-ring,.pt .tm-station:hover .tm-link,.pt .tm-station.sel .tm-ring,.pt .tm-station.sel .tm-link{fill:var(--red)}.pt .tm-focus{fill:none;stroke:none}.pt .tm-station:focus-visible .tm-focus{stroke:var(--red);stroke-width:3px}.pt .tm-label{fill:var(--ink);font-size:13px;font-weight:700}.pt .tm-station:hover .tm-label,.pt .tm-station.sel .tm-label{fill:var(--red)}.pt .tm-station.sel .tm-leader{stroke:var(--red)}.pt .tm-sub,.pt .tm-year{fill:var(--grey);font-size:12px;font-weight:500}.pt .tm-leader{stroke:#b5b5b5;stroke-width:1px}.pt.rail{--rail-gap:16px;--rail-x0:14px;--rail-w:calc(2 * var(--rail-x0) + (var(--rail-lanes) - 1) * var(--rail-gap) + 8px);--st-y:34px}.pt.rail .role{padding-left:var(--rail-w);position:relative}.pt.rail .role-past{padding-bottom:20px}.pt.rail .role-past .r-sum{font-size:16px;font-weight:400}.pt.rail .r-year{font-size:clamp(28px,2.4vw,38px)}@media (width>=900px) and (width<=1279.98px){.pt.rail .r-year{grid-area:1/3/auto/6;margin-bottom:8px}.pt.rail .r-who{grid-row:2}.pt.rail .r-sum{grid-row:1/span 2;align-self:start}}.pt .role>.rail{width:var(--rail-w);pointer-events:none;grid-column:auto;position:absolute;inset:0 auto 0 0}.pt .rail-seg{background:var(--c);width:5px;position:absolute;transform:translate(-50%)}.pt .rail-seg.up{height:var(--st-y);top:0}.pt .rail-seg.down{top:var(--st-y);bottom:0}.pt .rail-seg.dotted{background:repeating-linear-gradient(to bottom, var(--c) 0 4px, transparent 4px 8px);width:4px}.pt .rail-seg.next{background:repeating-linear-gradient(to bottom, var(--c) 0 6px, transparent 6px 11px);opacity:.4}.rail .r-head{position:relative}.pt .r-head>.rail-stop{top:-2px;left:calc(-1 * var(--rail-w));width:var(--rail-w);pointer-events:none;grid-column:auto;position:absolute}.pt .rail-ring,.pt .rail-link{top:var(--st-y);border:3px solid var(--ink);background:#fff;position:absolute}.pt .rail-ring{border-radius:50%;width:16px;height:16px;transform:translate(-50%,-50%)}.pt .rail-link{box-sizing:content-box;border-radius:6px;height:4px;margin-left:-9px;padding-right:12px;transform:translateY(-50%)}.pt .rail-key{--key-row:15px;background:#fff;grid-column:1/-1;padding:4px 0 8px;font-size:12px;font-weight:600;line-height:1;position:relative}.pt .rail-key-names li{height:var(--key-row);padding-left:var(--rail-w);align-items:center;gap:8px;display:flex}.pt .rail-key-line{top:calc(4px + (var(--row) + .5) * var(--key-row) - 2.5px);bottom:0;left:calc(var(--rail-x0) + var(--lane) * var(--rail-gap) - 2.5px);right:calc(100% - var(--rail-w) + 6px);border:0 solid var(--c);border-width:5px 0 0 5px;border-top-left-radius:10px;position:absolute}.pt .rail-key-line.dotted,.pt .rail-key-run.dotted{border-style:dotted}.pt .rail-key-run{display:none}@media (width>=900px){.pt .rail-key{--key-row:var(--rail-gap)}.pt .rail-key-line{top:calc(4px + var(--row) * var(--key-row) + 3.5px);right:calc(100% - var(--rail-w))}.pt .rail-key-names{margin-left:var(--rail-w);align-items:flex-start;display:flex;overflow-x:clip}.pt .rail-key-names li{height:auto;margin-top:calc(var(--row) * var(--key-row));white-space:nowrap;padding:0 6px 0 0}.pt .rail-key-run{border-top:5px solid var(--c);flex:none;width:calc(100vw + 10px);height:0;margin-left:-100vw;display:block}}.pt .rail-swatch{background:var(--c);width:24px;height:5px}.pt .rail-swatch.dotted{background:repeating-linear-gradient(90deg, var(--c) 0 4px, transparent 4px 8px)}.pt .roles{grid-template-columns:subgrid;display:grid}.pt .role{grid-column:1/-1;grid-template-columns:subgrid;padding-bottom:36px;transition:opacity .2s;display:grid}.pt .role>*,.pt .r-head>*,.pt .r-detail>*{grid-column:1/-1}.pt .r-head,.pt .r-detail{grid-column:1/-1;grid-template-columns:subgrid;row-gap:12px;display:grid}.pt .r-head{border-top:2px solid var(--ink);background:#fff;padding-top:14px}.pt .r-detail{margin-top:16px}.pt .r-year{letter-spacing:-.05em;font-size:clamp(48px,5.4vw,80px);font-weight:800;line-height:.85}.pt .r-co{letter-spacing:-.02em;text-wrap:balance;font-size:clamp(22px,2vw,28px);font-weight:800;line-height:1.1}.pt .r-title{margin:4px 0 6px;font-weight:650}.pt .r-meta{color:var(--grey);font-size:14px}.pt .r-sum{text-wrap:pretty;margin-bottom:10px;font-size:18px;font-weight:650;line-height:1.3}.pt .r-hl{font-size:15.5px;line-height:1.5}.pt .r-hl>li{text-wrap:pretty;margin-bottom:8px}.pt .r-hl ul{margin-top:6px}.pt .r-hl ul li{margin-top:3px;padding-left:18px;position:relative}.pt .r-hl ul li:before{content:"";background:var(--red);width:6px;height:6px;position:absolute;top:calc(.75em - 3px);left:2px}.pt .r-stat{margin-bottom:12px;container-type:inline-size}.pt .r-stat-v{letter-spacing:-.04em;font-size:32px;font-weight:800;line-height:1;display:block}.pt .r-stat-v[data-long=true]{font-size:min(32px,14cqi)}.pt .r-stat-l{margin-top:4px;font-size:13px;display:block}.pt .r-skills{color:var(--grey);flex-wrap:wrap;gap:0 10px;font-size:13px;line-height:1.6;display:flex}.pt [data-match=false]{opacity:.25}.pt .role[data-match=true] .r-head{border-top-color:var(--red);border-top-width:6px}.pt .role[data-match=true] .r-year,.pt .proj[data-match=true] .proj-t{color:var(--red)}.pt #ai{row-gap:28px}.pt .proj{border-top:2px solid var(--ink);padding-top:10px;transition:opacity .2s}.pt .proj-status{color:var(--red);font-weight:700}.pt .proj-t{letter-spacing:-.02em;text-wrap:balance;margin:4px 0 8px;font-size:22px;font-weight:800;line-height:1.15}.pt .proj-x{text-wrap:pretty;font-size:15.5px}.pt .proj-h{color:var(--grey);margin-top:12px}.pt .proj-list{font-size:15.5px;line-height:1.5}.pt .proj-list li{text-wrap:pretty;margin-top:3px;padding-left:18px;position:relative}.pt .proj-list li:before{content:"";background:var(--red);width:6px;height:6px;position:absolute;top:calc(.75em - 3px);left:2px}.pt .rows{grid-template-columns:subgrid;display:grid}.pt .row{grid-column:1/-1;grid-template-columns:subgrid;border-top:2px solid var(--ink);row-gap:4px;padding:10px 0 18px;display:grid}.pt .row>*{grid-column:1/-1}.pt .row-yr{white-space:nowrap;letter-spacing:-.04em;font-size:clamp(24px,2.2vw,32px);font-weight:800;line-height:1}.pt .row-t{font-size:19px;font-weight:750}.pt .row-x p{color:var(--grey);text-wrap:pretty}.pt #skills{row-gap:24px}.pt .sk-group{grid-column:span 2}.pt .sk-h{border-top:2px solid var(--ink);margin-bottom:6px;padding-top:6px;font-weight:750}.pt .sk-group li{border-bottom:1px solid var(--rule);padding:4px 0;font-size:15px}.pt .sk-group li span{color:var(--grey);font-size:13px;display:block}.pt #about{row-gap:24px}.pt .photo{grid-column:1/3}.pt .photo img{filter:grayscale()contrast(1.15);width:100%;height:auto;display:block}.pt .about-x p{text-wrap:pretty;margin-bottom:14px;font-size:18px;line-height:1.45}.pt .side-h{border-top:2px solid var(--ink);margin-bottom:4px;padding-top:6px;font-weight:750}.pt .list{margin-bottom:24px}.pt .list li{border-bottom:1px solid var(--rule);justify-content:space-between;gap:12px;padding:4px 0;display:flex}.pt .langs{border-bottom:1px solid var(--rule);padding:6px 0;font-size:15px}.pt .contact{background:var(--red);margin:64px calc(-1 * var(--pad)) 0;padding:0 var(--pad) 28px}.pt .contact .sec-head{background:var(--red)}.pt .contact .sec-n{color:#fff}.pt .avail{font-size:18px;font-weight:650}.pt .mail{letter-spacing:-.04em;overflow-wrap:anywhere;margin:12px 0 36px;font-size:clamp(32px,6vw,88px);font-weight:800;line-height:1}.pt .links{flex-wrap:wrap;gap:8px 32px;display:flex}.pt .colo{margin-top:32px}.pt .contact :focus-visible{outline-color:#fff}@media (width>=900px) and (height>=640px){.pt{--top-h:var(--site-h,0px)}.pt .head{z-index:4;margin:0 calc(-1 * var(--pad));padding-inline:var(--pad);background:linear-gradient(var(--ink), var(--ink)) bottom / calc(100% - 2 * var(--pad)) 2px no-repeat, #fff;border-bottom:0;padding-bottom:16px;position:sticky;top:0}.pt .sect,.pt .contact{scroll-margin-top:var(--top-h)}.pt .filter-wrap,.pt .map-wrap,.pt .rail-key{top:calc(var(--top-h) + var(--head-h,0px));z-index:2;background:#fff;position:sticky}.pt .map-wrap{grid-column:1/-1;display:block}.pt .map-wrap .tm-scroll{margin-bottom:0;padding-bottom:8px}.pt #experience [id^=at-]{scroll-margin-top:calc(var(--top-h) + var(--head-h,0px) + var(--filter-h,0px) + 8px)}.pt .r-head{top:calc(var(--top-h) + var(--head-h,0px) + var(--filter-h,0px));z-index:1;padding-bottom:12px;position:sticky;box-shadow:0 1px #d4d4d4}.pt.rail .role-past{grid-template-rows:auto 80px;padding-bottom:0}}@media (prefers-reduced-motion:reduce){.pt *{transition:none!important}}@media (width>=900px){.pt{--cols:12;--gap:20px;--pad:40px}.pt .head .who{grid-column:1/4}.pt .head .mailto{grid-column:4/7}.pt .head .nav{flex-wrap:wrap;grid-column:7/13;justify-content:flex-end;gap:2px 16px;display:flex}.pt .hero{padding:64px 0 56px}.pt .hero-text{grid-column:1/8}.pt .summary{grid-column:8/13}.pt .num{grid-column:span 3}.pt .sec-n{grid-column:1/3}.pt .sec-t{grid-column:3/-1}.pt .filter-wrap{grid-column:1/-1;grid-template-columns:subgrid;display:grid}.pt .filter-wrap:before{content:"Highlight a skill";grid-area:1/1/auto/3;padding-top:7px;font-size:13px;font-weight:600}.pt .tm-h{display:block}.pt .tm-v{display:none}.pt .filter-wrap .chips{grid-column:3/-1}.pt .chips:before{content:none}.pt .r-year{grid-column:1/3}.pt .r-who{grid-column:3/6}.pt .r-sum,.pt .r-hl{grid-column:6/11}.pt .r-side{grid-column:11/13}.pt .proj{grid-column:span 4}.pt .rows{grid-column:1/-1}.pt .row-yr{grid-column:1/3}.pt .row-x{grid-column:3/11}.pt .sk-group{grid-column:span 3}.pt .photo{grid-column:1/3}.pt .about-x{grid-column:3/9}.pt .contact>:not(.sec-head){grid-column:3/-1}.pt .about-side{grid-column:10/13}}
