: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%;background-color:var(--background-color);background-image:var(--background-gradient);min-height: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:100svh;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}.hero{border-bottom:1px solid var(--border-color);padding:clamp(1rem,3vw,1.75rem) 0 clamp(2rem,6vw,3.25rem)}.eyebrow{color:var(--accent-color);letter-spacing:.13em;text-transform:uppercase;margin:0 0 .8rem;font-size:.76rem;font-weight:750;line-height:1.3}.hero h1{letter-spacing:-.055em;max-width:15ch;margin:0;font-size:clamp(2.6rem,8vw,4.7rem);font-weight:780;line-height:.98}.hero h1 .wave{letter-spacing:normal;vertical-align:.12em;margin-left:.08em;font-size:.62em;display:inline-block;transform:rotate(-8deg)}.hero-intro{max-width:58ch;color:var(--text-color);margin:1.35rem 0 0;font-size:clamp(1.05rem,2vw,1.2rem);line-height:1.55}.hero .pronunciation{margin-top:.75rem}.focus-section{padding:clamp(2rem,6vw,3.5rem) 0 0}.section-heading h2{margin:0;font-size:clamp(1.65rem,4vw,2.15rem)}.section-heading .eyebrow{margin-bottom:.55rem}.focus-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1.35rem;display:grid}.focus-card{background:color-mix(in srgb, var(--surface-color) 72%, transparent);border:1px solid var(--border-color);border-radius:.9rem;padding:1.1rem}.focus-card h3{margin:0;font-size:1rem}.focus-card p{color:var(--muted-color);margin:.55rem 0 0;font-size:.9rem;line-height:1.5}.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{text-align:left;padding:0 0 1.5rem}.intro>p{max-width:64ch;margin-bottom:0;font-size:1rem}.intro>p+p{margin-top:1.5rem}.intro h1{letter-spacing:-.035em;max-width:18ch;margin:0;font-size:clamp(2.55rem,8vw,4.4rem);font-weight:780;line-height:1.08}.intro h1 .wave{letter-spacing:normal;vertical-align:.12em;margin-left:.08em;font-size:.62em;display:inline-block;transform:rotate(-8deg)}.intro-lede{max-width:58ch;color:var(--text-color);margin:1.5rem 0 0;font-size:1.08rem;line-height:1.6}.intro>.pronunciation{margin:.9rem 0 0}.page-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;margin:1.25rem 0 0;display:flex}.icon-button{min-height:2.4rem;color:var(--heading-color);background:var(--surface-color);border:1px solid var(--border-color);letter-spacing:.005em;border-radius:.55rem;justify-content:center;align-items:center;gap:.35em;padding:.42rem .82rem .42rem .72rem;font-size:.94rem;font-weight:600;line-height:1.2;text-decoration:none;transition:background-color .16s,border-color .16s,transform .16s;display:inline-flex}.icon-button:visited{color:var(--heading-color)}.icon-button:hover{color:var(--heading-color);background:var(--surface-accent);border-color:var(--accent-color);text-decoration:none;transform:translateY(-1px)}.icon-button:active{transform:translateY(0)}.icon-button--email{color:#b54747;border-color:#e4aaaa}.icon-button--email:hover{color:#9d3535;background:#fff5f5;border-color:#d77d7d}.icon-button--linkedin{color:#236fa8;border-color:#a5c9e5}.icon-button--linkedin:hover{color:#185b8e;background:#f0f7fc;border-color:#6ca9d4}.icon-button--github{color:#4f5964;border-color:#b6c0c9}.icon-button--github:hover{color:#343b43;background:#f3f5f7;border-color:#87929d}.icon-button--resume{background:var(--surface-color);color:#176b49;border-color:#8bc8aa}.icon-button--resume:hover{color:#176b49;background:#effaf4;border-color:#5dad82}.icon-button svg{fill:currentColor;flex:none;width:.98em;height:.98em}.icon-button--email:visited{color:#b54747}.icon-button--linkedin:visited{color:#236fa8}.icon-button--github:visited{color:#4f5964}.icon-button--resume:visited{color:#176b49}@media (prefers-color-scheme:dark){.icon-button--github{color:#c9d1d9;background:0 0;border-color:#82909d}.icon-button--github:hover{color:#f0f6fc;background:#24303a;border-color:#aab7c4}.icon-button--github:visited{color:#c9d1d9}}.back-link{margin:0 0 1rem;font-size:.86rem}.back-link a{color:var(--muted-color);align-items:center;gap:.35rem;text-decoration:none;display:inline-flex}.back-link a:hover{color:var(--heading-color);text-decoration:underline;text-decoration-color:var(--accent-color);text-underline-offset:.25em}.resume-header{border-bottom:1px solid var(--border-color);padding:0 0 1.25rem}.resume-header h1{letter-spacing:-.035em;margin:0;font-size:clamp(2.15rem,6vw,3.2rem);font-weight:750;line-height:1.08}.resume-title{color:var(--heading-color);margin:.45rem 0 0;font-size:1.05rem;font-weight:600}.resume-meta,.resume-contact{color:var(--muted-color);margin:.2rem 0 0;font-size:.95rem}.experience{margin-top:clamp(1.4rem,4vw,2rem)}.experience>h2{align-items:center;gap:.55rem;margin:0 0 .6rem;font-size:clamp(1.4rem,4vw,1.75rem);display:flex}.section-icon{width:1.9rem;height:1.9rem;color:var(--accent-color);background:var(--surface-accent);border:1px solid var(--border-color);border-radius:.55rem;place-items:center;display:inline-grid}.section-icon svg{fill:currentColor;width:1.05rem;height:1.05rem}.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,.role-grade{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-grade{color:var(--muted-color);font-weight:500;display:block}.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-links{flex-wrap:wrap;gap:.65rem;display:flex}.contact-button{min-height:2.75rem;color:var(--heading-color);background:var(--surface-color);border:1px solid var(--border-color);box-shadow:0 3px 8px var(--shadow-color);white-space:nowrap;border-radius:999px;align-items:center;gap:.45rem;padding:.55rem .9rem;font-size:.9rem;font-weight:650;text-decoration:none;transition:color .16s,border-color .16s,background-color .16s,transform .16s,box-shadow .16s;display:inline-flex}.contact-button:hover{color:var(--accent-color);background:var(--surface-accent);border-color:var(--accent-color);box-shadow:0 5px 12px var(--shadow-color);text-decoration:none;transform:translateY(-1px)}.contact-button svg{fill:currentColor;flex:none;width:1.05rem;height:1.05rem}@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 calc(1rem + env(safe-area-inset-bottom))}.intro{padding-bottom:1.25rem}.intro h1{max-width:100%;font-size:clamp(2.25rem,12vw,3.2rem);line-height:1.1}.intro-lede{font-size:1rem}.page-actions{gap:.5rem}.icon-button{min-height:2.35rem;padding:.38rem .7rem;font-size:.9rem}.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}.hero{padding-top:.5rem}.hero h1{max-width:11ch;font-size:clamp(2.45rem,14vw,3.7rem)}.focus-grid{grid-template-columns:1fr}.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,.role-grade{display:block}.role-location:before{content:none}footer nav{flex-direction:row;align-items:center}footer nav a{align-items:center;min-height:44px;margin-right:0;padding-inline:0;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{border-top:1px solid var(--border-color);text-align:center;color:var(--muted-color);margin-top:2.5rem;padding:1.25rem 0 0;font-size:.85rem}footer nav{flex-wrap:wrap;justify-content:center;align-items:center;display:flex}footer .copyright{color:color-mix(in srgb, var(--muted-color) 82%, transparent)}footer .copyright:before{color:var(--border-color);content:"·";margin:0 .5rem}.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}}
