/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:"Inter", "Inter Fallback", ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, monospace;--spacing:.25rem;--container-xs:20rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-semibold:600;--tracking-tight:-.025em;--leading-relaxed:1.625;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-accent:"Instrument Serif", ui-serif, Georgia, serif}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-underline-offset:.25em;scroll-padding-top:7rem}body{background-color:var(--c-paper);color:var(--c-ink);font-family:var(--font-sans);font-synthesis-weight:none;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overflow-x:hidden}::selection{background-color:var(--c-accent);color:var(--c-on-accent)}:focus-visible{outline:2px solid var(--c-accent);outline-offset:3px;border-radius:2px}img,svg{max-width:100%;display:block}}@layer components{.shell{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.grid-rules{z-index:-1;pointer-events:none;gap:var(--gutter);padding-inline:var(--gutter);grid-template-columns:repeat(12,1fr);display:none;position:fixed;inset:0}@media (width>=64rem){.grid-rules{display:grid}.grid-rules span{border-left:1px solid var(--c-rule-faint)}.grid-rules span:last-child{border-right:1px solid var(--c-rule-faint)}}.rule{border-top:1px solid var(--c-rule)}.meta{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--c-muted);font-size:.6875rem}.display{letter-spacing:-.045em;text-wrap:balance;font-weight:600;line-height:.92}.accent{font-family:var(--font-accent);letter-spacing:-.01em;font-style:italic;font-weight:400}.icon{vertical-align:-.18em;flex:none;width:1.15em;height:1.15em;display:inline-block}.section{border-top:1px solid var(--c-rule);gap:2rem;padding-block:4.5rem;scroll-margin-top:7rem;display:grid}@media (width>=48rem){.section{grid-template-columns:var(--rail) minmax(0, 1fr);gap:3rem;padding-block:6rem}}.rail{align-items:baseline;gap:.75rem;display:flex}@media (width>=48rem){.rail{flex-direction:column;align-self:start;gap:.4rem;position:sticky;top:7rem}}.rail__num{font-family:var(--font-mono);letter-spacing:.14em;color:var(--c-accent);font-size:.6875rem}.link{text-decoration:none;position:relative}.link:after{content:"";transform-origin:0;background-color:currentColor;height:1px;transition:transform .32s cubic-bezier(.16,1,.3,1);position:absolute;bottom:-.15em;left:0;right:0}.link:hover:after{transform-origin:100%;transform:scaleX(0)}.cta{border:1px solid var(--c-ink);align-items:center;gap:.6rem;padding:.85rem 1.5rem;font-size:.9375rem;font-weight:500;text-decoration:none;transition:background-color .22s,color .22s,border-color .22s;display:inline-flex}.cta--solid{background-color:var(--c-ink);color:var(--c-paper)}.cta:hover{background-color:var(--c-accent);border-color:var(--c-accent);color:var(--c-on-accent)}.cta .icon{transition:transform .26s cubic-bezier(.16,1,.3,1)}.cta:hover .icon{transform:translate(.15rem,-.15rem)}.index-list{border-top:1px solid var(--c-rule)}.index-item{border-bottom:1px solid var(--c-rule);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.25rem;padding-block:1.5rem;text-decoration:none;transition:padding-left .34s cubic-bezier(.16,1,.3,1);display:grid}.index-item:hover{padding-left:.75rem}.index-item__logo{object-fit:cover;filter:grayscale();width:3rem;height:3rem;transition:filter .32s,transform .32s}.index-item:hover .index-item__logo{filter:grayscale(0);transform:scale(1.05)}[data-theme=dark] .index-item__logo,[data-theme=dark] .index-item:hover .index-item__logo{filter:grayscale()invert()}.index-item__body{gap:.3rem;min-width:0;display:grid}.index-item__name{letter-spacing:-.035em;font-size:clamp(1.25rem,3.2vw,1.875rem);font-weight:600;line-height:1.1;transition:color .2s}.index-item:hover .index-item__name{color:var(--c-accent)}.index-item__desc{max-width:56ch;color:var(--c-muted);font-size:.9375rem;line-height:1.65}.index-item__go{color:var(--c-muted);align-items:center;gap:.5rem;transition:color .2s;display:inline-flex}.index-item__go>span{display:none}@media (width>=48rem){.index-item__go>span{display:inline}}.index-item:hover .index-item__go{color:var(--c-accent)}.index-item__go .icon{transition:transform .3s cubic-bezier(.16,1,.3,1)}.index-item:hover .index-item__go .icon{transform:translate(.25rem,-.25rem)}.skill{border-bottom:1px solid var(--c-rule);grid-template-columns:1.6rem minmax(0,1fr) 3rem;align-items:center;gap:1rem;padding-block:1rem;display:grid}.skill__name{font-size:.9375rem}.skill__bar{background-color:var(--c-rule);height:1px;display:none;position:relative}@media (width>=48rem){.skill{grid-template-columns:1.6rem 18rem minmax(0,1fr) 3rem}.skill__bar{display:block}}.skill__bar>span{background-color:var(--c-ink);width:0;transition:width 1.1s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i,0) * 55ms);position:absolute;inset:0 auto 0 0}.is-visible .skill__bar>span{width:var(--level,0%)}.skill__level{font-family:var(--font-mono);text-align:right;color:var(--c-muted);font-size:.75rem}.timeline{border-top:1px solid var(--c-rule)}.timeline__item{border-bottom:1px solid var(--c-rule);gap:.4rem;padding-block:1.75rem;display:grid}@media (width>=48rem){.timeline__item{grid-template-columns:9rem minmax(0,1fr);gap:2rem}}.timeline__when{font-family:var(--font-mono);letter-spacing:.06em;color:var(--c-muted);font-size:.75rem}.cv-page{max-width:50rem;margin-inline:auto}.sheet{border:1px solid var(--c-rule);background-color:var(--c-sheet);box-shadow:0 28px 60px -34px var(--c-sheet-shadow);margin-top:2.5rem;padding:clamp(1.75rem,5vw,3.25rem);animation:.7s cubic-bezier(.16,1,.3,1) both sheet-in}@keyframes sheet-in{0%{opacity:0;transform:translateY(1rem)}}.cv-head{border-bottom:1px solid var(--c-rule);gap:1.75rem;padding-bottom:2rem;display:grid}.cv-name{margin-top:.5rem;font-size:clamp(2.25rem,7vw,3.5rem)}.cv-role{color:var(--c-muted);margin-top:.6rem;font-size:1.0625rem}.cv-id{gap:.7rem 1.75rem;font-size:.8125rem;display:grid}@media (width>=40rem){.cv-id{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=56rem){.cv-id{grid-template-columns:repeat(3,minmax(0,1fr))}}.cv-id dd{margin-top:.15rem}.cv-id__links{flex-wrap:wrap;gap:.9rem;display:flex}.cv-lede{max-width:62ch;color:var(--c-muted);margin-top:2rem;font-size:1.0625rem;line-height:1.7}.cv-strong{color:var(--c-ink);font-weight:600}.cv-block{margin-top:2.25rem}.cv-title{border-bottom:1px solid var(--c-rule);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--c-ink);padding-bottom:.7rem;font-size:.6875rem;font-weight:400}.cv-job{border-bottom:1px solid var(--c-rule-faint);gap:.35rem;padding-block:1.5rem;display:grid}.cv-job:last-child{border-bottom:0;padding-bottom:0}@media (width>=40rem){.cv-job{grid-template-columns:8.5rem minmax(0,1fr);gap:1.75rem}}.cv-job__when{font-family:var(--font-mono);letter-spacing:.06em;color:var(--c-muted);font-size:.75rem}.cv-job__type{color:var(--c-accent);margin-top:.2rem;display:block}.cv-job__role{letter-spacing:-.02em;font-size:1.0625rem;font-weight:600}.cv-job__org{color:var(--c-muted);margin-top:.2rem;font-size:.875rem}.cv-facts{gap:.3rem;max-width:62ch;margin-top:.8rem;display:grid}.cv-facts li{color:var(--c-muted);padding-left:1.1rem;font-size:.875rem;line-height:1.55;position:relative}.cv-facts li:before{content:"";background-color:currentColor;width:.4rem;height:1px;position:absolute;top:.68em;left:0}.cv-row{border-bottom:1px solid var(--c-rule-faint);gap:.3rem;padding-block:.85rem;display:grid}.cv-row:last-child{border-bottom:0;padding-bottom:0}@media (width>=40rem){.cv-row{grid-template-columns:9.5rem minmax(0,1fr);align-items:baseline;gap:1.75rem}}.cv-row__label{color:var(--c-ink)}.cv-tags{flex-wrap:wrap;gap:.45rem;display:flex}.cv-tag{border:1px solid var(--c-rule);font-family:var(--font-mono);letter-spacing:.08em;color:var(--c-ink);padding:.28rem .7rem;font-size:.6875rem}html.js [data-reveal=fade]{opacity:0;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i,0) * 80ms);transform:translateY(1.5rem)}html.js [data-reveal=fade].is-visible{opacity:1;transform:none}.mask{margin-bottom:-.14em;padding-bottom:.14em;display:block;overflow:hidden}.mask>span{display:block}html.js [data-reveal=mask] .mask>span{transition:transform .95s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i,0) * 70ms);transform:translateY(115%)}html.js [data-reveal=mask].is-visible .mask>span{transform:none}.site-header{z-index:40;background-image:linear-gradient(to bottom, var(--c-paper) 0%, var(--c-paper) 62%, transparent 100%);padding-block:.7rem;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.site-header{background-image:linear-gradient(to bottom, var(--c-paper) 0%, color-mix(in srgb, var(--c-paper) 85%, transparent) 62%, transparent 100%)}}.nav-glass{border:1px solid var(--c-glass-edge);background-color:var(--c-glass);box-shadow:inset 0 1px 0 var(--c-glass-edge), 0 10px 30px -12px var(--c-glass-shadow);-webkit-backdrop-filter:blur(20px)saturate(1.7);backdrop-filter:blur(20px)saturate(1.7);border-radius:999px;justify-content:space-between;align-items:center;gap:1rem;padding:.35rem .35rem .35rem 1rem;display:flex}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.nav-glass{background-color:var(--c-paper)}}.brand{color:var(--c-ink);white-space:nowrap;text-decoration:none}.primary-nav{display:none;position:relative}@media (width>=48rem){.primary-nav{align-items:center;gap:.25rem;display:flex}}.primary-nav a{white-space:nowrap;border-radius:999px;padding:.5rem .8rem;text-decoration:none;transition:color .22s;position:relative}.nav-indicator{background-color:var(--c-ink);border-radius:999px;width:0;position:absolute;inset-block:0;inset-inline-start:0}@supports (color:color-mix(in lab, red, red)){.nav-indicator{background-color:color-mix(in srgb, var(--c-ink) 8%, transparent)}}.nav-indicator{opacity:0;pointer-events:none;transition:transform .42s cubic-bezier(.22,1,.36,1),width .42s cubic-bezier(.22,1,.36,1),opacity .18s}.primary-nav a:hover{color:var(--c-ink)}.nav-actions{align-items:center;gap:.5rem;display:flex}.nav-contact{white-space:nowrap;text-decoration:none;display:none}@media (width>=64rem){.nav-contact{display:inline}}.theme-toggle{border:1px solid var(--c-rule);width:2.25rem;height:2.25rem;color:var(--c-ink);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;transition:border-color .2s,color .2s;display:inline-flex}.theme-toggle:hover{border-color:var(--c-ink)}.theme-toggle .icon{width:1rem;height:1rem}[data-theme=light] .theme-toggle__moon,[data-theme=dark] .theme-toggle__sun{display:none}.progress{z-index:50;transform-origin:0;background-color:var(--c-accent);height:2px;position:fixed;inset:0 0 auto;transform:scaleX(0)}}@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-9{margin-top:calc(var(--spacing) * 9)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-14{margin-top:calc(var(--spacing) * 14)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mt-24{margin-top:calc(var(--spacing) * 24)}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.h-28{height:calc(var(--spacing) * 28)}.min-h-\[70vh\]{min-height:70vh}.w-28{width:calc(var(--spacing) * 28)}.max-w-prose{max-width:65ch}.max-w-xs{max-width:var(--container-xs)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-12{gap:calc(var(--spacing) * 12)}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-14>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 14) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 14) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-x-8{column-gap:calc(var(--spacing) * 8)}.gap-y-1{row-gap:var(--spacing)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-rule{border-color:var(--c-rule)}.object-cover{object-fit:cover}.py-16{padding-block:calc(var(--spacing) * 16)}.py-20{padding-block:calc(var(--spacing) * 20)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-14{padding-top:calc(var(--spacing) * 14)}.font-mono{font-family:var(--font-mono)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[clamp\(1\.75rem\,4\.5vw\,2\.75rem\)\]{font-size:clamp(1.75rem,4.5vw,2.75rem)}.text-\[clamp\(2\.5rem\,9vw\,5\.5rem\)\]{font-size:clamp(2.5rem,9vw,5.5rem)}.text-\[clamp\(2\.25rem\,7vw\,4\.5rem\)\]{font-size:clamp(2.25rem,7vw,4.5rem)}.text-\[clamp\(3rem\,12\.5vw\,9rem\)\]{font-size:clamp(3rem,12.5vw,9rem)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-ink{color:var(--c-ink)}.text-muted{color:var(--c-muted)}.italic{font-style:italic}.not-italic{font-style:normal}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[filter\]{transition-property:filter;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-500{--tw-duration:.5s;transition-duration:.5s}@media (hover:hover){.hover\:grayscale-0:hover{--tw-grayscale:grayscale(0%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.focus\:not-sr-only:focus{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.focus\:absolute:focus{position:absolute}.focus\:top-4:focus{top:calc(var(--spacing) * 4)}.focus\:left-4:focus{left:calc(var(--spacing) * 4)}.focus\:z-50:focus{z-index:50}.focus\:bg-ink:focus{background-color:var(--c-ink)}.focus\:px-4:focus{padding-inline:calc(var(--spacing) * 4)}.focus\:py-2:focus{padding-block:calc(var(--spacing) * 2)}.focus\:text-paper:focus{color:var(--c-paper)}@media (width>=40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=48rem){.md\:mt-10{margin-top:calc(var(--spacing) * 10)}.md\:h-32{height:calc(var(--spacing) * 32)}.md\:w-32{width:calc(var(--spacing) * 32)}.md\:grid-cols-\[2fr_1fr_1fr\]{grid-template-columns:2fr 1fr 1fr}.md\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1\.5fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}.md\:flex-row{flex-direction:row}.md\:items-baseline{align-items:baseline}.md\:justify-between{justify-content:space-between}.md\:gap-16{gap:calc(var(--spacing) * 16)}.md\:py-24{padding-block:calc(var(--spacing) * 24)}.md\:pt-20{padding-top:calc(var(--spacing) * 20)}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}}@font-face{font-family:Inter;src:url(/fonts/inter-variable-latin.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Instrument Serif;src:url(/fonts/instrument-serif-italic-latin.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Inter Fallback;src:local(Arial),local(Helvetica Neue),local(Helvetica);size-adjust:107.64%;ascent-override:90.2%;descent-override:22.48%;line-gap-override:0%}:root{--c-paper:#fafaf8;--c-ink:#0a0a0a;--c-muted:#6b6b66;--c-rule:var(--c-ink)}@supports (color:color-mix(in lab, red, red)){:root{--c-rule:color-mix(in srgb, var(--c-ink) 14%, transparent)}}:root{--c-rule-faint:var(--c-ink)}@supports (color:color-mix(in lab, red, red)){:root{--c-rule-faint:color-mix(in srgb, var(--c-ink) 7%, transparent)}}:root{--c-accent:#002fa7;--c-on-accent:#fff;--c-glass:#ffffff94;--c-glass-edge:#ffffffdb;--c-glass-shadow:#0a0a0a14;--c-sheet:#fff;--c-sheet-shadow:#0a0a0a1f;--rail:9rem;--gutter:1.5rem;--container:78rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--c-paper:#0a0a0a;--c-ink:#f2f2ee;--c-muted:#8a8a84;--c-accent:#6e8bff;--c-on-accent:#0a0a0a;--c-glass:#1e1e1c85;--c-glass-edge:#ffffff21;--c-glass-shadow:#0000009e;--c-sheet:#131312;--c-sheet-shadow:#000000b8;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@page{margin:14mm}@media print{:root{--c-paper:#fff;--c-ink:#000;--c-muted:#444}.no-print,.grid-rules,.progress,header,footer{display:none!important}html.js [data-reveal],html.js .mask>span{opacity:1!important;transform:none!important}body{font-size:9.5pt;line-height:1.45}.shell{max-width:none;padding-inline:0}main>section:first-child{padding-block:0 .5rem!important}.section{break-inside:auto;border-top:1px solid #ccc;grid-template-columns:4.5rem minmax(0,1fr);gap:.75rem;padding-block:.45rem}.rail{flex-direction:row;gap:.4rem;position:static}h1{letter-spacing:-.03em;font-size:1.9rem}.display{letter-spacing:-.02em;font-size:1.15rem;line-height:1.15}.index-item,.timeline__item{break-inside:avoid;padding-block:.45rem}.index-item__logo{filter:grayscale();width:1.6rem;height:1.6rem}.index-item__name{font-size:.95rem}.index-item__desc,.timeline__item p{font-size:8.5pt}.skill{grid-template-columns:1.2rem 13rem minmax(0,1fr) 2.2rem;padding-block:.3rem}.skill__bar{display:none}.timeline{border-top:0}.timeline__item{gap:.1rem}.timeline__when{font-size:8pt}#contenu{padding-block:0!important}.cv-page{max-width:none}.sheet{box-shadow:none;background-color:#0000;border:0;margin-top:0;padding:0;animation:none}.cv-head{grid-template-columns:minmax(0,1fr);gap:.8rem;padding-bottom:.7rem}.cv-name{margin-top:0;font-size:1.9rem}.cv-role{margin-top:.35rem;font-size:.95rem}.cv-id{grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem 1.75rem}.cv-id div{align-items:baseline;gap:.45rem;display:flex}.cv-id dd{margin-top:0}.cv-lede{max-width:none;margin-top:.7rem;font-size:.95rem;line-height:1.5}.cv-block{margin-top:.7rem}.cv-title{padding-bottom:.25rem}.cv-job{gap:.1rem;padding-block:.3rem}.cv-facts{gap:0;max-width:none;margin-top:.2rem}.cv-facts li{padding-left:.85rem;font-size:8.5pt;line-height:1.4}.cv-facts li:before{width:.3rem;top:.64em}.cv-row{gap:.1rem;padding-block:.2rem}.cv-tag{padding:.1rem .45rem;font-size:8pt}a{color:inherit}a[href^=http]:after{content:" — " attr(href);color:#666;word-break:break-all;font-size:.82em}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html.js [data-reveal],html.js .mask>span{opacity:1!important;transform:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}
