@property --ink{syntax:"<color>";inherits:true;initial-value:#1d1f22}@property --paper{syntax:"<color>";inherits:true;initial-value:#f4f1ec}@property --accent{syntax:"<color>";inherits:true;initial-value:#b3b0aa}@property --soft{syntax:"<color>";inherits:true;initial-value:#dfdbd5}@property --muted{syntax:"<color>";inherits:true;initial-value:#6d706f}@property --line{syntax:"<color>";inherits:true;initial-value:#1d1f2229}@property --body-text{syntax:"<color>";inherits:true;initial-value:#505456}@property --surface{syntax:"<color>";inherits:true;initial-value:#ffffff2e}@property --sidebar-paper{syntax:"<color>";inherits:true;initial-value:#ebe7e0}:root{--font-sans:"Avenir Next", Avenir, "Segoe UI", sans-serif;--ink:#1d1f22;--paper:#f4f1ec;--accent:#b3b0aa;--soft:#dfdbd5;--muted:#6d706f;--line:#1d1f2229;--body-text:#505456;--surface:#ffffff2e;--gold:#a66a00;--sidebar-paper:#ebe7e0;--corner-radius:10px;--theme-transition-duration:2s;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--ink:#ece8e1;--paper:#17181a;--accent:#9e9891;--soft:#2a2c30;--muted:#aca8a2;--line:#ece8e129;--body-text:#c9c4bc;--surface:#ffffff0b;--gold:#a66a00;--sidebar-paper:#111315;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;transition:--ink var(--theme-transition-duration) cubic-bezier(.22,1,.36,1), --paper var(--theme-transition-duration) cubic-bezier(.22,1,.36,1), --accent var(--theme-transition-duration) cubic-bezier(.22,1,.36,1), --soft var(--theme-transition-duration) cubic-bezier(.22,1,.36,1), --muted var(--theme-transition-duration) cubic-bezier(.22,1,.36,1), --line var(--theme-transition-duration) cubic-bezier(.22,1,.36,1), --body-text var(--theme-transition-duration) cubic-bezier(.22,1,.36,1), --surface var(--theme-transition-duration) cubic-bezier(.22,1,.36,1), --sidebar-paper var(--theme-transition-duration) cubic-bezier(.22,1,.36,1)}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--ink);outline-offset:5px}.shell{width:min(1240px,100% - 80px);margin:0 auto}.skip-link{z-index:10;border-radius:var(--corner-radius);background:var(--accent);font:600 12px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;padding:10px 14px;position:fixed;top:-60px;left:20px}.skip-link:focus{top:20px}.theme-selector{z-index:8;border:1px solid var(--line);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);isolation:isolate;grid-template-columns:repeat(2,minmax(0,1fr));width:94px;padding:3px;display:grid;position:fixed;top:22px;right:22px;box-shadow:0 8px 26px #0c181214}.theme-selector-indicator{z-index:0;border-radius:var(--corner-radius);background:var(--ink);pointer-events:none;width:calc(50% - 3px);transition:transform var(--theme-transition-duration) cubic-bezier(.22, 1, .36, 1);position:absolute;top:3px;bottom:3px;left:3px;transform:translate(0,0)}html[data-theme=dark] .theme-selector-indicator{transform:translate(100%)}.theme-selector button{z-index:1;border-radius:var(--corner-radius);width:100%;min-width:0;color:var(--muted);font:600 10px var(--font-sans);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;background:0 0;border:0;padding:8px 7px;position:relative}.theme-selector button[aria-pressed=true]{color:var(--paper);background:0 0}.theme-selector button:hover:not([aria-pressed=true]){color:var(--ink)}.mobile-section-nav{display:none}.kicker,.section-label,.section-title>span,.sidebar-bottom,.project-url,.footer{font:600 10px var(--font-sans);text-transform:uppercase;letter-spacing:.1em}.sidebar-bottom a:hover{color:#6b6761}.layout{grid-template-columns:minmax(260px,32%) 1fr;gap:5.25%;display:grid}.sidebar{flex-direction:column;justify-content:flex-start;align-self:start;min-height:100vh;padding:32px 0 34px;display:flex;position:sticky;top:0}.kicker,.section-label{color:#7a746d}.sidebar h1{letter-spacing:-.03em;text-wrap:balance;margin:36px 0 13px;font-size:clamp(48px,5.3vw,80px);font-weight:700;line-height:.98}.display-name{letter-spacing:0;width:min(100%,330px);max-width:100%;line-height:0;display:block;position:relative}.display-name-image{width:100%;height:auto;display:block}.title{letter-spacing:-.01em;margin:0;font-size:22px;font-style:italic;font-weight:500}.tagline{max-width:315px;color:var(--muted);margin:32px 0 0;font-size:15px;line-height:1.55}.section-nav{gap:18px;margin-top:32px;display:grid}.section-nav a{width:fit-content;color:var(--muted);font:600 12px var(--font-sans);text-transform:uppercase;letter-spacing:.14em;align-items:center;gap:16px;transition:color .22s,transform .22s;display:flex}.section-nav a span{color:#9b958d;font-size:12px}.section-nav a:hover{color:var(--ink);transform:translate(8px)}.sidebar-bottom{color:var(--muted);gap:13px;margin-top:32px;line-height:1.4;display:grid}.sidebar-bottom a{color:var(--ink);text-transform:none;letter-spacing:0;font-family:var(--font-sans);font-size:12px}.contact-cta{border-radius:var(--corner-radius);background:0 0;border:1px solid #7a746d73;width:min(75%,236px);padding:17px;transition:background-color .2s,border-color .2s,transform .2s;display:block}.contact-cta:hover{background:var(--soft);border-color:#7a746d;transform:translate(4px)}.contact-cta span{color:#5f5a54;font:600 10px var(--font-sans);text-transform:uppercase;letter-spacing:.12em;display:block}.sidebar-bottom button{border:1px solid var(--line);border-radius:var(--corner-radius);width:fit-content;color:var(--ink);font:600 10px var(--font-sans);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;background:0 0;margin-top:19px;padding:11px 12px}.sidebar-bottom button:hover{background:var(--ink);color:var(--paper)}.sidebar-bottom button span{color:#7a746d;margin-left:12px}.content{padding:32px 0 0}@media (min-width:901px){.layout{isolation:isolate;position:relative}.layout:before{content:"";z-index:-1;background:var(--sidebar-paper);pointer-events:none;width:calc(50vw - 18%);position:absolute;top:0;bottom:0;left:calc(50% - 50vw)}}.section-block{padding:0 0 126px;scroll-margin-top:84px}.section-label{margin:0}.intro-copy{margin:41px 0 50px}.intro-copy p{color:var(--body-text);text-wrap:pretty;margin:0 0 22px;font-size:15px;line-height:1.58}.intro-copy p:first-child{color:var(--ink);letter-spacing:-.045em;font-size:22px;line-height:1.18}.stats,.credentials{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.stats{margin:0}.stats div{border:1px solid var(--line);border-radius:var(--corner-radius);background:0 0;min-height:120px;padding:20px}.stats dt{color:var(--gold);letter-spacing:-.03em;align-items:center;gap:11px;font-size:22px;font-weight:600;display:flex}.stat-icon{width:28px;height:28px;color:var(--gold);border:1px solid;border-radius:8px;flex:0 0 28px;place-items:center;display:inline-grid;position:relative}.stat-icon-years:before{content:"";border:1.5px solid;border-radius:50%;width:13px;height:13px}.stat-icon-years:after{content:"";transform-origin:50% 100%;background:currentColor;border-radius:999px;width:1.5px;height:6px;position:absolute;top:8px;left:13px;transform:rotate(28deg);box-shadow:-3px 5px 0 -.25px}.stat-icon-vara:before{content:"";clip-path:polygon(50% 0,91% 16%,86% 64%,50% 100%,14% 64%,9% 16%);background:currentColor;width:15px;height:17px}.stat-icon-vara:after{content:"✓";color:var(--paper);font-size:11px;font-weight:700;line-height:1;position:absolute}.stat-icon-iia:before{content:"";border:1.5px solid;border-radius:2px;width:14px;height:17px}.stat-icon-iia:after{content:"≡";color:currentColor;font-size:14px;line-height:1;position:absolute;transform:translateY(-1px)}.stats dd{max-width:130px;color:var(--muted);margin:6px 0 0;font-size:12px;line-height:1.35}.credentials{margin:18px 0 0;padding:0;list-style:none}.credentials li{border-radius:var(--corner-radius);color:#5f5a54;min-height:58px;font:600 10px var(--font-sans);text-transform:uppercase;letter-spacing:.06em;background:#b3b0aa24;border:1px solid #7a746d66;align-items:center;padding:7px 20px;display:flex}.section-title{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:center;padding-bottom:16px;display:flex}.section-title>span{color:var(--muted)}.timeline{border-bottom:1px solid var(--line)}.job{border-bottom:1px solid var(--line);grid-template-columns:50px 1fr;gap:22px;padding:34px 0 39px;display:grid}.job:last-child{border-bottom:0}.job-index{color:#928b84;font:600 12px var(--font-sans);letter-spacing:.08em}.job-heading{justify-content:space-between;align-items:baseline;gap:20px;display:flex}.job h2,.project-card h2,.education-card h2,.expertise-grid h2{color:var(--gold);letter-spacing:-.06em;margin:0;font-size:22px;line-height:1.05}.company{color:#716a63;margin:7px 0 0;font-size:12px;font-weight:600}.company span{color:var(--muted);font-weight:400}.job time,.education-card time{white-space:nowrap;color:var(--muted);font:600 10px var(--font-sans);text-transform:uppercase;letter-spacing:.08em}.job-meta{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:11px 0 0;font-size:10px;font-weight:500}.job-description{color:var(--body-text);text-wrap:pretty;margin:22px 0 0;font-size:15px;line-height:1.6}.highlights{gap:9px;margin:19px 0 0;padding:0;list-style:none;display:grid}.highlights li{color:var(--muted);padding-left:18px;font-size:15px;line-height:1.45;position:relative}.highlights li:before{content:"↳";color:#7d7771;position:absolute;left:0}.section-lede{color:var(--body-text);margin:28px 0 34px;font-size:15px;line-height:1.55}.portfolio-grid{gap:12px;display:grid}.project-card{border:1px solid var(--line);border-radius:var(--corner-radius);background:var(--surface);grid-template-columns:40px 1fr auto;align-items:start;gap:16px;padding:25px;transition:background-color .2s,transform .2s,border-color .2s;display:grid}.project-card:hover{background:var(--soft);border-color:#7a746d73;transform:translate(5px)}.project-number{color:#928b84;font:600 12px var(--font-sans);letter-spacing:.08em}.project-card h2{font-size:22px}.project-card p{color:var(--muted);grid-column:2/-1;margin:11px 0 0;font-size:15px;line-height:1.5}.project-url{color:var(--muted);align-self:center;font-size:10px}.education-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:34px;display:grid}.education-card{border:1px solid var(--line);border-radius:var(--corner-radius);background:var(--surface);padding:25px}.education-card h2{margin-top:42px;font-size:22px}.education-card .company{margin-top:8px}.education-card>p:last-child{color:var(--muted);margin:22px 0 0;font-size:15px;line-height:1.55}.expertise-grid{grid-template-columns:1fr 1fr;gap:44px 25px;margin-top:38px;display:grid}.expertise-grid h2{font:600 22px var(--font-sans);text-transform:uppercase;letter-spacing:.08em}.expertise-grid ul{flex-wrap:wrap;gap:7px;margin:15px 0 0;padding:0;list-style:none;display:flex}.expertise-grid li{border:1px solid var(--line);border-radius:var(--corner-radius);color:var(--muted);padding:7px 9px;font-size:12px}.footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:20px;padding:22px 0 36px;display:flex}.footer a{color:var(--ink)}.reveal{opacity:0;will-change:opacity, transform;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transform:translateY(24px)}.reveal.is-visible{opacity:1;transform:none}@media (max-width:900px){.shell{width:min(100% - 48px,1240px)}.layout{display:block}.sidebar{min-height:auto;padding:82px 0 45px;position:static}body:before{content:"";height:max(66px, calc(env(safe-area-inset-top) + 54px));z-index:7;pointer-events:none;background:linear-gradient(180deg, color-mix(in srgb, var(--paper) 96%, transparent) 0%, color-mix(in srgb, var(--paper) 88%, transparent) 72%, transparent 100%);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:fixed;top:0;left:0;right:0}.theme-selector{top:max(12px, env(safe-area-inset-top));right:16px}.section-nav{display:none}.mobile-section-nav{top:max(12px, env(safe-area-inset-top));z-index:9;border:1px solid var(--line);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);isolation:isolate;padding:3px;display:block;position:fixed;left:16px;right:124px;box-shadow:0 8px 26px #0c181214}.mobile-section-nav-toggle{border-radius:var(--corner-radius);width:100%;min-height:39px;color:var(--ink);font:600 10px var(--font-sans);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;touch-action:manipulation;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.mobile-section-nav-toggle-icon{color:var(--muted);margin-left:auto;font-size:14px;line-height:1;transition:transform .2s}.mobile-section-nav[data-open=true] .mobile-section-nav-toggle-icon{transform:rotate(180deg)}.mobile-section-nav-links{border:1px solid var(--line);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;visibility:hidden;pointer-events:none;gap:4px;padding:7px;transition:opacity .2s,transform .2s,visibility 0s linear .2s;display:grid;position:absolute;top:calc(100% + 8px);left:0;right:0;transform:translateY(-8px);box-shadow:0 8px 26px #0c181214}.mobile-section-nav[data-open=true] .mobile-section-nav-links{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;transform:none}.mobile-section-nav-links a{border-radius:var(--corner-radius);width:100%;color:var(--muted);font:600 11px var(--font-sans);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:12px;padding:10px 11px;transition:color .2s,background-color .2s;display:flex}.mobile-section-nav-links a:hover{color:var(--ink);background:var(--soft);transform:none}.sidebar-bottom{flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:54px;display:flex}.contact-cta{flex-basis:100%}.sidebar-bottom button{margin-top:4px}.content{padding-top:8px}}@media (max-width:620px){.shell{width:min(100% - 36px,1240px)}.sidebar{padding-top:82px}.sidebar h1{margin-top:35px;font-size:54px}.section-block{padding-bottom:95px}.intro-copy{margin-top:38px}.intro-copy p:first-child{font-size:22px}.stats,.credentials{grid-template-columns:1fr}.stats div{min-height:auto;padding:16px}.stats dd{max-width:none}.job{grid-template-columns:28px 1fr;gap:12px}.job-heading{display:block}.job time{margin-top:14px;display:block}.job h2{font-size:22px}.project-card{grid-template-columns:28px 1fr;padding:19px}.project-url,.project-card p{grid-column:2}.education-grid,.expertise-grid{grid-template-columns:1fr}.footer{line-height:1.5;display:grid}.footer a{order:-1}}@media print{body:before,.section-nav,.mobile-section-nav,.sidebar-bottom button,.layout:before{display:none}.shell{width:auto;margin:0 28px}.layout{display:block}.sidebar{min-height:0;padding:30px 0}.sidebar h1{margin-top:25px}.content{padding-top:0}.section-block{padding-bottom:40px}.job{break-inside:avoid}.project-card,.education-card{background:0 0}.footer{margin-top:10px}.reveal{opacity:1!important;transform:none!important}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}.reveal{opacity:1;transition:none;transform:none}}
