:root{--width:720px;--font-main:ui-rounded, "SF Pro Rounded", "Segoe UI", system-ui, sans-serif;--font-secondary:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-scale:1em;--background-color:#f7f5ef;--background-gradient:linear-gradient(145deg, #faf9f5 0%, #f4f6f2 55%, #edf3f1 100%);--surface-color:#fffdf8;--surface-accent:#eef5f2;--heading-color:#17342f;--text-color:#425550;--muted-color:#6e7e79;--link-color:#176b5b;--visited-color:#75599a;--focus-color:#247a55;--accent-color:#247a55;--code-background-color:#e8eeeb;--code-color:#17342f;--blockquote-color:#425550;--border-color:#d8e0dc;--shadow-color:#17342f14}@media (prefers-color-scheme:dark){:root{--background-color:#10231f;--background-gradient:linear-gradient(145deg, #10231f 0%, #132923 55%, #172f29 100%);--surface-color:#18312b;--surface-accent:#203b34;--heading-color:#f5f1e8;--text-color:#d2ddd8;--muted-color:#a5b7b0;--link-color:#8ed8c7;--visited-color:#c3ace4;--focus-color:#73d6a5;--accent-color:#73d6a5;--code-background-color:#0b1b18;--code-color:#e8eeeb;--blockquote-color:#d2ddd8;--border-color:#36554d;--shadow-color:#0003}}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-secondary);font-size:var(--font-scale);max-width:var(--width);text-align:left;background-color:var(--background-color);background-image:var(--background-gradient);word-wrap:break-word;overflow-wrap:break-word;min-height:100vh;color:var(--text-color);margin:auto;padding:clamp(1rem,3vw,2rem) 1rem 1.25rem;line-height:1.6}.skip-link{z-index:10;color:var(--background-color);background:var(--heading-color);border-radius:3px;padding:8px 12px;position:absolute;top:0;left:20px;transform:translateY(-120%)}.skip-link:focus,.skip-link:focus-visible{transform:translateY(20px)}h1,h2,h3,h4,h5,h6{font-family:var(--font-main);color:var(--heading-color);letter-spacing:-.025em;line-height:1.2}a{color:var(--link-color);cursor:pointer;text-decoration:underline;text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);text-underline-offset:3px;text-decoration-thickness:2px;transition:color .16s,text-decoration-color .16s}a:visited{color:var(--visited-color)}a:hover{color:var(--accent-color);text-decoration-color:currentColor}:focus-visible{outline:3px solid var(--focus-color);outline-offset:3px}nav a{margin-right:8px}strong,b{color:var(--heading-color)}button{cursor:pointer;margin:0}main{width:100%;line-height:1.6}main:focus{outline:none}table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}th,td{border:1px solid var(--border-color);padding:.4rem}hr{border:0;border-top:1px dashed}img{max-width:100%;height:auto}.profile-intro{justify-content:flex-start;align-items:center;gap:clamp(1.25rem,4vw,2.5rem);display:flex}.profile-intro>div{min-width:0}.profile-intro h1{letter-spacing:-.035em;word-spacing:.06em;align-items:baseline;margin:0;font-size:clamp(2.15rem,6vw,3.4rem);font-weight:750;line-height:1.08;display:flex}.profile-intro h1 .wave{letter-spacing:normal;margin-left:.18em;font-size:.78em;display:inline-block;transform:rotate(-8deg)}.pronunciation{color:var(--muted-color);margin:.4rem 0 0;font-size:.9rem}.profile-photo-frame{aspect-ratio:1;border:3px solid var(--surface-color);width:128px;box-shadow:0 0 0 1px var(--border-color), 0 8px 20px var(--shadow-color);border-radius:50%;flex:none;order:-1;overflow:hidden}.profile-photo{object-fit:cover;object-position:center;width:100%;height:100%;display:block;transform:scale(1.35)}.intro{border-bottom:1px solid var(--border-color);padding:0 0 1.5rem}.intro>p{max-width:64ch;margin-bottom:0;font-size:1rem}.intro>p+p{margin-top:.75rem}.experience{margin-top:clamp(1.4rem,4vw,2rem)}.experience>h2{margin:0 0 .6rem;font-size:clamp(1.4rem,4vw,1.75rem)}.company{border-top:1px solid var(--border-color);padding:.9rem 0}.company+.company{margin-top:0}.company-header{align-items:flex-start;display:flex}.company-header>div{min-width:0}.company-header h3{margin:0;font-size:1.1rem}.company-header h3 a{color:var(--heading-color);text-decoration-color:color-mix(in srgb, var(--accent-color) 70%, transparent);text-underline-offset:.22em;text-decoration-thickness:1.5px}.company-header h3 a:hover{color:var(--accent-color);text-decoration-color:currentColor;text-decoration-thickness:2px}.company-header p{margin:.15rem 0 0}.roles{border-left:2px solid var(--border-color);margin:.65rem 0 0 5px;padding:0 0 0 1.75rem;list-style:none}.roles>li{padding:0 0 .75rem;position:relative}.roles>li:last-child{padding-bottom:0}.roles>li:before{background:var(--surface-color);border:2px solid var(--muted-color);content:"";border-radius:50%;width:10px;height:10px;position:absolute;top:.35rem;left:calc(-1.75rem - 6px)}.roles>.current-role:before{background:var(--accent-color);border-color:var(--accent-color)}.roles h4{margin:0 0 .15rem;font-size:1rem}.role-meta,.role-location{margin:0;font-size:.84rem;display:inline}.role-meta{color:var(--text-color);font-variant-numeric:tabular-nums;font-weight:600}.role-location{color:var(--muted-color);font-weight:400}.role-location:before{color:var(--border-color);content:" · "}.compact-company .company-header h3{margin-bottom:.15rem}.contact{background:var(--surface-accent);border-left:4px solid var(--accent-color);border-radius:4px 14px 14px 4px;margin-top:1rem;padding:.9rem 1rem}.contact p{margin:0}.social-link{white-space:nowrap;align-items:center;gap:.28em;display:inline-flex}.social-link svg{fill:currentColor;flex:none;width:.9em;height:.9em}@media (width<=700px){body{padding-top:1rem}.profile-intro{gap:1.25rem}.profile-intro h1{font-size:clamp(2.1rem,9vw,3.25rem)}.profile-photo-frame{width:82px}}@media (width<=520px){body{padding:.75rem 1rem 1rem}.profile-intro{text-align:center;flex-direction:column;align-items:center;gap:.8rem}.profile-intro>.profile-copy{width:100%}.profile-intro h1{justify-content:center}.profile-photo-frame{width:82px}.profile-intro h1{font-size:clamp(1.75rem,8vw,2.15rem)}.intro>p{font-size:1rem}.contact{padding:.8rem .9rem}.company{padding:.8rem 0}.roles{margin-left:5px;padding-left:1.75rem}.roles>li:before{left:calc(-1.75rem - 6px)}.role-meta,.role-location{display:block}.role-location:before{content:none}footer nav{flex-direction:column;align-items:center}footer nav a{align-items:center;min-height:44px;margin-right:0;padding-inline:.75rem;display:inline-flex}}video,iframe{max-width:100%}code{background-color:var(--code-background-color);color:var(--code-color);border-radius:3px;padding:2px;font-family:monospace}blockquote{border-left:3px solid var(--border-color);color:var(--blockquote-color);padding-left:20px;font-style:italic}footer{text-align:center;color:var(--muted-color);padding:1.25rem 0 0;font-size:.85rem}footer nav{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.title:hover{text-decoration:none}.title h1{font-size:1.5em}.inline{width:auto!important}.highlight,.code{background-color:var(--code-background-color);color:var(--code-color);border-radius:3px;margin-block:1em;padding:1px 15px;overflow-x:auto}ul.blog-posts{padding:unset;list-style-type:none}ul.blog-posts li{flex-wrap:wrap;gap:.5rem;display:flex}ul.blog-posts li span{flex:0 0 130px}ul.blog-posts li a:visited{color:var(--visited-color)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}}
