@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-s.p.woff2) format("woff2");unicode-range:u+00??,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:Bricolage Grotesque Fallback;src:local("Arial");ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.00%;size-adjust:105.43%}.__className_1243c3{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.__variable_1243c3{--font-display:"Bricolage Grotesque","Bricolage Grotesque Fallback"}@font-face{font-family:Public Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f7650dfaa438c37c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Public Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/98baa4a7809fbf72-s.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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Public Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8bf7b2ceda89477b-s.p.woff2) format("woff2");unicode-range:u+00??,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:Public Sans Fallback;src:local("Arial");ascent-override:90.59%;descent-override:21.46%;line-gap-override:0.00%;size-adjust:104.87%}.__className_81ca43{font-family:Public Sans,Public Sans Fallback;font-style:normal}.__variable_81ca43{--font-body:"Public Sans","Public Sans Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/7ad3736e903bfaa5-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/3150dd0728fab2c3-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e3db186a51b1f2b3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/3647a4d8cc3a67ad-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ad50a964c4297b83-s.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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/a36735a804b49f85-s.p.woff2) format("woff2");unicode-range:u+00??,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:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_c880a9{font-family:JetBrains Mono,JetBrains Mono Fallback;font-weight:500;font-style:normal}.__variable_c880a9{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}

/*! 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)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--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}}}@layer theme{:host,:root{--font-sans:-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-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{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}:host,html{-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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.static{position:static}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.grow{flex-grow:1}.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-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.text-wrap{text-wrap:wrap}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-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,)}}:root{--page:#eef0ed;--sheet:#fff;--ink:#101416;--ink-deep:#0b1113;--text:#1c2125;--soft:#4d555b;--line:#10141624;--line-g:#1f4d4533;--hi:#f2df4a;--alpine:#1f4d45;--green-lit:#2e7355;--white:#fff;--on-dark:#ffffffeb;--on-dark-soft:#ffffff9e;--on-dark-line:#ffffff24;--display:var(--font-display),"Arial Black",system-ui,sans-serif;--body:var(--font-body),system-ui,-apple-system,"Segoe UI",sans-serif;--mono:var(--font-mono),ui-monospace,monospace;--rail:220px;--gutter:32px;--ease:cubic-bezier(.2,.8,.2,1);--display-weight:400;--display-tracking:-.02em;--display-case:none}html{scroll-behavior:smooth;scrollbar-color:var(--soft) var(--page);scroll-padding-top:72px}html.menu-open{overflow:hidden}body{background:var(--page);color:var(--text);font-family:var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:1.0625rem;line-height:1.6}input,textarea{caret-color:var(--ink)}.arr{vertical-align:-.02em;width:.72em;height:.72em;transition:transform .16s var(--ease);flex:none;display:inline-block}a:hover .arr,button:hover .arr{transform:translate(2px,-2px)}a:hover .dl{transform:translateY(2px)}.to{vertical-align:.1em;width:.8em;height:.48em;margin-inline:.05em;display:inline-block}.vh{clip-path:inset(50%);white-space:pre;width:1px;height:1px;position:absolute;overflow:hidden}::selection{background:var(--hi);color:var(--ink)}:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.banner :focus-visible,.hero :focus-visible,.nav:not(.scrolled) :focus-visible,.tlband :focus-visible,footer :focus-visible{outline-color:var(--hi)}a{color:inherit}p{text-wrap:pretty}mark{text-decoration-line:underline;-webkit-text-decoration-color:var(--hi);text-decoration-color:var(--hi);-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-underline-offset:-.56em;background:0 0;text-decoration-thickness:.78em}.skip,mark{color:var(--ink)}.skip{z-index:60;background:var(--hi);padding:10px 14px;font-weight:600;position:absolute;top:-60px;left:16px}.skip:focus{top:12px}:root{--inset:16px}@media (min-width:768px){:root{--inset:32px}}.wrap{width:min(1240px,100%);margin-inline:auto}.menu>.wrap,.nav-in{width:min(1240px,100% - 2 * var(--inset))}.section{padding:96px var(--inset);isolation:isolate;padding-block:clamp(64px,10vw,140px);position:relative}.section:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(62% 52% at 4% -10%,#1f4d454d,#0000 70%),radial-gradient(52% 50% at 104% 110%,#1f4d453d,#0000 72%),radial-gradient(38% 30% at 70% 40%,#2e735517,#0000 76%);position:absolute;inset:0}.section:nth-of-type(2n):before{background:radial-gradient(60% 50% at 100% -8%,#1f4d4545,#0000 70%),radial-gradient(54% 52% at -4% 108%,#1f4d4538,#0000 72%),radial-gradient(36% 30% at 28% 55%,#2e735514,#0000 76%)}.sheet{background:var(--sheet);box-shadow:0 -40px 80px -60px #0f3c34e6,0 40px 80px -60px #0f3c34e6}.sheet:before{opacity:.55}.display{font-family:var(--display);font-weight:var(--display-weight);font-stretch:var(--wdth,100%);letter-spacing:var(--display-tracking);text-wrap:balance;line-height:.98}.h2{font-size:clamp(2rem,4.4vw,3.6rem);line-height:1.02}.h2,.h3{color:var(--ink)}.h3{font-family:var(--display);font-weight:var(--display-weight);font-stretch:var(--wdth,100%);letter-spacing:var(--display-tracking);text-wrap:balance;font-size:1.32rem;line-height:1.15}.label{letter-spacing:.06em;text-transform:uppercase;font-variant-numeric:tabular-nums;font-size:.74rem;font-weight:500}.label,.meta{font-family:var(--mono)}.meta{letter-spacing:.01em;font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:500}.soft{color:var(--soft)}.lede{max-width:62ch;font-size:clamp(1.06rem,1.4vw,1.24rem)}@media (min-width:900px){.h3{font-size:1.5rem}}.sec-head{gap:14px;margin-bottom:clamp(36px,5vw,56px);display:grid}.sec-h{grid-template-columns:minmax(0,22ch);row-gap:14px;display:grid}.sec-h:before{content:attr(data-label);color:var(--alpine);font:500 .8rem/1.6 var(--mono);letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(currentColor,currentColor) 0/8px 8px no-repeat;padding-left:18px;font-stretch:100%}.sec-label{color:var(--alpine);align-items:center;gap:10px;font-size:.8rem;display:flex}.sec-label:before{content:"";background:currentColor;width:8px;height:8px}@media (min-width:900px){.sec-head{grid-template-columns:1fr auto;align-items:end}.sec-h,.sec-head{column-gap:var(--gutter)}.sec-h{grid-template-columns:var(--rail) minmax(0,22ch)}.sec-h:before{align-self:start;padding-top:.5rem}.split .sec-h{grid-template-columns:minmax(0,22ch)}.sec-label{align-self:start;padding-top:.5em}.profile,.section .lede{margin-left:calc(var(--rail) + var(--gutter))}}.sec-aside{align-self:end}.section .lede{margin-top:calc(clamp(36px,5vw,56px)/-2);margin-bottom:clamp(36px,5vw,56px)}.btn{border:1.5px solid var(--ink);min-height:48px;color:var(--ink);cursor:pointer;touch-action:manipulation;transition:transform .16s var(--ease),background .16s,color .16s,border-color .16s;background:0 0;justify-content:center;align-items:center;gap:10px;padding:14px 22px;font-family:inherit;font-size:.98rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-ink{background:var(--alpine);border-color:var(--alpine);color:var(--white)}.btn-ink:hover{background:var(--ink);border-color:var(--ink)}.btn-paper{background:var(--sheet);border-color:var(--sheet);color:var(--ink);gap:12px;min-height:52px;padding-block:12px}.btn-paper:hover{background:var(--page);border-color:var(--page)}.btn-meta{color:var(--soft);border-left:1px solid var(--line);padding-left:12px;font-size:.7rem;line-height:1.6}.btn-paper>span{white-space:nowrap}.nav{z-index:50;color:var(--white);transition:background .25s,box-shadow .25s,color .25s;position:fixed;top:0;left:0;right:0}.nav.scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--ink);box-shadow:0 1px 0 var(--line-g);background:#ffffffeb}.nav-in{justify-content:space-between;align-items:center;gap:16px;height:64px;display:flex}.nav a{text-decoration:none}.nav-name{letter-spacing:-.01em;white-space:nowrap;align-items:center;min-height:44px;font-size:1.12rem;display:inline-flex}.nav-links{gap:28px;display:none}.nav-links a{align-items:center;min-height:44px;display:inline-flex}.nav-links a:hover{text-decoration:underline;-webkit-text-decoration-color:var(--hi);text-decoration-color:var(--hi);text-underline-offset:6px;text-decoration-thickness:3px}.nav-end{align-items:center;gap:18px;display:flex}.nav .nav-cv{white-space:nowrap;align-items:center;gap:7px;min-height:44px;display:none}.nav .nav-cv:hover{text-decoration:underline;-webkit-text-decoration-color:var(--hi);text-decoration-color:var(--hi);text-underline-offset:6px;text-decoration-thickness:3px}@media (min-width:1100px){.nav .nav-cv{display:inline-flex}}.nav .nav-cta{white-space:nowrap;text-underline-offset:6px;gap:6px;text-decoration:underline;text-decoration-thickness:1.5px}.nav .nav-cta,.nav-toggle{align-items:center;min-height:44px;display:inline-flex}.nav-toggle{min-width:44px;color:inherit;cursor:pointer;background:0 0;border:0;gap:10px;padding:0 2px;font-size:.8rem}.burger{border-block:1.5px solid;width:18px;height:10px}.nav-toggle[aria-expanded=true] .burger{border-bottom:0;height:0}@media (min-width:900px){.nav-links{display:flex}.nav-toggle{display:none}}@media (max-width:420px){.nav .nav-cta{display:none}}.progress{background:var(--alpine);transform-origin:0;opacity:0;height:2px;transition:opacity .25s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav.scrolled .progress{opacity:1}.menu{background:var(--sheet);color:var(--ink);transform-origin:top;max-height:calc(100svh - 64px);animation:menu-in .32s var(--ease);padding:8px 0 28px;position:absolute;top:100%;left:0;right:0;overflow:auto;box-shadow:0 24px 40px -20px #0b111366}.menu[hidden]{display:none}.menu li{border-bottom:1px solid var(--line)}.menu li a{align-items:baseline;padding:14px 0;text-decoration:none;display:flex}.menu li .display{font-size:clamp(1.8rem,8vw,2.6rem)}.menu li a:hover .display{text-decoration:underline;-webkit-text-decoration-color:var(--hi);text-decoration-color:var(--hi);text-decoration-thickness:4px}.menu-foot{flex-wrap:wrap;gap:0 12px;margin-top:14px;display:flex}.menu-foot a{align-items:center;min-height:44px;display:inline-flex}.menu-cv{margin-top:12px}.menu-cv .btn{width:100%}@keyframes menu-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.hero{background:var(--ink-deep);color:var(--white);padding:92px var(--inset) 40px;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero-glow{z-index:0;pointer-events:none;background:radial-gradient(64% 52% at 10% 86%,#2e735566,#0000 68%),radial-gradient(52% 46% at 92% 8%,#1f4d4585,#0000 70%);position:absolute;inset:0}.hero-in{z-index:1;flex-direction:column;gap:clamp(30px,5vw,52px);width:min(1240px,100%);display:flex;position:relative}.hero-top{color:var(--on-dark-soft);border-bottom:1px solid var(--on-dark-line);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-bottom:14px;font-size:.78rem;display:flex}.avail{color:var(--on-dark);align-items:center;gap:10px}.avail,.hero-where{display:inline-flex}.hero-where{flex-wrap:wrap;gap:4px 12px}.hero-where>span+span:before{content:"·";margin-right:12px}@media (max-width:479px){.hero-where{flex-direction:column;gap:4px}.hero-where>span+span:before{content:none}}.avail i{background:var(--hi);width:8px;height:8px}.hero-grid{gap:clamp(30px,4vw,44px);margin-top:auto;display:grid}@media (min-width:1000px){.hero-grid{grid-template-columns:minmax(0,1fr) 272px;align-items:end;column-gap:56px}}.name{--wdth:125%;letter-spacing:-.035em;text-transform:var(--display-case);color:var(--white);margin-left:-.025em;font-size:clamp(3.9rem,12.4vw,11.5rem);line-height:.84}.name span{display:block}.hero-stmt{max-width:34ch;color:var(--on-dark);letter-spacing:-.01em;border-left:2px solid var(--hi);margin-top:clamp(20px,2.6vw,30px);padding-left:18px;font-size:clamp(1.1rem,1.85vw,1.55rem);font-weight:400;line-height:1.4}.hero-roles{flex-wrap:wrap;gap:8px;margin-top:clamp(22px,3vw,30px);display:flex}.hero-roles li{border:1px solid var(--on-dark-line);color:var(--on-dark);white-space:nowrap;background:#ffffff0a;align-items:center;gap:9px;padding:7px 14px 7px 11px;font-size:.85rem;line-height:1.2;display:inline-flex}.hero-roles li:before{content:"";background:var(--hi);flex:none;width:5px;height:5px}.hero-proof{border-top:1px solid var(--on-dark-line);padding-top:16px}.hero-proof-k{color:var(--hi);margin-bottom:4px}.hero-proof dl{display:grid}.hero-proof dl>div{border-bottom:1px solid var(--on-dark-line);padding:14px 0}.hero-proof dl>div:last-child{border-bottom:0;padding-bottom:0}.hero-proof dt{--wdth:88%;color:var(--white);font-variant-numeric:tabular-nums;font-size:clamp(2.1rem,4vw,2.7rem);line-height:1}.hero-proof dd{color:var(--on-dark-soft);max-width:24ch;margin-top:5px;font-size:.87rem;line-height:1.35}@media (min-width:560px) and (max-width:999px){.hero-proof dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px}.hero-proof dl>div{border-bottom:0;border-top:1px solid var(--on-dark-line);padding-bottom:0}}.hero-foot{border-top:1px solid var(--on-dark-line);justify-content:space-between;align-items:flex-end;gap:16px 40px;padding-top:18px}.hero-contact,.hero-foot{flex-wrap:wrap;display:flex}.hero-contact{color:var(--on-dark);gap:0 28px;max-width:900px;font-style:normal}.hero-contact a{align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.hero-contact a:hover{color:var(--white);text-decoration:underline;-webkit-text-decoration-color:var(--hi);text-decoration-color:var(--hi);text-underline-offset:5px}.hero-cv{width:fit-content;margin-top:clamp(22px,3vw,30px);display:flex}@media (max-width:559px){.hero-cv{width:100%}}@media (max-width:559px) and (max-height:600px){.hero{padding-top:78px}.hero-in{gap:20px}.hero-stmt{margin-top:14px}.hero-roles{margin-top:16px}.hero-roles li{padding-block:5px}.hero-cv{margin-top:14px}}@media (max-width:359px) and (max-height:600px){.hero-cv .btn-meta{display:none}}.hero-main{container-type:inline-size}@container (max-width:19em){.btn-paper{flex-wrap:wrap;row-gap:2px}.btn-meta{text-align:center;border-left:0;flex-basis:100%;padding-left:0}}@media (max-height:560px) and (orientation:landscape){.hero{min-height:0;padding-top:84px}.name{font-size:clamp(2.8rem,9vw,5.5rem)}.hero-stmt{font-size:1.05rem}}.tlband{background:var(--ink-deep);color:var(--white);padding:clamp(44px,6vw,76px) var(--inset) clamp(48px,7vw,84px);position:relative;overflow:hidden}.tlband-glow{pointer-events:none;background:radial-gradient(70% 90% at 50% 120%,#2e73554d,#0000 70%);position:absolute;inset:0}.tlband>.wrap{z-index:1;position:relative}.tl-head{border-bottom:1px solid var(--on-dark-line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px;margin-bottom:20px;padding-bottom:14px;display:flex}.tl-h{color:var(--hi);flex-wrap:wrap;gap:0 10px;font-size:.8rem;display:inline-flex}.tl-range{color:var(--on-dark-soft)}.tl-range:before{content:"·";margin-right:10px}.tl-key{color:var(--on-dark-soft);align-items:center;gap:8px;display:inline-flex}.tl-key i{background:var(--hi);width:18px;height:6px}.tl{--row:26px}.tl-grid,.tl-row a,.tl-years{grid-template-columns:var(--rail) 1fr;column-gap:var(--gutter);min-height:var(--row);align-items:center;text-decoration:none;display:grid}.tl-org{color:var(--on-dark-soft);text-wrap:balance;padding-block:3px;font-size:.84rem;font-weight:500;line-height:1.25;transition:color .15s}.tl-body{position:relative}.tl-grid{pointer-events:none;position:absolute;inset:0}.tl-grid-track{align-self:stretch;position:relative}.tl-grid i{border-left:1px dashed var(--on-dark-line);position:absolute;top:0;bottom:0}.tl-track{background:#ffffff0f;height:8px;position:relative}.tl-bar{transform-origin:0;animation:grow 1.1s var(--ease) both;animation-delay:calc(.25s + var(--i) * 70ms);background:#ffffff6b;transition:background .15s;position:absolute;top:0;bottom:0}.tl-bar.now{background:var(--hi)}.tl-row a:focus-visible .tl-org,.tl-row a:hover .tl-org{color:var(--white)}.tl-row a:hover .tl-bar:not(.now){background:var(--white)}.tl-row a:focus-visible{outline-offset:2px}@keyframes grow{0%{transform:scaleX(0)}}.tl-years{margin-top:6px}.tl-years .tl-track{background:0 0;height:18px}.tl-years .tl-track span{font-family:var(--mono);color:var(--on-dark-soft);padding-left:6px;font-size:.72rem;position:absolute;top:2px}@media (max-width:759px){.tl{--row:24px}.tl-grid,.tl-row a,.tl-years{grid-template-columns:minmax(0,42%) 1fr;column-gap:12px}.tl-org{font-size:.76rem;line-height:1.2}.tl-track{height:6px}.tl-years .tl-track span{padding-left:3px;font-size:.7rem}.tl-years .tl-track span:nth-child(odd):not(:last-child){visibility:hidden}}.banner{background:var(--alpine);color:var(--white);position:relative;overflow:hidden}.banner-row{border-top:1px solid #ffffff29;align-items:stretch;display:flex}.banner-row:first-child{border-top:0}.banner-k{padding-block:10px;padding-inline:var(--inset) 14px;color:var(--hi);background:#0b11133d;border-right:1px solid #ffffff29;flex:none;align-items:center;font-size:.7rem;display:flex}.banner-view{flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 36px calc(100% - 36px),#0000);mask-image:linear-gradient(90deg,#0000,#000 36px calc(100% - 36px),#0000)}.banner-track{will-change:transform;width:max-content;display:flex}.banner-track.l{animation:run 34s linear infinite}.banner-track.r{animation:run 42s linear infinite reverse}@keyframes run{0%{transform:translate(0)}to{transform:translate(-50%)}}.banner:focus-within .banner-track,.banner:hover .banner-track{animation-play-state:paused}.banner-run,.banner-run li{align-items:center;display:flex}.banner-run li{white-space:nowrap;font-family:var(--display);font-weight:var(--display-weight);font-stretch:var(--wdth,115%);text-transform:var(--display-case);letter-spacing:var(--display-tracking);padding-block:clamp(11px,1.5vw,16px);font-size:clamp(1.05rem,2.1vw,1.65rem);line-height:1.1}.banner-run li:after{content:"";background:var(--hi);flex:none;width:7px;height:7px;margin-inline:clamp(14px,2vw,26px);rotate:45deg}.profile-text{color:var(--ink);letter-spacing:-.01em;max-width:46ch;font-size:clamp(1.2rem,2vw,1.68rem);font-weight:450;line-height:1.45}.numbers{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px;margin-top:clamp(48px,6vw,76px);display:grid}@media (min-width:640px){.numbers{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1100px){.numbers{grid-template-columns:repeat(5,minmax(0,1fr))}}.numbers>div{border-top:2px solid var(--alpine);padding-top:14px;container-type:inline-size}.numbers dt{--wdth:88%;white-space:nowrap;color:var(--ink);font-variant-numeric:tabular-nums;font-size:min(clamp(2.2rem,3.2vw,3rem),23cqi);line-height:1}.numbers dd{color:var(--soft);max-width:20ch;margin-top:8px;font-size:.95rem;line-height:1.4}@media (max-width:639px){.numbers{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;margin-top:36px;margin-inline:calc(-1 * var(--inset));padding-inline:var(--inset);scroll-padding-inline:var(--inset);scrollbar-width:none;grid-template-columns:none;grid-auto-columns:42%;grid-auto-flow:column;gap:16px;overflow-x:auto}.numbers::-webkit-scrollbar{display:none}.numbers>div{scroll-snap-align:start}.numbers dt{font-size:min(2.1rem,23cqi)}.numbers dd{font-size:.88rem}}.jobs-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.seg{border:1.5px solid var(--ink);gap:3px;padding:3px}.seg,.seg button{display:inline-flex}.seg button{min-height:44px;color:var(--ink);cursor:pointer;touch-action:manipulation;background:0 0;border:0;align-items:center;gap:8px;padding:0 14px;transition:background .16s,color .16s}.seg button span{color:var(--soft);transition:color .16s}.seg button[aria-pressed=true]{background:var(--alpine);color:var(--white)}.seg button[aria-pressed=true] span{color:var(--hi)}.seg button:not([aria-pressed=true]):hover{background:var(--page)}.jobs-all{min-height:44px;color:var(--ink);cursor:pointer;text-underline-offset:6px;background:0 0;border:0;padding:0 2px;text-decoration:underline;text-decoration-thickness:1.5px}.jobs{border-top:1px solid var(--ink)}.job{gap:0 var(--gutter);border-bottom:1px solid var(--line);padding:18px 0;scroll-margin-top:88px;transition:background .2s;display:grid}.job[hidden]{display:none}.job-head{gap:8px;padding-right:56px;display:grid;position:relative}.job-when{color:var(--ink);flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.now-tag{background:var(--hi);color:var(--ink);padding:2px 8px}.job-role{color:var(--alpine);margin-top:2px;font-size:.97rem;font-weight:600;line-height:1.4}.job-toggle{color:var(--ink);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;position:absolute;inset:-18px 0}.job-toggle i{border:1.5px solid var(--ink);width:44px;height:44px;transition:background .16s,border-color .16s;position:absolute;top:50%;right:0;translate:0 -50%}.job-toggle i:after,.job-toggle i:before{content:"";background:currentColor;width:14px;height:1.5px;position:absolute;top:50%;left:50%;translate:-50% -50%}.job-toggle i:after{transition:rotate .26s var(--ease);rotate:90deg}.job-toggle:hover i{background:var(--page)}.job.open .job-toggle i{background:var(--hi);border-color:var(--hi)}.job.open .job-toggle i:after{rotate:0deg}.job-body{transition:grid-template-rows .32s var(--ease);grid-template-rows:0fr;display:grid}.job-body>p{max-width:72ch;min-height:0;color:var(--text);overflow:hidden}.job.open .job-body{grid-template-rows:1fr}.job.open .job-body>p{padding-top:12px}@media (max-width:899px){.jobs-bar{gap:10px}.seg button{gap:6px;padding:0 11px}}.job:target .h3{text-decoration:underline;-webkit-text-decoration-color:var(--hi);text-decoration-color:var(--hi);text-underline-offset:2px;text-decoration-thickness:6px}@media (min-width:900px){.job-toggle,.jobs-all{display:none}.job{grid-template-columns:var(--rail) minmax(0,1fr);gap:10px var(--gutter);grid-template-areas:"when main""when body";padding:32px 0}.job:hover{background:linear-gradient(90deg,#1f4d450d,#0000 70%)}.job-head{display:contents}.job-when{flex-direction:column;grid-area:when;align-items:flex-start;gap:6px;padding-top:6px}.job-main{grid-area:main}.job-role{margin-top:4px;font-size:1rem}.job-body,.job.open .job-body{grid-area:body;grid-template-rows:1fr}.job.open .job-body>p{padding-top:0}}@media (min-width:1180px){.job{grid-template-columns:var(--rail) minmax(0,5fr) minmax(0,7fr);grid-template-areas:"when main body"}}.split{gap:56px;display:grid}@media (min-width:1000px){.split{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;gap:64px}}.split .sec-head{grid-template-columns:1fr}.skills{flex-wrap:wrap;gap:10px;display:flex}.skills li{border:1px solid var(--line-g);background:var(--sheet);transition:transform .16s var(--ease),border-color .2s,color .2s;padding:9px 14px;font-size:.95rem;font-weight:500}.skills li:hover{border-color:var(--alpine);color:var(--alpine);transform:translateY(-2px)}.edu{background:var(--sheet);border-top:2px solid var(--alpine);gap:8px;padding:28px;display:grid;box-shadow:0 28px 56px -40px #0f3c34f2}@media (min-width:1000px){.edu{padding:36px}}.edu .sec-label{margin-bottom:10px}.edu-deg{--wdth:106%;color:var(--ink);font-size:clamp(1.45rem,2vw,1.9rem);line-height:1.1}.edu-school{font-weight:600}.stages{gap:40px 28px;display:grid}@media (min-width:680px){.stages{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1150px){.stages{grid-template-columns:repeat(4,minmax(0,1fr))}}.stage{align-content:start;gap:12px;display:grid}@media (min-width:680px){.stage{border-top:2px solid var(--alpine);padding-top:16px}}.stage-h{font-weight:inherit;gap:12px;display:grid}.stage-n{justify-content:space-between;gap:12px;display:flex}.stage p:last-child{font-size:.97rem}.stage-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:22px;display:grid}.stage-tabs button{text-align:left;border:0;border-top:4px solid var(--line);min-height:64px;color:var(--ink);cursor:pointer;touch-action:manipulation;transition:border-color .26s var(--ease);background:0 0;align-content:start;gap:4px;padding:12px 0 0;display:grid}.stage-tabs button .soft{letter-spacing:.02em;font-size:.72rem;line-height:1.3}.stage-tabs button.done{border-top-color:var(--alpine)}.stage-tabs button[aria-selected=true]{border-top-color:var(--hi)}@media (max-width:679px){.stage:not(.on){display:none}.stage.on{animation:stage-in .32s var(--ease)}.stage .stage-n{display:none}}@media (min-width:680px){.stage-tabs{display:none}}@keyframes stage-in{0%{opacity:0;transform:translate(12px)}}.contact{background:var(--sheet);gap:48px;padding:28px;display:grid;box-shadow:0 40px 80px -52px #0f3c34f2}@media (min-width:900px){.contact{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;padding:48px}.contact>form{border-left:1px solid var(--line);margin-left:48px;padding-left:48px}}.direct{border-top:1px solid var(--line);margin-top:14px}.direct li{border-bottom:1px solid var(--line);grid-template-columns:88px minmax(0,1fr);align-items:baseline;gap:12px;padding:14px 0;display:grid}.direct a{font-family:var(--display);font-weight:var(--display-weight);font-stretch:var(--wdth,106%);letter-spacing:var(--display-tracking);color:var(--ink);overflow-wrap:anywhere;align-items:center;gap:8px;min-height:44px;font-size:clamp(1.1rem,1.7vw,1.45rem);text-decoration:none;display:inline-flex}.direct a:hover{text-decoration:underline;-webkit-text-decoration-color:var(--hi);text-decoration-color:var(--hi);text-underline-offset:4px;text-decoration-thickness:4px}.next-label{margin-top:40px}.form-label{margin-bottom:28px}.form-note{margin-top:14px;font-size:.88rem}.hp{width:1px;height:1px;position:absolute;left:-9999px}.steps{counter-reset:s;gap:16px;margin-top:18px;display:grid}.steps li{counter-increment:s;color:var(--text);padding-left:40px;font-size:.97rem;position:relative}.steps li:before{content:counter(s);background:var(--alpine);width:26px;height:26px;color:var(--white);font-family:var(--mono);place-items:center;font-size:.74rem;display:grid;position:absolute;top:1px;left:0}.field{margin-bottom:22px;display:block}.field>span{color:var(--soft);margin-bottom:6px;display:block}.field em{text-transform:none;letter-spacing:0;font-style:normal}.field input,.field textarea{background:var(--page);border:1px solid #0000;border-bottom:1.5px solid var(--alpine);width:100%;font:inherit;color:var(--ink);border-radius:0;min-height:48px;padding:12px 14px;transition:background .16s,border-color .16s}.field textarea{resize:vertical;min-height:128px}.field input:focus,.field textarea:focus{border-color:var(--alpine);background:var(--sheet);box-shadow:0 0 0 3px var(--hi);outline:none}footer{background:var(--ink-deep);color:var(--white);padding:80px var(--inset) 44px;position:relative;overflow:hidden}.foot-glow{pointer-events:none;background:radial-gradient(60% 80% at 15% 0,#2e735552,#0000 70%);position:absolute;inset:0}.foot{z-index:1;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:32px 48px;display:flex;position:relative}.foot-name{--wdth:125%;letter-spacing:-.03em;text-transform:var(--display-case);font-size:clamp(2.4rem,6.4vw,5.4rem);line-height:.9}.foot-sub{margin-top:12px}.foot-links,.foot-sub{color:var(--on-dark-soft)}.foot-links{gap:4px;font-style:normal;display:grid}.foot-links a{align-items:center;min-height:44px;text-decoration:none;display:inline-flex}@media (min-width:700px){.foot-links a{justify-content:flex-end}}.foot-links a:hover{color:var(--white)}@media (min-width:700px){.foot-links{text-align:right}}.nf{align-content:center;min-height:100svh}.nf,.nf-in{display:grid}.nf-in{justify-items:start;gap:20px}.nf-h{--wdth:112%;text-transform:var(--display-case)}.nf-p{max-width:46ch;margin-bottom:8px}@media (min-width:900px){.nf-in>.btn,.nf-p{margin-left:calc(var(--rail) + var(--gutter))}}.shader{pointer-events:none;z-index:0;opacity:0;width:100%;height:100%;transition:opacity .9s var(--ease);display:block;position:absolute;inset:0}.shader.on{opacity:1}.js .rv{opacity:0;transition:opacity .6s var(--ease),transform .6s var(--ease);transform:translateY(20px)}.js .rv.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .rv{transition:opacity .2s linear;transform:none}.menu,.stage.on,.tl-bar{animation:none}.btn:active,.skills li:hover,a:hover .arr,button:hover .arr{transform:none}.job-body,.job-toggle i:after,.shader{transition:none}.banner-track,.banner-track.l,.banner-track.r{width:auto;animation:none}.banner-track>[aria-hidden=true]{display:none}.banner-view{overflow-x:auto;-webkit-mask-image:none;mask-image:none}}@media (pointer:coarse){.tl{--row:32px}}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@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}