/*! 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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y: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-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{.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}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.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}}@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/instrument-serif-italic-0.woff2)format("woff2")}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/instrument-serif-normal-1.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-normal-2.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-normal-2.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-normal-2.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-normal-3.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-normal-3.woff2)format("woff2")}:root{--black:#000;--surface:#0a0a0a;--surface-2:#111;--line:#1f1f1f;--line-strong:#333;--text:#f5f5f4;--muted:#a1a1a0;--faint:#8c8c8a;--accent:#d4ff3a;--display:"Instrument Serif", Georgia, "Times New Roman", serif;--sans:"Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;--mono:"JetBrains Mono", "SFMono-Regular", Consolas, monospace;--gutter:clamp(20px, 5vw, 72px);--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--black);scroll-padding-top:88px}body{background:var(--black);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}h1,h2,h3,p,ul,ol,blockquote{margin:0}ul,ol{padding:0;list-style:none}::selection{background:var(--accent);color:var(--black)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.skip-link{z-index:100;background:var(--accent);color:var(--black);font:600 13px/1 var(--sans);padding:10px 14px;position:fixed;top:12px;left:12px;transform:translateY(-200%)}.skip-link:focus{transform:none}.section-number{font:500 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:20px;display:block}h2{font:400 clamp(34px, 4.6vw, 62px) / 1.05 var(--display);letter-spacing:-.015em}h2 em,h1 em,blockquote em{color:var(--accent);font-style:italic}.section-heading{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:end;gap:48px;margin-bottom:64px;display:grid}.section-heading>p{color:var(--muted);max-width:460px}main>section,.site-footer{padding-left:var(--gutter);padding-right:var(--gutter)}main>section>*,.site-footer>*{max-width:var(--max);margin-left:auto;margin-right:auto}.site-header{z-index:50;height:68px;padding:0 var(--gutter);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px)saturate(140%);backdrop-filter:blur(16px)saturate(140%);background:#000000c7;grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:fixed;inset:0 0 auto}.wordmark{font:600 20px/1 var(--sans);letter-spacing:-.02em}.wordmark span{color:var(--accent)}.site-header nav{gap:36px;display:flex}.site-header nav a,.header-resume,.header-contact{font:500 13px/1 var(--sans)}.site-header nav a,.header-resume{color:var(--muted);transition:color .16s}.site-header nav a:hover,.header-resume:hover{color:var(--text)}.header-actions{justify-self:end;align-items:center;gap:22px;display:flex}.header-resume,.header-contact{align-items:center;gap:8px;display:inline-flex}.header-contact{background:var(--text);color:var(--black);border-radius:999px;padding:10px 16px;font-weight:600;transition:background .16s}.header-contact:hover{background:var(--accent)}.hero{flex-direction:column;justify-content:center;min-height:min(82svh,760px);padding-top:120px;padding-bottom:72px;display:flex;position:relative;overflow:hidden}.hero>*{position:relative}.hero>.hero-canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 55%,#0000 100%);mask-image:linear-gradient(#000 55%,#0000 100%)}.hero>.hero-kicker,.hero>.hero-copy{margin-left:max(0px, calc((100% - var(--max)) / 2));margin-right:auto}.hero-kicker,.hero-copy{transform:translateY(calc(var(--hero-scroll,0) * -.08px))}.hero-copy{opacity:max(0, calc(1 - var(--hero-scroll,0) / 650))}.hero-kicker{border:1px solid var(--line-strong);width:fit-content;font:500 12px/1 var(--mono);letter-spacing:.04em;color:var(--muted);border-radius:999px;align-items:center;gap:12px;margin-bottom:28px;padding:8px 14px;display:inline-flex}.status-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #d4ff3a26}.hero-copy{max-width:980px}.hero-name{font:400 clamp(28px, 3.2vw, 44px) / 1 var(--display);letter-spacing:-.01em;color:var(--text);align-items:center;gap:18px;margin-bottom:20px;display:flex}.hero-name:before{content:"";background:var(--accent);width:44px;height:1px}.hero h1{font:400 clamp(40px, 6.6vw, 92px) / 1 var(--display);letter-spacing:-.03em;text-wrap:balance}.hero h1 em{color:var(--accent)}.hero-intro{max-width:600px;color:var(--muted);margin-top:28px;font-size:clamp(17px,1.5vw,20px);line-height:1.55}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.btn{border:1px solid var(--line-strong);font:500 14px/1 var(--sans);border-radius:999px;align-items:center;gap:10px;padding:14px 22px;transition:background .16s,color .16s,border-color .16s;display:inline-flex}.btn:hover{border-color:var(--text)}.btn-primary{background:var(--text);border-color:var(--text);color:var(--black)}.btn-primary:hover{background:var(--accent);border-color:var(--accent)}.proof{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);padding-top:0;padding-bottom:0;display:grid}.proof>div{border-left:1px solid var(--line);max-width:none;margin:0;padding:32px 24px 32px 28px}.proof>div:first-child{border-left:0;padding-left:0}.proof strong{font:400 clamp(40px, 4.4vw, 60px) / 1 var(--display);letter-spacing:-.02em;display:block}.proof small{color:var(--faint);margin-top:10px;font-size:13px;line-height:1.5;display:block}.proof>div>span{color:var(--muted);margin-top:10px;font-size:14px;display:block}.work-section,.craft-section,.story-section,.lab-section,.about-section,.background-section{padding-top:clamp(88px,12vw,160px);padding-bottom:clamp(48px,6vw,80px)}.work-list{border-top:1px solid var(--line-strong)}.work-item{border-bottom:1px solid var(--line-strong);isolation:isolate;grid-template-columns:72px 200px minmax(0,1fr);gap:24px;padding:48px 0;display:grid;position:relative}.work-index{font:400 28px/1 var(--display);color:var(--faint)}.work-meta{font:500 12px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--faint);flex-direction:column;gap:8px;display:flex}.work-meta span:first-child{color:var(--text)}.work-body h3{max-width:640px;font:400 clamp(30px, 3.6vw, 48px) / 1.08 var(--display);letter-spacing:-.015em}.work-summary{max-width:620px;color:var(--text);margin-top:20px;font-size:18px}.work-detail{max-width:620px;color:var(--muted);margin-top:12px}.tag-list{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.tag-list li{border:1px solid var(--line-strong);font:500 12px/1.2 var(--mono);color:var(--muted);border-radius:999px;padding:6px 12px}.case-link,.text-link{border-bottom:1px solid var(--line-strong);align-items:center;gap:8px;padding-bottom:4px;font-weight:500;transition:color .16s,border-color .16s;display:inline-flex}.case-link{margin-top:28px}.case-link:hover,.text-link:hover{color:var(--accent);border-color:var(--accent)}.case-link svg,.text-link svg,.email-link svg,.lab-card svg{transition:transform .2s}.case-link:hover svg,.text-link:hover svg,.email-link:hover svg,.lab-card:hover svg,.lab-card:focus-within svg{transform:translate(3px,-3px)}.story-section{border-top:1px solid var(--line);grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);gap:clamp(40px,8vw,120px);max-width:none;display:grid}.story-section>*{max-width:none;margin:0}.story-intro{align-self:start;position:sticky;top:120px}.story-intro p{max-width:460px;color:var(--muted);margin-top:28px}main{z-index:1;position:relative}.scroll-progress{z-index:60;background:var(--accent);transform-origin:0;pointer-events:none;height:2px;position:fixed;inset:0 0 auto;transform:scaleX(0)}.ambient{z-index:0;aspect-ratio:1;filter:blur(20px);pointer-events:none;will-change:transform;background:radial-gradient(circle,#d4ff3a0e,#0000 62%);border-radius:50%;width:70vw;max-width:900px;margin:-35vw 0 0 -35vw;transition:transform .9s cubic-bezier(.2,.7,.2,1);position:fixed;top:0;left:0}.site-header nav a{position:relative}.site-header nav a:after{content:"";background:var(--accent);height:1px;transition:transform .26s;position:absolute;bottom:-8px;left:0;right:0;transform:scaleX(0)}.site-header nav a[aria-current=true]{color:var(--text)}.site-header nav a[aria-current=true]:after{transform:scaleX(1)}.craft-section{border-top:1px solid var(--line)}.capability-grid{border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong);grid-template-columns:repeat(3,1fr);display:grid}.capability{border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);padding:36px 32px 40px;transition:background .22s;position:relative}.capability:hover{background:var(--surface)}.capability-no{font:500 12px/1 var(--mono);color:var(--faint);margin-bottom:40px;display:block}.capability h3{font:400 30px/1.1 var(--display)}.capability p{color:var(--muted);margin-top:14px;font-size:15px}.capability .tag-list{margin-top:22px}.capability:after{content:"";background:var(--accent);transform-origin:0;width:100%;height:2px;transition:transform .4s cubic-bezier(.2,.7,.2,1);position:absolute;top:0;left:0;transform:scaleX(0)}.capability:hover:after{transform:scaleX(1)}.experience-list{--line:0;padding-left:36px;position:relative}.experience-list:before,.experience-list:after{content:"";background:var(--line-strong);width:1px;position:absolute;top:8px;bottom:8px;left:4px}.experience-list:after{background:var(--accent);transform:scaleY(var(--line));transform-origin:top}.experience-item{grid-template-columns:140px minmax(0,1fr);gap:20px;padding:0 0 56px;display:grid;position:relative}.experience-item:last-child{padding-bottom:0}.experience-item:before{content:"";background:var(--black);border:1px solid var(--muted);border-radius:50%;width:9px;height:9px;transition:background .3s,border-color .3s,box-shadow .3s;position:absolute;top:8px;left:-37px}.experience-item.rv-in:before{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 5px #d4ff3a24}.experience-period{font:500 12px/1.6 var(--mono);letter-spacing:.02em;color:var(--faint);padding-top:4px}.experience-item h3{font:400 32px/1.1 var(--display)}.experience-role{color:var(--text);margin-top:6px;font-size:15px}.experience-role span{color:var(--faint)}.experience-points{gap:10px;margin-top:18px;display:grid}.experience-points li{color:var(--muted);padding-left:18px;font-size:15px;position:relative}.experience-points li:before{content:"";background:var(--faint);width:8px;height:1px;position:absolute;top:.7em;left:0}.lab-section{border-top:1px solid var(--line)}.lab-heading{grid-template-columns:1fr auto}.lab-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.lab-card{border:1px solid var(--line-strong);background:var(--surface);border-radius:16px;flex-direction:column;gap:16px;padding:28px;transition:border-color .2s,background .2s;display:flex}.lab-card:hover,.lab-card:focus-within{border-color:var(--muted);background:var(--surface-2)}.lab-card h3{font:400 32px/1.1 var(--display)}.lab-card h3 a{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.lab-card h3 a:after{content:"";position:absolute;inset:0}.lab-card p{color:var(--muted);margin-top:12px;font-size:15px}.contact-section{border-top:1px solid var(--line);padding-top:clamp(96px,14vw,200px);padding-bottom:clamp(88px,12vw,160px);position:relative;overflow:hidden}.contact-section:before{content:"";pointer-events:none;background:radial-gradient(at top,#d4ff3a14,#0000 65%);width:900px;height:500px;position:absolute;top:0;left:50%;transform:translate(-50%)}.contact-section>*{position:relative}.contact-section h2{font-size:clamp(44px,8vw,110px);line-height:1}.email-link{border-bottom:1px solid var(--line-strong);font:400 clamp(22px, 3.4vw, 44px) / 1.1 var(--display);align-items:center;gap:14px;margin-top:48px;padding-bottom:8px;transition:color .16s,border-color .16s;display:inline-flex}.email-link:hover{color:var(--accent);border-color:var(--accent)}.contact-meta{color:var(--muted);flex-wrap:wrap;gap:12px 32px;margin-top:48px;font-size:14px;display:flex}.contact-meta>*{align-items:center;gap:8px;transition:color .16s;display:inline-flex}.contact-meta a:hover{color:var(--text)}.site-footer{border-top:1px solid var(--line);font:400 12px/1.5 var(--mono);color:var(--faint);flex-wrap:wrap;justify-content:space-between;gap:12px 32px;max-width:none;padding-top:28px;padding-bottom:28px;display:flex}.site-footer>*{margin:0}.site-footer a:hover{color:var(--text)}.case-hero{padding-top:140px;padding-bottom:96px;position:relative}.case-hero-topline{font:500 12px/1 var(--mono);letter-spacing:.08em;color:var(--faint);justify-content:space-between;align-items:center;margin-bottom:72px;display:flex}.case-back{color:var(--muted);align-items:center;gap:8px;transition:color .16s;display:inline-flex}.case-back:hover{color:var(--text)}.case-hero-copy>p{font:500 13px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:20px}.case-hero h1{max-width:980px;font:400 clamp(46px, 8vw, 112px) / .98 var(--display);letter-spacing:-.03em}.case-introduction{grid-template-columns:220px minmax(0,560px);gap:32px;margin-top:56px;display:grid}.case-introduction span{font:500 12px/1.6 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.case-introduction p{color:var(--muted);font-size:18px}.case-mark{display:none}.case-facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);padding-top:0;padding-bottom:0;display:grid}.case-facts>div{max-width:none;margin:0;padding:32px 24px 32px 0}.case-facts>div+div{border-left:1px solid var(--line);padding-left:24px}.case-facts span{font:500 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:10px;display:block}.case-facts strong{font-size:16px;font-weight:500}.case-narrative{grid-template-columns:280px minmax(0,1fr);gap:clamp(32px,7vw,112px);padding-top:clamp(72px,10vw,128px);padding-bottom:clamp(72px,10vw,128px);display:grid}.case-narrative>*{max-width:none;margin:0}.case-note{align-self:start;position:sticky;top:120px}.case-note span{font:500 12px/1 var(--mono);letter-spacing:.08em;color:var(--faint);margin-bottom:16px;display:block}.case-note p{color:var(--muted);font-size:14px}.case-chapter{border-top:1px solid var(--line-strong);grid-template-columns:56px minmax(0,1fr);gap:20px;padding:44px 0;display:grid}.case-chapter:last-child{border-bottom:1px solid var(--line-strong)}.case-chapter-index{font:400 24px/1 var(--display);color:var(--faint)}.case-chapter span{font:500 12px/1 var(--mono);letter-spacing:.08em;color:var(--accent)}.case-chapter h2{margin:16px 0 20px;font-size:clamp(28px,3.4vw,44px)}.case-chapter p{max-width:640px;color:var(--muted)}.case-next span{font:500 12px/1 var(--mono);letter-spacing:.08em;color:var(--faint);margin-bottom:24px;display:block}.case-next{border-top:1px solid var(--line);padding-top:64px;padding-bottom:96px}.case-next a{font:400 clamp(36px, 6vw, 84px) / 1.05 var(--display);letter-spacing:-.02em;align-items:center;gap:16px;transition:color .16s;display:inline-flex}.case-next a:hover{color:var(--accent)}.case-next a svg{transition:transform .2s}.case-next a:hover svg{transform:translate(4px,-4px)}.lab-card,.work-item{--mx:50%;--my:50%}.lab-card{position:relative;overflow:hidden}.lab-card:before,.work-item:before{content:"";background:radial-gradient(360px circle at var(--mx) var(--my), #d4ff3a0d, transparent 70%);opacity:0;pointer-events:none;transition:opacity .25s;position:absolute;inset:0}.lab-card:hover:before,.work-item:hover:before{opacity:1}.rv{opacity:0;transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transform:translateY(24px)}.rv.rv-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.rv{opacity:1;transform:none}.ambient{display:none}.hero-kicker,.hero-copy{opacity:1;transform:none}}@media (width<=900px){.site-header{grid-template-columns:auto 1fr auto;gap:16px}.site-header nav{justify-content:center;gap:20px}.section-heading,.lab-heading,.story-section,.case-narrative{grid-template-columns:1fr;gap:32px}.story-intro,.case-note{position:static}.capability-grid{grid-template-columns:repeat(2,1fr)}.experience-item{grid-template-columns:1fr;gap:8px}.section-heading{margin-bottom:48px}.proof,.case-facts{grid-template-columns:repeat(2,1fr)}.proof>div:nth-child(3){border-left:0;padding-left:0}.proof>div:nth-child(n+3),.case-facts>div:nth-child(n+3){border-top:1px solid var(--line)}.case-facts>div:nth-child(3){border-left:0;padding-left:0}.work-item{grid-template-columns:48px minmax(0,1fr);padding:36px 0}.work-meta{flex-direction:row;gap:16px}.work-body{grid-column:1/-1}.lab-grid{grid-template-columns:1fr}.lab-card{gap:36px;min-height:0}.case-introduction{grid-template-columns:1fr;gap:16px}.hero{min-height:0}}@media (width<=620px){.capability-grid{grid-template-columns:1fr}}@media (width<=520px){.site-header nav{gap:14px}.site-header nav a{font-size:12px}.header-resume,.header-contact span{display:none}.header-contact{padding:10px}.hero-kicker{font-size:11px}.email-link{word-break:break-word;flex-wrap:wrap}.proof>div{padding:32px 0 32px 18px}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}main:focus{outline:none}.capability-evidence{font:500 12px/1.5 var(--mono);letter-spacing:.02em;color:var(--faint)}.capability .text-link{min-height:44px;margin-top:20px;font-size:14px}.lab-facts{gap:10px;margin:8px 0 0;display:grid}.lab-facts div{border-top:1px solid var(--line);grid-template-columns:64px minmax(0,1fr);gap:12px;padding-top:10px;font-size:13px;line-height:1.5;display:grid}.lab-facts dt{font:500 11px/1.8 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.lab-facts dd{color:var(--muted);margin:0}.about-section{border-top:1px solid var(--line)}.about-section .section-heading{grid-template-columns:1fr;margin-bottom:40px}.about-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:clamp(32px,6vw,96px);display:grid}.about-body{max-width:640px;color:var(--muted);gap:20px;font-size:18px;display:grid}.about-facts{border-top:1px solid var(--line-strong);margin:0}.about-facts>div{border-bottom:1px solid var(--line);grid-template-columns:96px minmax(0,1fr);gap:16px;padding:16px 0;display:grid}.about-facts dt{font:500 12px/1.7 var(--mono);letter-spacing:.04em;color:var(--faint)}.about-facts dd{margin:0;font-size:15px}.background-section{border-top:1px solid var(--line)}.background-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:clamp(32px,6vw,96px);display:grid}.toolkit-list{margin:0}.toolkit-list>div{border-bottom:1px solid var(--line);grid-template-columns:120px minmax(0,1fr);gap:16px;padding:16px 0;display:grid}.toolkit-list dt{font:500 12px/1.7 var(--mono);letter-spacing:.04em;color:var(--faint)}.toolkit-list dd{color:var(--muted);margin:0;font-size:15px}.credentials{gap:32px;display:grid}.credentials h3{margin-bottom:8px}.credentials li{border-bottom:1px solid var(--line);gap:4px;padding:14px 0;display:grid}.credentials li strong{font-size:15px;font-weight:500}.credentials li span{font:400 12px/1.4 var(--mono);color:var(--faint)}.case-list{gap:14px;max-width:640px;display:grid}.case-list li{color:var(--muted);padding-left:18px;position:relative}.case-list li:before{content:"";background:var(--faint);width:8px;height:1px;position:absolute;top:.8em;left:0}.case-sub{font:400 13px/1.55 var(--mono);color:var(--faint);margin-top:6px;font-style:normal;display:block}.case-chapter p+p{margin-top:14px}.contact-section h2 em{color:var(--accent)}.btn,.header-resume,.header-contact,.contact-meta a,.site-footer a,.case-back,.case-next a{min-height:44px}.site-footer a{align-items:center;display:inline-flex}@media (width<=900px){.background-grid{grid-template-columns:1fr}}@media (width<=520px){.toolkit-list>div{grid-template-columns:1fr;gap:4px}.lab-facts div{grid-template-columns:1fr;gap:2px}}.wordmark,.site-header nav a{align-items:center;min-height:44px;display:inline-flex}.wordmark{min-width:44px}@media (width<=620px){html{scroll-padding-top:120px}.site-header{grid-template-columns:1fr auto;grid-template-areas:"brand actions""nav nav";gap:0 12px;height:auto;padding-top:4px;padding-bottom:2px}.wordmark{grid-area:brand}.header-actions{grid-area:actions}.site-header nav{grid-area:nav;justify-content:space-between;gap:4px}.site-header nav a{padding:0 6px;font-size:13px}.hero{padding-top:150px;padding-bottom:56px}}.hero-kicker{border-radius:20px;line-height:1.4}.case-link,.text-link,.email-link{min-height:44px}@media (width<=520px){.case-chapter{grid-template-columns:32px minmax(0,1fr);gap:12px}}.work-section{overflow-x:clip}.work-item:before{z-index:-1;background:radial-gradient(520px circle at var(--mx) var(--my), #d4ff3a0f, transparent 70%), #ffffff06;width:100vw;inset:0 auto 0 calc(50% - 50vw)}.experience-head{align-items:center;gap:16px;display:flex}.experience-head>div{flex:1;min-width:0}.company-mark{border:1px solid var(--line-strong);background:var(--surface);width:48px;height:48px;font:400 22px/1 var(--display);color:var(--accent);border-radius:12px;flex:none;place-items:center;display:grid}.company-country{border:1px solid var(--line-strong);font:500 11px/1.4 var(--mono);letter-spacing:.04em;color:var(--muted);white-space:nowrap;border-radius:999px;align-self:flex-start;padding:4px 10px}@media (width<=520px){.experience-head{flex-wrap:wrap}.company-country{order:3}}.hero-stack{display:none}@media (width>=1100px){.hero>.hero-stack{right:max(var(--gutter), calc((100% - var(--max)) / 2));pointer-events:none;width:min(430px,31vw);margin-top:-6px;display:block;position:absolute;top:50%;transform:translateY(-50%)}.hero-copy{max-width:860px}}.hero-stack svg{width:100%;height:auto;display:block;overflow:visible}.dv-wire{stroke:var(--line-strong);stroke-dasharray:2 5}.dv-packet{stroke:var(--accent);stroke-width:2px;stroke-linecap:round;stroke-dasharray:14 200;stroke-dashoffset:14px;opacity:0;filter:drop-shadow(0 0 4px #d4ff3acc)}.dv-core{fill:var(--accent)}.dv-core-glow{fill:#d4ff3a29}.dv-core-ring{fill:none;stroke:var(--accent);stroke-width:1px;opacity:0;transform-box:fill-box;transform-origin:50%}.dv-body{fill:url(#dv-body);stroke:var(--line-strong);stroke-width:1.2px}.dv-strap{fill:#0b0b0b;stroke:var(--line)}.dv-screen{fill:#050505}.dv-cam{fill:var(--black);stroke:var(--line-strong)}.dv-card{fill:var(--surface);stroke:var(--line-strong)}.dv-key{fill:var(--surface-2);stroke:var(--line-strong)}.dv-key-lit{fill:var(--accent);stroke:none}.dv-glass{fill:url(#dv-glass);pointer-events:none}.dv-spark{stroke-dasharray:100;stroke-dashoffset:0}.dv-approve{transform-box:fill-box;transform-origin:0%}.dv-ring{stroke-dasharray:100;stroke-dashoffset:25px}.dv-check{stroke-dasharray:100;stroke-dashoffset:0}.dv-key-lit{opacity:.9}.dv-caption{font:600 13px var(--mono);letter-spacing:.16em;fill:var(--text)}.dv-caption-sep{fill:var(--accent)}.dv-pop,.dv-bob,.dv-lit,.dv-ring,.dv-check,.dv-key-lit,.dv-paper,.dv-spark{transform-box:fill-box;transform-origin:50%}.dv-depth{transition:translate .5s cubic-bezier(.2,.7,.2,1)}.dv-d-core{translate:calc(var(--px,0) * 4px) calc(var(--py,0) * 4px)}.dv-d-phone{translate:calc(var(--px,0) * -10px) calc(var(--py,0) * -8px)}.dv-d-watch{translate:calc(var(--px,0) * 14px) calc(var(--py,0) * 10px)}.dv-d-pos{translate:calc(var(--px,0) * -6px) calc(var(--py,0) * 12px)}@media (prefers-reduced-motion:no-preference){.dv-bob{animation:6s ease-in-out infinite alternate dv-bob}.dv-bob-watch{animation-duration:5s;animation-delay:-2s}.dv-bob-pos{animation-duration:7s;animation-delay:-3.5s}.dv-core-ring{animation:8s ease-out infinite dv-pulse;animation-delay:var(--base);animation-fill-mode:backwards}.dv-core-glow{animation:4s ease-in-out infinite alternate dv-breathe}.dv-packet{animation:8s linear infinite dv-packet;animation-delay:var(--base)}.dv-pop{animation:8s linear infinite dv-pop;animation-delay:var(--base)}.dv-lit{animation:8s ease-out infinite backwards dv-lit;animation-delay:calc(var(--base) + 1.2s + var(--i) * .14s)}.dv-ring{animation:8s ease-in-out infinite backwards dv-fill;animation-delay:calc(var(--base) + 1.3s)}.dv-check{animation:8s ease-out infinite backwards dv-draw;animation-delay:calc(var(--base) + 1.35s)}.dv-key-lit{animation:8s ease-out infinite backwards dv-lit;animation-delay:calc(var(--base) + 1.2s + var(--i) * .16s)}.dv-paper{animation:8s ease-out infinite backwards dv-print;animation-delay:calc(var(--base) + 1.2s)}.dv-approve{animation:8s ease-in-out infinite backwards dv-approve;animation-delay:calc(var(--base) + 1.3s)}.dv-spark{animation:8s ease-out infinite backwards dv-draw;animation-delay:calc(var(--base) + 1.2s)}}@keyframes dv-bob{0%{transform:translateY(-6px)}to{transform:translateY(7px)}}@keyframes dv-pulse{0%{opacity:.8;transform:scale(1)}14%{opacity:0;transform:scale(7)}to{opacity:0;transform:scale(7)}}@keyframes dv-breathe{0%{opacity:.55}to{opacity:1}}@keyframes dv-packet{0%{stroke-dashoffset:14px;opacity:1}15%{stroke-dashoffset:-100px;opacity:1}16%,to{stroke-dashoffset:-100px;opacity:0}}@keyframes dv-pop{0%,14%{transform:scale(1)}16.5%{transform:scale(.92,.95)}20%{transform:scale(1.06,1.04)}24%{transform:scale(.98)}28%{transform:scale(1.015)}33%,to{transform:scale(1)}}@keyframes dv-lit{0%,1%{opacity:.18}4%{opacity:1}48%{opacity:1}62%,to{opacity:.18}}@keyframes dv-fill{0%,2%{stroke-dashoffset:100px}14%{stroke-dashoffset:25px}58%{stroke-dashoffset:25px}70%,to{stroke-dashoffset:100px}}@keyframes dv-draw{0%,2%{stroke-dashoffset:100px}10%{stroke-dashoffset:0}58%{stroke-dashoffset:0}68%,to{stroke-dashoffset:100px}}@media (width<=900px){.about-grid{grid-template-columns:1fr}}@media (width<=520px){.about-facts>div{grid-template-columns:1fr;gap:2px}}.company-mark img{object-fit:contain;width:28px;height:28px;display:block}.contact-intro{max-width:560px;color:var(--muted);margin-top:24px}.proof strong>span:not(.sr-only){display:inline}.contact-device{display:none}@media (width>=1240px){.contact-section>.contact-device{right:max(var(--gutter), calc((100% - var(--max)) / 2));pointer-events:none;width:250px;max-width:none;margin:0;display:block;position:absolute;top:50%;left:auto;transform:translateY(-50%)}}.device-body{aspect-ratio:9/18.5;border:1px solid var(--line-strong);background:var(--surface);border-radius:38px;padding:12px;position:relative;box-shadow:0 0 80px #d4ff3a0f}.device-camera{background:var(--black);border:1px solid var(--line-strong);z-index:2;border-radius:50%;width:9px;height:9px;margin-left:-4px;position:absolute;top:20px;left:50%}.device-screen{background:#050505;border-radius:28px;flex-direction:column;gap:12px;height:100%;padding:16px 14px 14px;display:flex;position:relative;overflow:hidden}.device-status{justify-content:flex-end;gap:4px;height:10px;display:flex}.device-status span{background:var(--line-strong);border-radius:2px;width:14px;height:4px;margin-top:3px}.device-appbar{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding-bottom:10px;display:flex}.device-appbar b{font:500 11px/1 var(--sans);color:var(--text);flex:1}.device-back{border-left:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);width:8px;height:8px;transform:rotate(45deg)}.device-send-icon{border-top:6px solid #0000;border-bottom:6px solid #0000;border-left:11px solid var(--accent);width:0;height:0}.device-field{border-bottom:1px solid var(--line);min-height:26px;font:400 10px/1 var(--mono);align-items:center;gap:10px;padding-bottom:8px;display:flex}.device-field small{width:16px;font:inherit;color:var(--faint)}.device-chip{border:1px solid var(--line-strong);color:var(--text);border-radius:999px;padding:5px 9px}.device-type{white-space:nowrap;border-right:1px solid var(--accent);width:18ch;color:var(--text);display:inline-block;overflow:hidden}.device-lines{gap:10px;margin-top:4px;display:grid}.device-lines i{width:var(--w);background:var(--line-strong);transform-origin:0;border-radius:3px;height:6px;display:block}.device-button{background:var(--accent);color:var(--black);font:600 11px/1 var(--sans);border:0;border-radius:999px;align-self:flex-end;margin-top:auto;padding:9px 20px}.device-toast{border:1px solid var(--line-strong);font:500 11px/1 var(--sans);color:var(--text);opacity:0;background:#151515;border-radius:12px;align-items:center;gap:8px;padding:11px 12px;display:flex;position:absolute;bottom:14px;left:12px;right:12px;transform:translateY(14px)}.device-toast span{background:var(--accent);border-radius:50%;width:14px;height:14px}@media (prefers-reduced-motion:no-preference){.device-body{animation:9s ease-in-out infinite device-float}.device-type{animation:10s steps(18,end) infinite device-typing}.device-lines i{animation:10s ease-out infinite device-line;animation-delay:calc(var(--i) * .35s)}.device-button{animation:10s ease-in-out infinite device-press}.device-send-icon{animation:10s ease-in-out infinite device-flash}.device-toast{animation:10s ease-in-out infinite device-toast}}@keyframes device-float{0%,to{transform:translateY(0)rotate(-1.5deg)}50%{transform:translateY(-10px)rotate(1.5deg)}}@keyframes device-typing{0%,6%{width:0}30%,to{width:18ch}}@keyframes device-line{0%,30%{transform:scaleX(0)}50%,to{transform:scaleX(1)}}@keyframes device-press{0%,62%{transform:scale(1)}66%{transform:scale(.9)}70%,to{transform:scale(1)}}@keyframes device-flash{0%,64%{opacity:1}68%{opacity:.3}72%,to{opacity:1}}@keyframes device-toast{0%,68%{opacity:0;transform:translateY(14px)}74%,92%{opacity:1;transform:none}98%,to{opacity:0;transform:translateY(14px)}}.contact-section>.contact-intro{margin-left:max(0px, calc((100% - var(--max)) / 2));margin-right:auto}@keyframes dv-print{0%,2%{transform:translateY(40px)}12%{transform:translateY(0)}58%{transform:translateY(0)}68%,to{transform:translateY(40px)}}@keyframes dv-approve{0%,4%{transform:scaleX(0)}16%{transform:scaleX(1)}58%{transform:scaleX(1)}68%,to{transform:scaleX(0)}}.skills-proof ul{border-top:1px solid var(--line-strong)}.skills-proof li{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:baseline;gap:16px;padding:14px 0;display:grid}.skills-proof li strong{font-size:15px;font-weight:500}.skills-proof li span{font:400 12px/1.6 var(--mono);color:var(--muted)}.skills-proof li a{border-bottom:1px solid var(--line-strong);margin-right:6px;transition:color .16s,border-color .16s}.skills-proof li a:hover{color:var(--accent);border-color:var(--accent)}.skills-proof li i{color:var(--faint);margin-left:-4px;margin-right:6px;font-style:normal}.skills-other{color:var(--faint);margin-top:16px;font-size:13px;line-height:1.6}.skills-proof .section-number{margin-bottom:12px}.about-facts a{border-bottom:1px solid var(--line-strong)}.about-facts a:hover{color:var(--accent);border-color:var(--accent)}@media (width<=520px){.skills-proof li{grid-template-columns:1fr;gap:4px}}.resume-page{max-width:860px;padding:130px var(--gutter) 96px;margin:0 auto}.resume-head{border-bottom:1px solid var(--line-strong);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:32px;display:flex}.resume-head h1{font:400 clamp(40px, 6vw, 72px) / 1 var(--display);letter-spacing:-.02em}.resume-title{font:500 13px/1.4 var(--mono);letter-spacing:.06em;color:var(--muted);margin-top:10px}.resume-actions{flex-wrap:wrap;gap:12px;display:flex}.resume-page section{padding-top:48px}.resume-page h2{font:500 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:20px}.resume-page p,.resume-page li,.resume-page dd{color:var(--muted);font-size:15px}.resume-jobs{gap:36px;display:grid}.resume-job-head{flex-wrap:wrap;justify-content:space-between;gap:4px 16px;display:flex}.resume-job-head h3{font:500 17px/1.4 var(--sans);color:var(--text)}.resume-job-head span{font:400 12px/1.8 var(--mono);color:var(--faint)}.resume-place{font:400 12px/1.4 var(--mono);color:var(--faint);margin:2px 0 12px}.resume-jobs ul,.resume-group ul{gap:8px;display:grid}.resume-jobs ul li{padding-left:18px;position:relative}.resume-jobs ul li:before{content:"";background:var(--faint);width:8px;height:1px;position:absolute;top:.75em;left:0}.resume-skills>div{border-bottom:1px solid var(--line);grid-template-columns:140px minmax(0,1fr);gap:16px;padding:10px 0;display:grid}.resume-skills dt{font:500 12px/1.7 var(--mono);color:var(--faint)}.resume-skills dd{margin:0}.resume-note{color:var(--faint);margin-top:16px;font-size:13px}.resume-group{margin-top:20px}.resume-group h3{font:500 14px/1.4 var(--sans);color:var(--text);margin-bottom:8px}.resume-group li span{color:var(--faint)}.resume-links{border-top:1px solid var(--line);margin-top:56px;padding-top:24px}.resume-links a{border-bottom:1px solid var(--line-strong)}@media (width<=520px){.resume-skills>div{grid-template-columns:1fr;gap:2px}}@media print{html,body{color:#111;background:#fff}.site-header,.site-footer,.resume-actions,.skip-link{display:none!important}.resume-page{max-width:none;padding:0}.resume-page p,.resume-page li,.resume-page dd,.resume-job-head h3,.resume-head h1,.resume-group h3{color:#111}.resume-page h2{color:#444}.resume-head,.resume-skills>div,.resume-links{border-color:#ccc}}.resume-page>section{padding-left:0;padding-right:0}.resume-page>section>*{max-width:none;margin-left:0;margin-right:0}.skills-proof li a,.about-facts a{padding:6px 0 4px;line-height:1.4;display:inline-block}@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}
