@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/167cd0713aa75522-s.1nzccunaoxsdm.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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/e455bcff747f0d5e-s.1wuo3gtslpr33.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/791bf8c4bb753ed6-s.p.0ggqn9ig56u4s.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:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_fe6443e8-module__3VcveW__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_fe6443e8-module__3VcveW__variable{--font-loaded-display:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(../media/c7f47671e39f7787-s.0klc_mi0-5f4_.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(../media/f06bf9da926bae75-s.p.2874ccu1_u7jf.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:Instrument Sans Fallback;src:local(Arial);ascent-override:94.42%;descent-override:24.33%;line-gap-override:0.0%;size-adjust:102.74%}.instrument_sans_e676124e-module__dEYtIa__className{font-family:Instrument Sans,Instrument Sans Fallback;font-style:normal}.instrument_sans_e676124e-module__dEYtIa__variable{--font-loaded-text:"Instrument Sans", "Instrument Sans Fallback"}
:root{--paper:#faf8f3;--paper-2:#f1ede3;--paper-3:#e7e1d6;--line:#e0d9cc;--line-2:#c9c1b1;--ink:#1a1712;--ink-2:#3e3930;--ink-3:#5b5546;--accent:#2743d6;--accent-d:#1c2f9c;--accent-w:#cbd3ff;--on-accent:#fff;--ok:#1e7f4f;--shadow:0 1px 2px #1a17120d, 0 14px 34px -18px #1a171238;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:72px;--s9:104px;--r-sm:7px;--r-md:12px;--r-lg:14px;--r-pill:999px;--e-out:cubic-bezier(.22,1,.36,1);--e-soft:cubic-bezier(.16,1,.3,1);--e-io:cubic-bezier(.65,.02,.28,1);--e-back:cubic-bezier(.34,1.42,.64,1);--t-caption:13px;--t-subhead:15px;--t-body:17px;--t-title3:21px;--t-title1:28px;--t-large:34px;--f-display:var(--font-loaded-display,"Fraunces"), Georgia, serif;--f-text:var(--font-loaded-text,"Instrument Sans"), Helvetica Neue, system-ui, sans-serif;--f-mono:var(--font-loaded-mono,ui-monospace), SFMono-Regular, monospace;--touch-target:44px;--align-prose:justify}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#14120f;--paper-2:#1c1915;--paper-3:#262119;--line:#2e2921;--line-2:#3e3930;--ink:#f3efe7;--ink-2:#d2cbbc;--ink-3:#9a9384;--accent:#93a5ff;--accent-d:#b6c1ff;--accent-w:#1e2650;--on-accent:#0e1330;--ok:#4fbe86;--shadow:0 1px 2px #00000080, 0 14px 34px -18px #000000d9}}:root[data-theme=dark]{--paper:#14120f;--paper-2:#1c1915;--paper-3:#262119;--line:#2e2921;--line-2:#3e3930;--ink:#f3efe7;--ink-2:#d2cbbc;--ink-3:#9a9384;--accent:#93a5ff;--accent-d:#b6c1ff;--accent-w:#1e2650;--on-accent:#0e1330;--ok:#4fbe86;--shadow:0 1px 2px #00000080, 0 14px 34px -18px #000000d9}@theme inline{--color-paper: var(--paper); --color-paper-2: var(--paper-2); --color-paper-3: var(--paper-3); --color-line: var(--line); --color-line-2: var(--line-2); --color-ink: var(--ink); --color-ink-2: var(--ink-2); --color-ink-3: var(--ink-3); --color-accent: var(--accent); --color-accent-d: var(--accent-d); --color-accent-w: var(--accent-w); --color-on-accent: var(--on-accent); --color-ok: var(--ok); --spacing-s1: var(--s1); --spacing-s2: var(--s2); --spacing-s3: var(--s3); --spacing-s4: var(--s4); --spacing-s5: var(--s5); --spacing-s6: var(--s6); --spacing-s7: var(--s7); --spacing-s8: var(--s8); --spacing-s9: var(--s9); --radius-sm: var(--r-sm); --radius-md: var(--r-md); --radius-lg: var(--r-lg); --radius-pill: var(--r-pill); --ease-out: var(--e-out); --ease-soft: var(--e-soft); --ease-io: var(--e-io); --ease-back: var(--e-back); --text-caption: var(--t-caption); --text-subhead: var(--t-subhead); --text-body: var(--t-body); --text-title3: var(--t-title3); --text-title1: var(--t-title1); --text-large: var(--t-large); --font-display: var(--f-display); --font-text: var(--f-text); --font-mono: var(--f-mono); --shadow-token: var(--shadow);}
*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:86px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--paper);color:var(--ink);font-family:var(--f-text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.62}img{max-width:100%;display:block}h1,h2,h3,h4{text-wrap:balance;margin:0}p{color:var(--ink-3);margin:0}.prose{text-align:var(--align-prose);text-wrap:pretty;-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:8 4 4}ul,ol{margin:0;padding:0;list-style:none}a{color:var(--accent);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}code{font-family:var(--f-mono);font-size:.92em}.skip-link{left:var(--s4);top:var(--s4);z-index:60;transform:translateY(calc(-100% - var(--s8)));background:var(--accent);color:var(--on-accent);border-radius:var(--r-md);transition:transform .25s var(--e-out);padding:11px 18px;font-size:15px;font-weight:600;position:absolute}.skip-link:focus-visible{text-decoration:none;transform:translateY(0)}.wrap{max-width:1120px;padding-inline:var(--s4);margin:0 auto}section{padding-block:var(--s9)}
html.js [data-reveal]{opacity:0;filter:blur(5px);transform:translateY(24px)scale(.994)}html.js [data-reveal=in]{opacity:1;filter:blur();transition:opacity .9s var(--e-soft), transform .9s var(--e-soft), filter .7s var(--e-soft);transform:none}html.js [data-stagger]>*{opacity:0;transform:translateY(16px)}html.js [data-stagger=in]>*{opacity:1;transition:opacity .68s var(--e-soft), transform .68s var(--e-soft);transform:none}@media (prefers-reduced-motion:reduce){html.js [data-reveal],html.js [data-stagger]>*{opacity:1!important;filter:none!important;transition:none!important;transform:none!important}}.lift{transition:transform .2s var(--e-out), border-color .2s var(--e-out), box-shadow .2s var(--e-out), background-color .2s var(--e-out)}.lift:hover{transform:translateY(-1px)}.press:active{transform:scale(.97)}@media (prefers-reduced-motion:reduce){.lift,.press{transition:none}.lift:hover,.press:active{transform:none}}.pulse-dot{box-shadow:0 0 0 0 color-mix(in srgb, var(--ok) 55%, transparent);animation:2.6s infinite pulse-ring}@keyframes pulse-ring{70%{box-shadow:0 0 0 7px #0000}to{box-shadow:0 0 #0000}}@media (prefers-reduced-motion:reduce){.pulse-dot{animation:none}}
.btn{align-items:center;gap:var(--s2);min-height:var(--touch-target);font-size:var(--t-subhead);font-weight:600;font-family:var(--f-text);border:1px solid var(--line);background:var(--paper-2);color:var(--ink);cursor:pointer;border-radius:11px;padding:11px 18px;display:inline-flex}.btn:hover{border-color:var(--line-2);text-decoration:none}.btn svg{fill:currentColor;flex:none;width:17px;height:17px}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn--primary:hover{background:var(--accent-d);border-color:var(--accent-d)}.btn--sm{min-height:var(--touch-target);padding:8px 14px;font-size:14px}.icon-btn{width:var(--touch-target);height:var(--touch-target);border:1px solid var(--line);background:var(--paper-2);color:var(--ink-2);cursor:pointer;border-radius:10px;place-items:center;display:grid}.icon-btn:hover{border-color:var(--line-2);text-decoration:none}.icon-btn svg{fill:currentColor;width:18px;height:18px}.only-dark{display:none}:root[data-theme=dark] .only-dark{display:block}:root[data-theme=dark] .only-light{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .only-dark{display:block}:root:not([data-theme=light]) .only-light{display:none}}.icon-btn--lang{font-family:var(--f-text);letter-spacing:.04em;width:auto;min-width:var(--touch-target);padding-inline:11px;font-size:12.5px;font-weight:700}.nav{z-index:40;background:color-mix(in srgb, var(--paper) 86%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);position:sticky;top:0}.nav__inner{max-width:1120px;padding:var(--s3) var(--s4);align-items:center;gap:var(--s4);margin:0 auto;display:flex}.nav__brand{font-family:var(--f-display);font-variation-settings:"opsz" 30;font-weight:600;font-size:var(--t-body);letter-spacing:-.01em;color:var(--ink);white-space:nowrap}.nav__links{gap:var(--s5);align-items:center;margin-left:auto;display:none}@media (min-width:1000px){.nav__links{display:flex}}.nav__link{color:var(--ink-3);min-height:var(--touch-target);min-width:var(--touch-target);justify-content:center;align-items:center;font-size:14.5px;font-weight:500;display:inline-flex}.nav__link>span{padding-block:4px;position:relative}.nav__link>span:after{content:"";background:var(--accent);transform-origin:0;height:2px;transition:transform .28s var(--e-out);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav__link:hover,.nav__link[aria-current=true]{color:var(--ink);text-decoration:none}.nav__link[aria-current=true]>span:after{transform:scaleX(1)}@media (prefers-reduced-motion:reduce){.nav__link>span:after{transition:none}}.nav__actions{gap:var(--s2);align-items:center;margin-left:auto;display:flex}@media (min-width:1000px){.nav__actions{margin-left:0}}@media (max-width:639px){.nav__social,.nav__actions .btn--sm .btn__label{display:none}.nav__actions .btn--sm{width:var(--touch-target);justify-content:center;padding-inline:0}}.hero{padding-block:var(--s8) var(--s7)}.hero__grid{gap:var(--s7);align-items:center;display:grid}@media (min-width:960px){.hero__grid{gap:var(--s8);grid-template-columns:1.2fr .8fr}}.availability{color:var(--ink-2);background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-pill);margin-bottom:var(--s5);align-items:center;gap:9px;padding:7px 13px;font-size:13.5px;font-weight:600;display:inline-flex}.availability__dot{background:var(--ok);border-radius:50%;flex:none;width:7px;height:7px}.hero__kicker{font-size:var(--t-subhead);letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--s4);font-weight:600}.hero__name{font-family:var(--f-display);font-variation-settings:"opsz" 144;letter-spacing:-.035em;margin-bottom:var(--s5);font-size:clamp(42px,7vw,72px);font-weight:600;line-height:1}.hero__lede{max-width:56ch;color:var(--ink-2);margin-bottom:var(--s4);font-size:18px;line-height:1.6}.hero__lede:last-of-type{margin-bottom:var(--s5)}.hero__lede strong{color:var(--ink);font-weight:600}.hero__meta{gap:var(--s2) var(--s4);color:var(--ink-3);margin-bottom:var(--s6);flex-wrap:wrap;font-size:14px;display:flex}.hero__meta li{align-items:center;gap:7px;display:inline-flex}.hero__meta svg{fill:none;stroke:currentColor;stroke-width:1.7px;flex:none;width:15px;height:15px}.cta-row{gap:var(--s3);flex-wrap:wrap;display:flex}.shot{justify-self:center;position:relative}.shot img{border:1px solid var(--line);width:min(300px,70vw);height:auto;box-shadow:var(--shadow);border-radius:22px}.shot__tag{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-pill);font-size:var(--t-caption);color:var(--ink-2);white-space:nowrap;box-shadow:var(--shadow);align-items:center;gap:7px;padding:7px 14px;font-weight:600;display:inline-flex;position:absolute;bottom:-15px;left:50%;transform:translate(-50%)}.shot__tag svg{fill:currentColor;width:14px;height:14px}.proof{border-block:1px solid var(--line);background:var(--paper-2)}.proof__inner{max-width:1120px;padding:var(--s6) var(--s4);gap:var(--s5);margin:0 auto;display:grid}@media (min-width:620px){.proof__inner{grid-template-columns:repeat(2,1fr)}}@media (min-width:960px){.proof__inner{gap:var(--s6);grid-template-columns:repeat(4,1fr)}}.proof__value{font-family:var(--f-display);font-variation-settings:"opsz" 60;letter-spacing:-.025em;color:var(--ink);font-variant-numeric:tabular-nums;font-size:36px;font-weight:600;line-height:1}.proof__unit{color:var(--accent);font-style:normal}.proof__label{color:var(--ink-3);margin-top:var(--s2);font-size:13.5px;line-height:1.45}.sec-head{margin-bottom:var(--s7)}.sec-head__eyebrow{font-size:var(--t-caption);letter-spacing:.09em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--s3);font-weight:600}.sec-head h2{font-family:var(--f-display);font-variation-settings:"opsz" 96;letter-spacing:-.025em;font-size:clamp(28px,3.8vw,42px);font-weight:600;line-height:1.08}.sec-head p{font-size:var(--t-body);max-width:64ch;margin-top:var(--s4)}.sec-head p strong{color:var(--ink);font-weight:600}.case{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper-2);margin-bottom:var(--s6);overflow:hidden}.case:last-child{margin-bottom:0}.case__top{padding:var(--s6);gap:var(--s4);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:flex-start;display:flex}.case__icon{border:1px solid var(--line);border-radius:13px;flex:none;width:56px;height:56px}.case__id{flex:1;min-width:210px}.case__id h3{font-family:var(--f-display);font-variation-settings:"opsz" 48;letter-spacing:-.02em;font-size:25px;font-weight:600;line-height:1.15}.case__sub{color:var(--ink-3);margin-top:3px;font-size:14.5px}.case__intro{padding:var(--s5) var(--s6);border-bottom:1px solid var(--line)}.case__intro p{max-width:78ch;font-size:16px}.case__intro strong{color:var(--ink);font-weight:600}.case__foot{padding:var(--s4) var(--s6);background:var(--paper-3);border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:7px;display:flex}.icon-stack{flex:none;align-items:center;display:flex}.icon-stack img,.icon-stack__more{border:2px solid var(--paper-2);border-radius:11px;flex:none;width:46px;height:46px;margin-left:-13px}.icon-stack img{box-shadow:0 1px 3px color-mix(in srgb, var(--ink) 16%, transparent)}.icon-stack>:first-child{margin-left:0}.icon-stack__more{background:var(--paper-3);color:var(--ink-3);place-items:center;font-size:12.5px;font-weight:700;display:grid}.pdr{display:grid}@media (min-width:900px){.pdr{grid-template-columns:.9fr 1.25fr 1fr}}.pdr>div{padding:var(--s6);border-bottom:1px solid var(--line)}@media (min-width:900px){.pdr>div{border-bottom:0;border-right:1px solid var(--line)}.pdr>div:last-child{border-right:0}}.pdr h4{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin-bottom:var(--s4);padding-bottom:var(--s3);border-bottom:1px solid var(--line);font-size:12.5px;font-weight:700}.pdr p{font-size:var(--t-subhead);line-height:1.6}.pdr p+p{margin-top:var(--s3)}.pdr strong{color:var(--ink);font-weight:600}.pdr ul{gap:var(--s4);margin:0;padding:0;list-style:none;display:grid}.pdr li{font-size:var(--t-subhead);color:var(--ink-3);padding-left:19px;line-height:1.55;position:relative}.pdr li:before{content:"";background:var(--accent);border-radius:2px;width:6px;height:6px;position:absolute;top:9px;left:2px}.gallery{gap:var(--s4);padding:var(--s6);border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(168px,1fr));display:grid}.gallery figure{gap:var(--s3);margin:0;display:grid}.gallery img{border-radius:var(--r-md);border:1px solid var(--line);width:100%;height:auto;transition:transform .3s var(--e-out)}.gallery figure:hover img{transform:translateY(-4px)}.gallery figcaption{font-size:var(--t-caption);color:var(--ink-3);text-align:center}@media (prefers-reduced-motion:reduce){.gallery img{transition:none}.gallery figure:hover img{transform:none}}.apps{gap:var(--s3);grid-template-columns:repeat(auto-fill,minmax(138px,1fr));display:grid}.app-card{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s4);gap:var(--s2);color:var(--ink);transition:transform .18s var(--e-out), box-shadow .18s var(--e-out), border-color .18s var(--e-out);align-content:start;display:grid}.app-card:hover{box-shadow:var(--shadow);border-color:var(--accent);text-decoration:none;transform:translateY(-3px)}.app-card img{border:1px solid var(--line);width:44px;height:44px;margin-bottom:var(--s1);border-radius:10px}.app-card__name{font-size:14px;font-weight:600;line-height:1.25}.app-card__place{color:var(--ink-3);font-size:12.5px;line-height:1.3}@media (prefers-reduced-motion:reduce){.app-card{transition:none}.app-card:hover{transform:none}}.note{color:var(--ink-3);margin-top:var(--s5);max-width:76ch;font-size:13.5px}.depth{gap:var(--s4);display:grid}@media (min-width:880px){.depth{grid-template-columns:repeat(3,1fr)}}.depth-card{border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper-2);padding:var(--s6);gap:var(--s3);transition:border-color .2s var(--e-out), transform .2s var(--e-out);align-content:start;display:grid}.depth-card:hover{border-color:var(--line-2);transform:translateY(-2px)}.depth-card__icon{background:var(--accent-w);width:40px;height:40px;color:var(--accent);margin-bottom:var(--s2);border-radius:10px;place-items:center;display:grid}.depth-card__icon svg{fill:none;stroke:currentColor;stroke-width:1.7px;width:21px;height:21px}.depth-card h3{font-family:var(--f-display);font-variation-settings:"opsz" 36;letter-spacing:-.015em;font-size:19px;font-weight:600;line-height:1.2}.depth-card p{font-size:14.5px;line-height:1.58}@media (prefers-reduced-motion:reduce){.depth-card{transition:none}.depth-card:hover{transform:none}}.job{border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper-2);margin-bottom:var(--s4);overflow:hidden}.job:last-of-type{margin-bottom:0}.job__summary{padding:var(--s5) var(--s6);gap:var(--s2) var(--s4);min-height:var(--touch-target);flex-wrap:wrap;align-items:baseline;display:flex}.job__summary h3{font-family:var(--f-display);font-variation-settings:"opsz" 40;font-weight:600;font-size:var(--t-title3);letter-spacing:-.018em}.job__company{font-size:var(--t-subhead);color:var(--ink-3)}.job__dates{color:var(--ink-3);white-space:nowrap;font-variant-numeric:tabular-nums;margin-left:auto;font-size:13.5px}.job__body{padding:0 var(--s6) var(--s6)}.roles{margin-bottom:var(--s5);flex-wrap:wrap;gap:6px;display:flex}.role{background:var(--accent-w);color:var(--accent);border-radius:6px;padding:4px 11px;font-size:12.5px;font-weight:600}.job__bullets{gap:var(--s3);margin:0;padding:0;list-style:none;display:grid}.job__bullets li{font-size:var(--t-subhead);color:var(--ink-3);padding-left:19px;line-height:1.56;position:relative}.job__bullets li:before{content:"";background:var(--line-2);border-radius:2px;width:6px;height:6px;position:absolute;top:9px;left:2px}.job__bullets strong{color:var(--ink);font-weight:600}.stack{margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--line);color:var(--ink-3);font-size:12.5px;line-height:1.9}.split{gap:var(--s7);margin-top:var(--s7);display:grid}@media (min-width:900px){.split{gap:var(--s8);grid-template-columns:1fr 1fr}}.split h3{font-family:var(--f-display);font-variation-settings:"opsz" 36;font-weight:600;font-size:var(--t-title3);letter-spacing:-.018em;margin-bottom:var(--s5)}.rows{border:1px solid var(--line);border-radius:var(--r-md);display:grid;overflow:hidden}.row{padding:var(--s4) var(--s5);background:var(--paper-2);border-bottom:1px solid var(--line);gap:3px;display:grid}.row:last-child{border-bottom:0}.row__when{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:12.5px}.row__what{font-size:var(--t-subhead);color:var(--ink);font-weight:600;line-height:1.3}.row__where{color:var(--ink-3);font-size:13.5px}.row__link{font-size:var(--t-caption);min-height:var(--touch-target);justify-self:start;align-items:center;gap:5px;margin-top:4px;font-weight:600;display:inline-flex}.row__link svg{fill:currentColor;width:13px;height:13px}.skills{gap:var(--s5);margin-top:var(--s7);display:grid}@media (min-width:760px){.skills{gap:var(--s5) var(--s7);grid-template-columns:repeat(2,1fr)}}.skills h4{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:var(--s3);font-size:12.5px;font-weight:700}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{font-size:var(--t-caption);border-radius:var(--r-sm);background:var(--paper-2);border:1px solid var(--line);color:var(--ink-2);padding:5px 11px}.tag{border-radius:var(--r-sm);background:var(--paper);border:1px solid var(--line);color:var(--ink-2);padding:5px 11px;font-size:12.5px;font-weight:500}.persona{gap:var(--s4);max-width:62ch;display:grid}.persona__highlight{gap:var(--s1);border-block-end:1px solid var(--line);margin-block-end:var(--s2);padding-block-end:var(--s4);display:grid}.persona__highlight strong{font-family:var(--f-display);font-variation-settings:"opsz" 40;letter-spacing:-.015em;color:var(--ink);font-size:clamp(26px,4vw,34px);font-weight:600;line-height:1.15}.persona__highlight span{font-size:var(--t-caption);color:var(--ink-3)}.persona__label{font-size:var(--t-caption);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-block-end:calc(var(--s3) * -1 + var(--s2));font-weight:600}.contact{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper-2);padding:clamp(var(--s6), 5vw, var(--s8));gap:var(--s5);justify-items:start;display:grid}.contact h2{font-family:var(--f-display);font-variation-settings:"opsz" 96;letter-spacing:-.025em;font-size:clamp(28px,4vw,44px);font-weight:600;line-height:1.06}.contact p{font-size:var(--t-body);max-width:54ch}.contact__mail{font-family:var(--f-display);font-variation-settings:"opsz" 48;letter-spacing:-.015em;color:var(--accent);overflow-wrap:anywhere;min-height:var(--touch-target);align-items:center;font-size:clamp(20px,2.8vw,28px);font-weight:600;display:inline-flex}.site-footer{border-top:1px solid var(--line);padding-block:var(--s6) var(--s8);font-size:var(--t-caption);color:var(--ink-3);gap:var(--s3) var(--s5);flex-wrap:wrap;align-items:center;display:flex}.not-found{align-content:center;gap:var(--s4);min-height:70vh;padding-block:var(--s9);display:grid}.not-found__title{font-family:var(--f-display);font-variation-settings:"opsz" 96;letter-spacing:-.03em;font-size:clamp(34px,6vw,56px);font-weight:600;line-height:1.04}
.disclosure__summary{cursor:pointer;align-items:center;gap:var(--s4);padding:var(--s5) var(--s6);min-height:var(--touch-target);transition:background .35s var(--e-io);list-style:none;display:flex}.disclosure__summary::-webkit-details-marker{display:none}.disclosure__summary::marker{content:""}.disclosure__summary:hover,.disclosure[data-open=true]>.disclosure__summary{background:var(--paper-3)}.disclosure__wrap{overflow:hidden}.disclosure__numero{letter-spacing:.05em;color:var(--accent);background:var(--accent-w);border-radius:var(--r-sm);font-variant-numeric:tabular-nums;transition:transform .5s var(--e-back), background .3s var(--e-out);flex:none;padding:5px 9px;font-size:12px;font-weight:700}.disclosure[data-open=true] .disclosure__numero{transform:scale(1.09)}.disclosure__heading{gap:3px;min-width:0;display:grid}.disclosure__heading b{font-size:var(--t-body);color:var(--ink);letter-spacing:-.012em;font-weight:600;line-height:1.25}.disclosure__heading em{color:var(--ink-3);font-size:13.5px;font-style:normal;line-height:1.35}.disclosure__chevron{width:18px;height:18px;stroke:var(--ink-3);fill:none;stroke-width:2px;transition:transform .55s var(--e-back), stroke .3s var(--e-out);flex:none;margin-left:auto}.disclosure[data-open=true] .disclosure__chevron{stroke:var(--accent);transform:rotate(180deg)}.workstreams .disclosure{border-bottom:1px solid var(--line)}.workstreams .disclosure:last-child{border-bottom:0}.job>.disclosure__summary{align-items:baseline;gap:var(--s2) var(--s4);flex-wrap:wrap}.job .disclosure__chevron{align-self:center;width:17px;height:17px}@media (prefers-reduced-motion:reduce){.disclosure__summary,.disclosure__numero,.disclosure__chevron{transition:none}.disclosure[data-open=true] .disclosure__numero{transform:none}}

