/*! tailwindcss v4.2.1 | 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-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{:root,:host{--font-sans:ui-sans-serif, system-ui, 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;--spacing:.25rem;--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)}}@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,ui-sans-serif, system-ui, 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{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}}@layer components;@layer utilities{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.block{display:block}.table{display:table}.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))}}:root{--ink:#0a0a0a;--paper:#f1f0eb;--muted:#a2a29d;--line:#292929;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--ink:#f2f1eb;--paper:#11120f;--muted:#64655f;--line:#cfcec6;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ink);color:var(--paper);font-family:var(--font-geist), Arial, sans-serif;margin:0}.theme-toggle{color:#f1f0eb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;font:600 8px var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.08em;background:#181916e8;border:1px solid #ffffff24;border-radius:100px;align-items:center;gap:8px;padding:5px 9px 5px 5px;transition:background .25s,color .25s,border-color .25s,transform .2s;display:flex;box-shadow:0 5px 18px #0003}.theme-toggle:hover{transform:translateY(-2px)}.theme-toggle:focus-visible{outline-offset:3px;outline:2px solid #a7ef56}.theme-toggle-track{background:#30312d;border-radius:100px;justify-content:space-around;align-items:center;width:42px;height:22px;font-size:9px;display:flex;position:relative}.theme-toggle-sun,.theme-toggle-moon{z-index:1;position:relative}.theme-toggle-sun{color:#11120f}.theme-toggle-moon{color:#e8e8e2;font-size:7px}.theme-toggle-thumb{background:#a7ef56;border-radius:50%;width:16px;height:16px;transition:transform .3s cubic-bezier(.2,.8,.2,1);position:absolute;top:3px;right:3px}:root[data-theme=light] .theme-toggle{color:#171814;background:#fffffff0;border-color:#11120f20;box-shadow:0 8px 30px #34342d24}:root[data-theme=light] .theme-toggle-track{background:#deddd5}:root[data-theme=light] .theme-toggle-thumb{transform:translate(-20px)}:root[data-theme=light] .nav{background:#f2f1ebe8}:root[data-theme=light] .hero-bottom>p,:root[data-theme=light] .project-copy p,:root[data-theme=light] .company-intro,:root[data-theme=light] .product-record>p,:root[data-theme=light] .about-copy{color:#44453f}:root[data-theme=light] .round-link{border-color:#aaa9a1}:root[data-theme=light] .round-link:hover{color:#f1f0eb;background:#11120f}:root[data-theme=light] .rain i{background:linear-gradient(#0000,#4a4b45)}:root[data-theme=light] .project-copy li,:root[data-theme=light] .company-logo,:root[data-theme=light] .company-stack li{color:#55564f;background:#11120f05;border-color:#c3c2ba}:root[data-theme=light] .company-stack li img.tech-icon-light{filter:none}:root[data-theme=light] .product-record{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=light] .product-record{border-color:color-mix(in srgb, var(--accent) 65%, #8d8c85)}}:root[data-theme=light] .principles strong{color:var(--paper)}:root[data-theme=light] .contact{color:#f1f0eb;background:#11120f}:root[data-theme=light] .contact h2 em{color:#f1f0eb}:root[data-theme=light] .contact .eyebrow,:root[data-theme=light] .contact footer{color:#aaa9a2}:root[data-theme=light] .contact-links{border-color:#484943}:root[data-theme=light] .resume-page{background:#e5e4dd}:root[data-theme=light] .nav-resume:hover,:root[data-theme=light] .nav-resume[aria-current=page],:root[data-theme=light] .hero h1 em,:root[data-theme=light] .experience-heading h2 em,:root[data-theme=light] .company-context strong,:root[data-theme=light] .about-lede span,:root[data-theme=light] .resume-nav nav a[aria-current=page]{color:#4b741f;border-color:#4b741f}a{color:inherit;text-decoration:none}section[id]{scroll-margin-top:24px}.shell{width:min(1400px,100% - 64px);margin:0 auto}.nav{border-bottom:1px solid var(--line);z-index:15;-webkit-backdrop-filter:blur(16px);background:#0a0a0ae8;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;height:92px;margin:0;padding-inline:max(32px,50% - 700px);display:grid;position:sticky;top:0}.monogram{letter-spacing:-.08em;width:fit-content;font-size:23px;font-weight:800}.brand-actions{align-items:center;gap:14px;width:fit-content;display:flex}.monogram span{vertical-align:top;letter-spacing:0;margin-left:4px;font-size:8px}.nav nav{gap:38px;font-size:13px;display:flex}.nav nav a,.availability{transition:opacity .2s}.nav nav a:hover,.availability:hover{opacity:.55}.nav-mobile-resume{display:none}.nav-actions{justify-self:end;align-items:center;gap:22px;display:flex}.nav-resume{font:500 11px var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid #686864;padding-bottom:4px;transition:color .2s,border-color .2s}.nav-resume:hover,.nav-resume[aria-current=page]{color:#a7ef56;border-color:#a7ef56}.availability{text-transform:uppercase;letter-spacing:.09em;justify-self:end;align-items:center;gap:9px;font-size:12px;display:flex}.availability span{background:#a7ef56;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #a7ef5620}.hero{flex-direction:column;justify-content:space-between;min-height:calc(100vh - 92px);padding:clamp(80px,12vh,145px) 0 52px;display:flex;position:relative;overflow:hidden}.eyebrow{font:500 11px/1 var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:0}.hero h1{letter-spacing:-.075em;z-index:1;margin:30px 0 80px;font-size:clamp(64px,10.5vw,158px);font-weight:600;line-height:.84;position:relative}.hero h1 em,.contact h2 em{color:#a7ef56;font-family:Georgia,serif;font-weight:400}.hero-bottom{z-index:1;justify-content:space-between;align-items:flex-end;display:flex;position:relative}.hero-bottom>p{letter-spacing:-.035em;color:#d6d5d0;width:min(470px,60%);margin:0;font-size:clamp(18px,2vw,28px);line-height:1.28}.round-link{width:118px;height:118px;font:500 11px var(--font-mono), monospace;text-transform:uppercase;border:1px solid #4a4a47;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:13px;transition:all .35s;display:flex}.round-link:hover{background:var(--paper);color:var(--ink);transform:rotate(-8deg)}.round-link b{font-size:18px;font-weight:400}.rain{pointer-events:none;opacity:.32;position:absolute;inset:0}.rain i{background:linear-gradient(#0000,#fff);width:1px;height:90px;animation:7s linear infinite fall;position:absolute;top:-18%}.rain i:first-child{animation-delay:-2s;left:8%}.rain i:nth-child(2){animation-delay:-6s;left:31%}.rain i:nth-child(3){animation-delay:-3.5s;left:54%}.rain i:nth-child(4){animation-delay:-1s;left:76%}.rain i:nth-child(5){animation-delay:-5s;left:94%}@keyframes fall{to{transform:translateY(130vh)}}.toolbox{border-top:1px solid var(--line);padding:140px 0 160px}.toolbox-heading{grid-template-columns:1fr 2fr 1fr;align-items:end;margin-bottom:72px;display:grid}.toolbox-heading h2{letter-spacing:-.065em;margin:0;font-size:clamp(54px,7vw,104px);font-weight:550;line-height:.9}.toolbox-heading h2 em{color:#a7ef56;font-family:Georgia,serif;font-weight:400}.toolbox-heading>p:last-child{color:var(--muted);max-width:290px;margin:0 0 7px 40px;font-size:14px;line-height:1.55}.toolbox-filter{grid-template-columns:1fr 3fr;align-items:end;margin:0 0 24px;display:grid}.toolbox-filter label{color:var(--muted);font:600 10px var(--font-mono), monospace;letter-spacing:.08em;text-transform:uppercase}.toolbox-filter-field{border-bottom:1px solid var(--line);align-items:center;transition:border-color .2s;display:flex}.toolbox-filter-field:focus-within{border-color:#a7ef56}.toolbox-filter input{width:100%;color:var(--foreground);background:0 0;border:0;outline:0;padding:12px 0 14px;font:500 18px/1.3 inherit}.toolbox-filter input::placeholder{color:#70706c}.toolbox-filter button{color:var(--muted);cursor:pointer;font:600 9px var(--font-mono), monospace;letter-spacing:.06em;text-transform:uppercase;background:0 0;border:0;padding:10px 0 10px 18px}.toolbox-filter button:hover,.toolbox-filter button:focus-visible{color:var(--foreground)}.toolbox-grid{grid-template-columns:repeat(12,1fr);gap:16px;display:grid}.toolbox-grid.is-filtered .toolbox-group{grid-column:1/-1;min-height:230px}.toolbox-empty{border:1px solid var(--line);color:var(--muted);text-align:center;grid-column:1/-1;margin:0;padding:60px 28px;font-size:16px}.toolbox-group{--tool-accent:#3f7fdf;border:1px solid var(--line);background:linear-gradient(145deg, var(--tool-accent), #151515 58%);grid-column:span 7;min-height:280px;padding:24px 28px 26px}@supports (color:color-mix(in lab, red, red)){.toolbox-group{background:linear-gradient(145deg, color-mix(in srgb, var(--tool-accent) 9%, #151515), #151515 58%)}}.toolbox-group{flex-direction:column;transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .3s;display:flex;position:relative;overflow:hidden}.toolbox-group:nth-child(2),.toolbox-group:nth-child(3){grid-column:span 5}.toolbox-group:nth-child(4){grid-column:span 7}.toolbox-group:nth-child(5){grid-column:1/-1;min-height:230px}.toolbox-group:nth-child(2){--tool-accent:#3895da}.toolbox-group:nth-child(3){--tool-accent:#2fa7cf}.toolbox-group:nth-child(4){--tool-accent:#32b5a5}.toolbox-group:nth-child(5){--tool-accent:#78c968}.toolbox-group:before{content:"";background:var(--tool-accent);width:3px;transition:width .35s;position:absolute;inset:0 auto 0 0}.toolbox-group:after{content:attr(data-index);color:var(--tool-accent);position:absolute;bottom:-50px;right:-8px}@supports (color:color-mix(in lab, red, red)){.toolbox-group:after{color:color-mix(in srgb, var(--tool-accent) 8%, transparent)}}.toolbox-group:after{font:650 190px/1 var(--font-mono), monospace;pointer-events:none}.toolbox-group:hover{border-color:var(--tool-accent);transform:translateY(-5px)}@supports (color:color-mix(in lab, red, red)){.toolbox-group:hover{border-color:color-mix(in srgb, var(--tool-accent) 65%, var(--line))}}.toolbox-group:hover:before{width:7px}.toolbox-number{color:var(--tool-accent);font:600 9px var(--font-mono), monospace;letter-spacing:.1em}.toolbox-group-heading{z-index:1;margin:auto 0 22px;position:relative}.toolbox-group-heading h3{letter-spacing:-.05em;margin:0 0 10px;font-size:clamp(28px,3vw,46px);line-height:1}.toolbox-group-heading p{color:#aaa9a4;max-width:500px;margin:0;font-size:14px;line-height:1.5}.toolbox-group ul{border-top:1px solid var(--tool-accent);flex-wrap:wrap;gap:8px 0;margin:0;padding:16px 0 0;display:flex}@supports (color:color-mix(in lab, red, red)){.toolbox-group ul{border-top:1px solid color-mix(in srgb, var(--tool-accent) 24%, var(--line))}}.toolbox-group ul{z-index:1;list-style:none;position:relative}.toolbox-group li{color:#d2d1cb;letter-spacing:-.01em;font-size:16px;font-weight:500;line-height:1.4}.toolbox-group li:not(:last-child):after{content:"/";color:var(--tool-accent);padding:0 10px}@supports (color:color-mix(in lab, red, red)){.toolbox-group li:not(:last-child):after{color:color-mix(in srgb, var(--tool-accent) 65%, #777)}}.toolbox-group li:not(:last-child):after{font-weight:400}:root[data-theme=light] .toolbox-heading h2 em{color:#4b741f}:root[data-theme=light] .toolbox-group{color:#151610;background:linear-gradient(145deg, var(--tool-accent), #deddd5 62%);border-color:#c8c7bf}@supports (color:color-mix(in lab, red, red)){:root[data-theme=light] .toolbox-group{background:linear-gradient(145deg, color-mix(in srgb, var(--tool-accent) 20%, #e5e4dc), #deddd5 62%)}}:root[data-theme=light] .toolbox-group-heading p{color:#55564f}:root[data-theme=light] .toolbox-group li{color:#34352f}.work{padding:140px 0 160px}.section-heading{grid-template-columns:1fr 2fr 1fr;align-items:end;margin-bottom:72px;display:grid}.section-heading h2{letter-spacing:-.065em;margin:0;font-size:clamp(54px,7vw,104px);font-weight:550;line-height:.95}.section-note{color:var(--muted);max-width:310px;margin:0 0 6px 40px;font-size:14px;line-height:1.55}.project-list{border-top:1px solid var(--line)}.project{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);column-gap:60px;padding:38px 0 54px;display:grid}.project-top{font:500 11px var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);grid-column:1/-1;grid-template-columns:1fr 1fr auto;margin-bottom:34px;display:grid}.project-top span:nth-child(2){text-align:center}.project-top>span:last-child{font-size:20px}.project-visual{color:#0b0b0b;border-radius:2px;place-items:center;min-height:430px;transition:transform .45s cubic-bezier(.2,.8,.2,1);display:grid;position:relative;overflow:hidden}.project:hover .project-visual{transform:scale(.985)}.project-template{cursor:default}.project-template:hover .project-visual{transform:none}.project-template .project-visual{background:#a7ef56}.project-template .project-cta{color:#777;border-color:#343431}.project.lime .project-visual{background:#b8ea74}.project.blue .project-visual{background:#79aef2}.project.violet .project-visual{background:#b29bea}.project-visual:after{content:"";border:1px solid #1117;border-radius:50%;width:280px;height:280px;position:absolute}.project-visual strong{letter-spacing:-.07em;z-index:1;font-size:clamp(54px,7vw,104px)}.window-bar{gap:5px;display:flex;position:absolute;top:18px;left:20px}.window-bar i{opacity:.55;background:#111;border-radius:50%;width:6px;height:6px}.visual-orbit{border:1px solid #1115;border-radius:50%;width:380px;height:160px;position:absolute;transform:rotate(-19deg)}.project-copy{align-self:end;padding-bottom:6px}.project-copy h3{letter-spacing:-.05em;margin:0 0 26px;font-size:clamp(30px,3.5vw,52px);line-height:1}.project-copy p{color:#b7b7b1;margin:0 0 30px;font-size:17px;line-height:1.5}.project-copy ul{flex-wrap:wrap;gap:8px;margin:0 0 48px;padding:0;list-style:none;display:flex}.project-copy li{font:500 10px var(--font-mono), monospace;text-transform:uppercase;color:#aaa;border:1px solid #353532;border-radius:100px;padding:7px 11px}.project-cta{font:500 12px var(--font-mono), monospace;text-transform:uppercase;border-bottom:1px solid #767672;padding-bottom:7px}.project-cta span{margin-left:8px}.experience{border-top:1px solid var(--line);padding:140px 0 170px}.experience-heading{grid-template-columns:1fr 2fr 1fr;align-items:end;margin-bottom:110px;display:grid}.experience-heading h2{letter-spacing:-.065em;margin:0;font-size:clamp(54px,7vw,104px);font-weight:550;line-height:.9}.experience-heading h2 em{color:#a7ef56;font-family:Georgia,serif;font-weight:400}.experience-heading>p:last-child{color:var(--muted);max-width:270px;margin:0 0 7px 40px;font-size:14px;line-height:1.55}.experience-list{border-top:1px solid var(--line)}.experience-chapter{border-bottom:1px solid var(--line);grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);align-items:start;gap:clamp(50px,9vw,150px);padding:70px 0 100px;display:grid}.company-context{position:sticky;top:32px}.company-index{color:#686864;font:500 10px var(--font-mono), monospace;margin-bottom:45px;display:block}.company-logo-link{cursor:pointer;border-radius:12px;width:96px;height:96px;margin:0 0 28px;display:block;position:relative}.company-logo{object-fit:cover;border:1px solid #30302d;border-radius:12px;width:96px;height:96px;transition:transform .25s,border-color .25s,box-shadow .25s;display:block}.company-logo-label{color:#f1f0eb;opacity:0;pointer-events:none;font:600 8px var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.08em;background:#0b0b0bcc;border-radius:12px;place-items:center;transition:opacity .25s,transform .25s;display:grid;position:absolute;inset:0;transform:translateY(3px)}.company-logo-link:hover .company-logo{border-color:#a7ef56;transform:translateY(-3px);box-shadow:0 10px 28px #0004}.company-logo-link:hover .company-logo-label,.company-logo-link:focus-visible .company-logo-label{opacity:1;transform:translateY(-3px)}.company-logo-link:focus-visible{outline-offset:4px;outline:2px solid #a7ef56}.company-context h3{letter-spacing:-.06em;max-width:540px;margin:25px 0 12px;font-size:clamp(36px,5vw,70px);font-weight:550;line-height:.95}.company-context strong{color:#a7ef56;font:500 10px var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.1em}.company-intro{color:#aaa9a4;max-width:490px;margin:32px 0 0;font-size:16px;line-height:1.6}.company-stack{border-top:1px solid #292929;max-width:490px;margin-top:34px;padding-top:22px}.company-stack>span{color:#686864;font:500 9px var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.13em;margin-bottom:13px;display:block}.company-stack ul{flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;display:flex}.company-stack li{color:#b5b5af;font:500 9px var(--font-mono), monospace;background:#ffffff05;border:1px solid #383834;border-radius:100px;align-items:center;gap:7px;padding:6px 10px 6px 8px;display:inline-flex}.company-stack li img{object-fit:contain;flex:none;width:13px;height:13px}.company-stack li img.tech-icon-light{filter:invert()}.product-records{gap:16px;display:grid}.product-record{--accent:#a7ef56;background:radial-gradient(circle at 100% 0%, var(--accent) 0, transparent 40%), linear-gradient(145deg, var(--accent) 0%, #d8d7cf 72%);min-height:300px;padding:28px 30px 32px}@supports (color:color-mix(in lab, red, red)){.product-record{background:radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--accent) 72%, transparent) 0, transparent 40%), linear-gradient(145deg, color-mix(in srgb, var(--accent) 38%, #deddd4) 0%, #d8d7cf 72%)}}.product-record{color:#141510;border:1px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.product-record{border:1px solid color-mix(in srgb, var(--accent) 65%, #8d8c85)}}.product-record{isolation:isolate;border-radius:18px;flex-direction:column;transition:border-color .25s,transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px #0002,inset 0 1px #fff8}.product-record:before{content:"";background:var(--accent);width:6px;height:100%;transition:width .45s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0 auto 0 0}.product-record:after{content:attr(data-index);z-index:-1;color:var(--accent);position:absolute;bottom:-36px;right:16px}@supports (color:color-mix(in lab, red, red)){.product-record:after{color:color-mix(in srgb, var(--accent) 36%, transparent)}}.product-record:after{font:650 clamp(150px, 17vw, 250px)/1 var(--font-mono), monospace;letter-spacing:-.12em;pointer-events:none;transition:color .35s,transform .45s cubic-bezier(.2,.8,.2,1)}.product-record:hover{border-color:var(--accent);box-shadow:0 22px 60px var(--accent)}@supports (color:color-mix(in lab, red, red)){.product-record:hover{box-shadow:0 22px 60px color-mix(in srgb, var(--accent) 20%, #0003)}}.product-record:hover{transform:translate(-7px,-3px)}.product-record:hover:before{width:10px}.product-record:hover:after{color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.product-record:hover:after{color:color-mix(in srgb, var(--accent) 13%, transparent)}}.product-record:hover:after{transform:translate(-7px,-5px)}.company-1 .product-record:nth-child(8n+1){--accent:#3f7fdf}.company-1 .product-record:nth-child(8n+2){--accent:#398fdc}.company-1 .product-record:nth-child(8n+3){--accent:#32a0d5}.company-1 .product-record:nth-child(8n+4){--accent:#2dacca}.company-1 .product-record:nth-child(8n+5){--accent:#36b9ad}.company-1 .product-record:nth-child(8n+6){--accent:#49bf8d}.company-1 .product-record:nth-child(8n+7){--accent:#68c873}.company-1 .product-record:nth-child(8n){--accent:#8dcc62}.company-2 .product-record:nth-child(7n+1){--accent:#3f7fdf}.company-2 .product-record:nth-child(7n+2){--accent:#3895da}.company-2 .product-record:nth-child(7n+3){--accent:#2fa7cf}.company-2 .product-record:nth-child(7n+4){--accent:#32b5b7}.company-2 .product-record:nth-child(7n+5){--accent:#45bf99}.company-2 .product-record:nth-child(7n+6){--accent:#64c77b}.company-2 .product-record:nth-child(7n){--accent:#8dcc62}.company-3 .product-record{--accent:#3f7fdf}.record-meta{color:var(--accent);grid-template-columns:1fr 1fr auto;display:grid}@supports (color:color-mix(in lab, red, red)){.record-meta{color:color-mix(in srgb, var(--accent) 52%, #34352f)}}.record-meta{font:600 9px var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.1em}.record-meta span:nth-child(2){text-align:center}.record-meta>span:last-child{font-size:16px}.product-record h4{letter-spacing:-.05em;z-index:1;margin:auto 0 18px;font-size:clamp(30px,3.5vw,48px);font-weight:550;line-height:1;position:relative}.product-record>p{color:#4c4d46;max-width:570px;margin:0 0 26px;font-size:14px;line-height:1.55}.product-record ul{flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;display:flex}.product-record li{border:1px solid var(--accent);padding:6px 9px}@supports (color:color-mix(in lab, red, red)){.product-record li{border:1px solid color-mix(in srgb, var(--accent) 62%, #85847d)}}.product-record li{color:#292a25;background:var(--accent);border-radius:100px}@supports (color:color-mix(in lab, red, red)){.product-record li{background:color-mix(in srgb, var(--accent) 28%, #fff9)}}.product-record li{font:600 9px var(--font-mono), monospace;text-transform:uppercase}:root[data-theme=dark] .product-record{background:linear-gradient(135deg, var(--accent) 0%, #151515 44%);padding:26px 28px 30px}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark] .product-record{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 7%, #151515) 0%, #151515 44%)}}:root[data-theme=dark] .product-record{color:var(--paper);box-shadow:none;border:1px solid #292929;border-radius:0}:root[data-theme=dark] .product-record:before{width:28%;height:2px;inset:-1px auto auto -1px}:root[data-theme=dark] .product-record:after{color:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark] .product-record:after{color:color-mix(in srgb, var(--accent) 8%, transparent)}}:root[data-theme=dark] .product-record:hover{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark] .product-record:hover{border-color:color-mix(in srgb, var(--accent) 58%, #292929)}}:root[data-theme=dark] .product-record:hover{box-shadow:0 18px 55px var(--accent)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark] .product-record:hover{box-shadow:0 18px 55px color-mix(in srgb, var(--accent) 9%, transparent)}}:root[data-theme=dark] .product-record:hover{transform:translate(-7px)}:root[data-theme=dark] .product-record:hover:before{width:100%}:root[data-theme=dark] .product-record:hover:after{color:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark] .product-record:hover:after{color:color-mix(in srgb, var(--accent) 13%, transparent)}}:root[data-theme=dark] .record-meta{color:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark] .record-meta{color:color-mix(in srgb, var(--accent) 55%, #777)}}:root[data-theme=dark] .record-meta{font-weight:500}:root[data-theme=dark] .product-record>p{color:#aaa9a4}:root[data-theme=dark] .product-record li{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark] .product-record li{border-color:color-mix(in srgb, var(--accent) 22%, #393936)}}:root[data-theme=dark] .product-record li{color:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark] .product-record li{color:color-mix(in srgb, var(--accent) 42%, #898984)}}:root[data-theme=dark] .product-record li{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark] .product-record li{background:color-mix(in srgb, var(--accent) 3%, transparent)}}:root[data-theme=dark] .product-record li{font-weight:500}.about{grid-template-columns:1.5fr 1fr;gap:12vw;padding:140px 0 170px;display:grid}.about-lede{letter-spacing:-.065em;margin:36px 0 0;font-size:clamp(44px,6vw,88px);line-height:1.02}.about-lede span{color:#a7ef56;font-family:Georgia,serif;font-style:italic}.about-copy{color:#c7c7c1;padding-top:30px;font-size:17px;line-height:1.65}.about-copy>p{margin:0 0 24px}.principles{border-top:1px solid var(--line);margin-top:70px}.principles div{border-bottom:1px solid var(--line);gap:30px;padding:20px 0;display:flex}.principles span{color:#777;font:11px var(--font-mono), monospace}.principles strong{color:var(--paper);font-size:15px;font-weight:500}.contact{background:var(--paper);color:var(--ink)}.contact-inner{padding:115px 0 36px}.contact .eyebrow{color:#676763}.contact h2{letter-spacing:-.075em;margin:52px 0 110px;font-size:clamp(64px,10vw,150px);font-weight:600;line-height:.85}.contact h2 em{color:var(--ink)}.contact-links{border-bottom:1px solid #c2c1bc;justify-content:space-between;align-items:flex-end;padding-bottom:45px;display:flex}.contact-links>a{border-bottom:2px solid;padding-bottom:5px;font-size:clamp(22px,3vw,42px)}.contact-links>div{font:500 12px var(--font-mono), monospace;text-transform:uppercase;gap:30px;display:flex}.contact footer{color:#71716d;font:500 10px var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;padding-top:30px;display:flex}@media (width<=900px){.shell{width:min(100% - 36px,1400px)}.nav{-webkit-backdrop-filter:none;grid-template-columns:1fr auto;padding-inline:18px}.nav nav{left:12px;right:12px;bottom:max(12px, env(safe-area-inset-bottom));z-index:30;-webkit-backdrop-filter:blur(18px);background:#151515ee;border:1px solid #ffffff1f;border-radius:18px;grid-auto-columns:1fr;grid-auto-flow:column;gap:0;padding:8px;display:grid;position:fixed;box-shadow:0 14px 40px #0009}.nav nav a{min-height:42px;font:600 8px var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.04em;border-radius:11px;place-items:center;display:grid}.nav nav a:hover,.nav nav a:focus-visible,.nav nav a[aria-current=page]{color:#0a0a0a;opacity:1;background:#a7ef56}.nav-mobile-resume{display:grid}.nav-resume{display:none}.contact-inner{padding-bottom:110px}:root[data-theme=light] .nav nav{color:#1b1c18;background:#fffffff0;border-color:#11120f1f;box-shadow:0 14px 40px #35362f35}.hero{min-height:760px;padding-top:90px}.hero h1{margin-top:25px}.hero-bottom>p{width:70%}.section-heading,.experience-heading,.toolbox-heading{grid-template-columns:1fr;gap:25px}.section-note,.experience-heading>p:last-child,.toolbox-heading>p:last-child{margin-left:0}.toolbox-filter{grid-template-columns:1fr;gap:10px}.toolbox-grid{grid-template-columns:1fr}.toolbox-group,.toolbox-group:nth-child(2),.toolbox-group:nth-child(3),.toolbox-group:nth-child(4),.toolbox-group:nth-child(5),.toolbox-grid.is-filtered .toolbox-group{grid-column:auto}.project{grid-template-columns:1fr}.project-visual{min-height:380px}.project-copy{padding-top:35px}.experience-chapter{grid-template-columns:1fr;gap:50px}.company-context{position:static}.about{grid-template-columns:1fr;gap:55px}}@media (width<=560px){.nav{height:74px}.availability{font-size:10px}.hero{min-height:calc(100svh - 74px);padding:64px 0 112px}.hero h1{margin:20px 0 38px;font-size:clamp(53px,17vw,80px);line-height:.9}.hero-bottom{align-items:center}.hero-bottom>p{width:100%;font-size:16px}.round-link{display:none}.work{padding:90px 0 100px}.toolbox{padding:90px 0 110px}.toolbox-heading{margin-bottom:55px}.toolbox-group,.toolbox-group:nth-child(5){min-height:240px;padding:20px 22px}.project{padding:25px 0 40px}.project-top{grid-template-columns:auto 1fr auto;gap:20px}.project-top span:nth-child(2){text-align:right}.project-visual{min-height:250px}.project-visual:after{width:180px;height:180px}.visual-orbit{width:250px;height:110px}.project-copy ul{margin-bottom:35px}.experience{padding:90px 0 110px}.experience-heading{margin-bottom:70px}.experience-chapter{padding:48px 0 70px}.company-index{margin-bottom:30px}.product-record{min-height:260px;padding:22px}.about{padding:90px 0 110px}.contact-inner{padding-top:85px}.contact h2{margin:42px 0 80px}.contact-links{flex-direction:column;align-items:flex-start;gap:55px}.contact-links>div{justify-content:space-between;width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rain i{animation:none}*{transition-duration:.01ms!important}}.resume-page{color:#e9e9e3;background:#10110f;min-height:100vh}.resume-nav nav a[aria-current=page]{color:#a7ef56}.resume-stage{grid-template-columns:54px minmax(0,1fr);gap:26px;width:min(1180px,100% - 48px);margin:0 auto;padding:90px 0 120px;display:grid;position:relative}.resume-export{color:#0a0a0a;cursor:pointer;font:650 9px var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.1em;background:#a7ef56;border:0;border-radius:100px;padding:11px 17px;transition:transform .2s,background .2s;position:absolute;top:30px;right:0}.resume-export:hover{background:#bdff71;transform:translateY(-2px)}.resume-rail{color:#676860;font:500 8px var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.14em;flex-direction:column;align-items:center;gap:18px;display:flex}.resume-rail i{background:linear-gradient(#a7ef56,#2c2d29);width:1px;height:160px}.resume-rail span:last-child{writing-mode:vertical-rl}.resume-sheet{color:#11120f;background:#f0efe9;box-shadow:0 35px 90px #0008}.resume-hero{border-bottom:1px solid #c7c6bf;grid-template-columns:1.55fr .75fr;align-items:end;gap:70px;min-height:510px;padding:clamp(42px,6vw,82px);display:grid;position:relative;overflow:hidden}.resume-hero:after{content:"";border:1px solid #11120f24;border-radius:50%;width:280px;height:280px;position:absolute;top:-100px;right:-100px;box-shadow:0 0 0 45px #11120f09,0 0 0 90px #11120f05}.resume-name>p{font:600 9px var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.14em;color:#65665f;margin:0 0 42px}.resume-name h1{letter-spacing:-.085em;margin:0;font-size:clamp(74px,11vw,145px);font-weight:650;line-height:.72}.resume-name h1 span{color:#72b72f}.resume-contact{z-index:1;align-self:end;position:relative}.resume-contact>p{letter-spacing:-.025em;margin:0 0 35px;font-size:18px;line-height:1.45}.resume-contact a{font:600 9px var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.1em;border-top:1px solid #c7c6bf;justify-content:space-between;padding:10px 0;display:flex}.resume-block{border-bottom:1px solid #c7c6bf;grid-template-columns:170px minmax(0,1fr);gap:38px;padding:62px clamp(42px,6vw,82px);display:grid}.resume-label{color:#686961;font:600 8px var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.13em}.resume-profile>p{letter-spacing:-.05em;max-width:750px;margin:-8px 0 0;font-size:clamp(28px,3.7vw,48px);line-height:1.08}.resume-roles{border-top:1px solid #bdbcb5}.resume-role{break-inside:avoid;border-bottom:1px solid #bdbcb5;padding:34px 0 44px}.resume-role-head{grid-template-columns:40px 1fr auto;align-items:start;gap:18px;display:grid}.resume-role-head>span{color:#77786f;font:500 8px var(--font-mono), monospace;padding-top:8px}.resume-role-head h2{letter-spacing:-.045em;margin:0;font-size:clamp(25px,3vw,40px);line-height:1}.resume-role-head p{color:#5f605a;font:600 8px var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.1em;margin:8px 0 0}.resume-role-head strong{font:600 7px var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.08em;border:1px solid #b6b6ae;border-radius:100px;padding:7px 10px}.resume-summary{color:#44453f;max-width:620px;margin:25px 0 26px 58px;font-size:14px;line-height:1.6}.resume-projects{grid-template-columns:repeat(2,1fr);gap:12px;margin-left:58px;display:grid}.resume-projects>div{background:#e3e2dc;padding:18px}.resume-projects h3{margin:0 0 9px;font-size:13px}.resume-projects p{color:#5e5f58;margin:0;font-size:11px;line-height:1.45}.resume-role ul{flex-wrap:wrap;gap:6px;margin:24px 0 0 58px;padding:0;list-style:none;display:flex}.resume-role li{color:#5e5f58;font:600 7px var(--font-mono), monospace;text-transform:uppercase;border:1px solid #bebdb6;border-radius:100px;padding:5px 8px}.resume-skills{border-top:1px solid #bdbcb5}.resume-skills>div{border-bottom:1px solid #bdbcb5;grid-template-columns:150px 1fr;gap:25px;padding:18px 0;display:grid}.resume-skills strong{font-size:12px}.resume-skills p{color:#55564f;margin:0;font-size:12px;line-height:1.5}.resume-footer{color:#676860;font:600 7px var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.12em;justify-content:space-between;padding:25px clamp(42px,6vw,82px);display:flex}@media (width<=760px){.resume-stage{grid-template-columns:1fr;width:min(100% - 24px,1180px);padding:76px 0 100px}.resume-export{top:22px}.resume-rail{display:none}.resume-hero{grid-template-columns:1fr;gap:55px;min-height:560px;padding:42px 25px}.resume-name h1{font-size:clamp(68px,21vw,110px)}.resume-block{grid-template-columns:1fr;gap:30px;padding:44px 25px}.resume-profile>p{margin:0}.resume-role-head{grid-template-columns:28px 1fr}.resume-role-head strong{grid-column:2;width:fit-content}.resume-summary,.resume-projects,.resume-role ul{margin-left:0}.resume-projects{grid-template-columns:1fr}.resume-skills>div{grid-template-columns:100px 1fr}.resume-footer{padding-inline:25px}}@media print{@page{size:A4;margin:12mm}body{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff!important}.resume-nav,.resume-export,.resume-rail{display:none!important}.resume-page,.resume-stage{background:#fff;min-height:0}.resume-stage{width:100%;padding:0;display:block}.resume-sheet{box-shadow:none;background:#fff}.resume-hero{grid-template-columns:1.4fr .8fr;min-height:0;padding:14mm 12mm}.resume-name h1{font-size:68pt}.resume-name>p{margin-bottom:18mm}.resume-contact>p{font-size:10pt}.resume-block{grid-template-columns:30mm 1fr;gap:8mm;padding:9mm 12mm}.resume-profile>p{font-size:20pt}.resume-role{padding:7mm 0}.resume-role-head h2{font-size:18pt}.resume-projects>div{background:#f2f1ec}.resume-footer{padding:6mm 12mm}}@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}
