:root{color-scheme:light;--ink: #101820;--muted: #66727d;--paper: #fbfcfb;--panel: #ffffff;--line: #e1e8e4;--soft: #edf4f1;--accent: #0d6f67;--accent-dark: #084d48;--warm: #b9863a;--shadow: 0 24px 70px rgba(16, 24, 32, .11)}*{box-sizing:border-box}html{min-height:100%;background:var(--paper);scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:radial-gradient(circle at 86% 10%,rgba(13,111,103,.08),transparent 30%),linear-gradient(180deg,#ffffff 0%,var(--paper) 52%,#f2f6f3 100%)}a{color:inherit}svg{display:block;width:1em;height:1em;fill:currentColor}.page{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:34px 0 58px}.hero{min-height:min(640px,calc(100vh - 68px));display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,410px);gap:clamp(34px,7vw,84px);align-items:center;padding:18px 0 34px}.hero-copy{max-width:690px;animation:rise-in .52s ease-out both}.topline{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:34px}.location{display:inline-flex;align-items:center;gap:8px;color:var(--accent-dark);font-size:.92rem;font-weight:800}.language{min-height:36px;display:inline-flex;align-items:center;justify-content:center;padding:7px 11px;border:1px solid rgba(13,111,103,.26);border-radius:8px;background:#ffffffdb;color:var(--accent-dark);font-size:.88rem;font-weight:780;text-decoration:none;transition:border-color .16s ease,transform .16s ease,background-color .16s ease}.language:hover,.language:focus-visible{transform:translateY(-1px);border-color:#0d6f67a6;background:#fff;outline:none}h1,h2,h3,p{margin:0}h1{max-width:12ch;font-size:4.75rem;line-height:.95;letter-spacing:0}.role{margin-top:24px;color:var(--accent-dark);font-size:1.26rem;font-weight:820;line-height:1.35}.intro{max-width:58ch;margin-top:18px;color:var(--muted);font-size:1.12rem;line-height:1.62}.portrait-card{width:min(100%,410px);justify-self:center;border-radius:8px;background:var(--soft);box-shadow:var(--shadow);overflow:hidden;animation:rise-in .62s 80ms ease-out both}.portrait-card picture{display:block;aspect-ratio:1}.portrait{width:100%;height:100%;display:block;object-fit:cover}.links{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:10px 14px;border:1px solid transparent;border-radius:8px;background:var(--ink);color:#fff;font-weight:820;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease}.button.github{border-color:var(--line);background:#ffffffd1;color:var(--ink)}.button:hover,.button:focus-visible{transform:translateY(-1px);box-shadow:0 14px 28px #10182024;outline:none}.button.linkedin:hover{background:var(--accent-dark)}.button.github:hover{background:#fff}.button-icon{font-size:1.06rem}.section{padding:64px 0;border-top:1px solid rgba(13,111,103,.13)}.section-head{margin-bottom:24px}.section-head h2{color:var(--ink);font-size:1.34rem;line-height:1.2}.item-context{margin-bottom:8px;color:#6d7b83;font-size:.82rem;font-weight:820;letter-spacing:0}.work-item .item-context{color:var(--warm);font-size:.78rem;font-weight:820;letter-spacing:.03em;text-transform:uppercase}.work-section{border-top-color:#b9863a47}.work-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px}.work-item{display:grid;align-content:start;gap:18px;padding-top:18px;border-top:2px solid rgba(185,134,58,.46);background:transparent}.work-item h3{font-size:1.05rem;line-height:1.3}.work-item p:not(.item-context){margin-top:7px;color:var(--muted);font-size:.96rem;line-height:1.52}.work-meta{display:grid;align-items:start;gap:10px}.work-item ul{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:0 9px;margin:0;padding:0;list-style:none;line-height:1.55}.work-item li{display:inline-flex;align-items:center;color:#53666a;font-size:.82rem;font-weight:700;white-space:nowrap}.work-item li:not(:last-child):after{content:"·";margin-left:9px;color:#53666a5c}.work-link{width:max-content;display:inline-flex;align-items:center;gap:5px;color:var(--accent-dark);font-size:.82rem;font-weight:820;line-height:1.25;text-decoration:none;transition:color .16s ease,text-decoration-color .16s ease}.work-link span:first-child{border-bottom:1px solid rgba(13,111,103,.34)}.work-link-icon{font-size:.72rem;transition:transform .16s ease}.work-link:hover,.work-link:focus-visible{color:var(--ink);outline:none}.work-link:hover span:first-child,.work-link:focus-visible span:first-child{border-bottom-color:currentColor}.work-link:hover .work-link-icon,.work-link:focus-visible .work-link-icon{transform:translate(1px,-1px)}.capabilities-section{border-top-color:#0d6f671f}.experience-list,.capability-list{display:grid;gap:16px}.capability-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:46px}.line-item,.capability-row{display:grid;grid-template-columns:minmax(180px,.34fr) minmax(0,1fr);gap:28px;align-items:start;padding:0}.capability-row{display:block;padding-top:0;border-top:0}.line-item h3,.capability-row h3{color:var(--ink);font-size:1rem;line-height:1.32}.line-item .item-context{margin:7px 0 0;color:#6d7b83}.line-item p{color:var(--muted);font-size:.96rem;line-height:1.52}.capability-row ul{display:flex;flex-wrap:wrap;gap:1px 8px;margin:13px 0 0;padding:0;list-style:none;line-height:1.75}.capability-row li{display:inline-flex;color:#53666a;font-size:.93rem;font-weight:650;white-space:nowrap}.capability-row li:not(:last-child):after{content:",";color:#53666ab8}.education-section .experience-list{max-width:880px}.experience-section .experience-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:46px}.experience-section .line-item{display:block}.experience-section .line-item>p{margin-top:14px}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:920px){.hero{grid-template-columns:minmax(0,1fr) minmax(220px,320px);gap:34px}h1{font-size:3.8rem}}@media(max-width:780px){.page{width:min(100% - 24px,520px);padding:22px 0 40px}.hero{min-height:0;display:flex;flex-direction:column;gap:22px;align-items:stretch;padding:4px 0 30px}.portrait-card{order:2;width:min(54vw,190px);align-self:center;margin-top:4px}.hero-copy{order:1;max-width:none}.topline{margin-bottom:14px}h1{font-size:3rem}.role{margin-top:18px;font-size:1.08rem}.intro{margin-top:14px;font-size:1rem}.links{display:flex;flex-wrap:wrap}.button{min-height:0;padding:9px 12px;background:#ffffff9e;color:var(--ink);border-color:var(--line)}.button.linkedin{border-color:transparent;background:var(--ink);color:#fff}.section{padding:48px 0}.work-list{grid-template-columns:1fr;gap:24px}.work-item{gap:11px;padding-top:14px;border-top-width:1px;border-top-color:#0d6f673d}.work-item ul{justify-content:flex-start}.experience-list,.capability-list{gap:20px}.capability-list{grid-template-columns:1fr}.line-item,.capability-row{grid-template-columns:1fr;gap:8px;padding:18px 0}.experience-section .experience-list{grid-template-columns:1fr}.capability-row{padding-top:0}}@media(max-width:430px){.page{width:min(100% - 20px,420px)}h1{font-size:2.72rem}.links{display:grid;grid-template-columns:1fr 1fr}.button{min-height:42px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}
