*,*:before,*:after{box-sizing:border-box}*{margin:0}:root{--bg: #f7f8f4;--paper: rgba(255, 255, 252, .94);--ink: #171a1d;--muted: #5f686d;--subtle: #879096;--line: #d9dfdc;--line-strong: #b8c2bf;--steel: #315f78;--steel-dark: #20495e;--tag: #e8f0f4;--amber: #936833;--shadow: rgba(31, 41, 45, .06);--nav-bg: rgba(247, 248, 244, .92);color-scheme:light}:root[data-theme=dark]{--bg: #171c20;--paper: rgba(30, 36, 40, .94);--ink: #f3f0e8;--muted: #c0c8c8;--subtle: #8f9a9e;--line: #394349;--line-strong: #4a565d;--steel: #9fc5df;--steel-dark: #c6ddea;--tag: #23343e;--amber: #d2a56f;--shadow: rgba(0, 0, 0, .24);--nav-bg: rgba(23, 28, 32, .92);color-scheme:dark}html{scroll-behavior:smooth}body{min-width:320px;background:var(--bg);color:var(--ink);font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.55}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(#f7f8f4d1,#f7f8f4d1),url(../../../images/bird-wallpaper.svg);background-position:0 0,0 0;background-size:auto,760px 760px;opacity:.5}:root[data-theme=dark] body:before{filter:brightness(.38) saturate(.65);opacity:.2}a{color:inherit}.site-nav,main,footer{position:relative;z-index:1}.site-nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 max(20px,calc((100vw - 1080px)/2));border-bottom:1px solid var(--line);background:var(--nav-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.nav-logo{color:var(--ink);font-weight:800;text-decoration:none}.nav-actions{display:flex;align-items:center;gap:20px}.nav-links{display:flex;gap:22px;padding:0;list-style:none}.nav-links a{color:var(--muted);font-size:13px;font-weight:600;text-decoration:none}.nav-links a:hover{color:var(--ink)}.theme-toggle{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:5px 10px 5px 6px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--muted);cursor:pointer;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.theme-toggle-track{display:inline-flex;align-items:center;width:32px;height:18px;padding:2px;border:1px solid var(--line);border-radius:999px;background:var(--tag)}.theme-toggle-thumb{width:12px;height:12px;border-radius:50%;background:var(--steel);transform:translate(0);transition:transform .2s ease}:root[data-theme=dark] .theme-toggle-thumb{transform:translate(14px)}main{width:min(100%,1144px);margin:0 auto;padding:0 32px 44px}.hero{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:34px;align-items:end;padding:58px 0 26px;border-bottom:1px solid var(--line)}.hero-text{max-width:780px}.eyebrow,.project-meta,.experience-list>article>span{color:var(--amber);font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:500;letter-spacing:.08em;line-height:1.45;text-transform:uppercase}h1,h2,h3{color:var(--ink);letter-spacing:0}h1{margin-top:10px;font-size:clamp(3.2rem,8vw,6.4rem);font-weight:800;line-height:.9}.hero p:not(.eyebrow){max-width:720px;margin-top:18px;color:var(--muted);font-size:19px;line-height:1.58}.hero-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:10px 15px;border:1px solid var(--line-strong);background:var(--paper);color:var(--ink);font-size:14px;font-weight:700;text-decoration:none}.button.primary{border-color:var(--steel);background:var(--steel);color:#fff}.profile-photo{display:block;width:210px;aspect-ratio:1;object-fit:cover;object-position:top center;border:1px solid var(--line);background:var(--paper)}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line)}.metric-grid div{min-height:96px;padding:18px 16px}.metric-grid div+div{border-left:1px solid var(--line)}.metric-grid strong{display:block;color:var(--steel-dark);font-size:clamp(1.45rem,2.6vw,2rem);line-height:1}:root[data-theme=dark] .metric-grid strong{color:var(--steel)}.metric-grid span{display:block;margin-top:8px;color:var(--muted);font-size:13px}.section{padding:52px 0;scroll-margin-top:80px}.section-head{margin-bottom:20px;border-bottom:1px solid var(--line);padding-bottom:14px}.section-head h2{margin-top:4px;font-size:clamp(1.9rem,4vw,3rem);font-weight:800;line-height:1}.project-list{display:grid;gap:16px}.project-card{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:22px;padding:20px;border:1px solid var(--line);background:var(--paper);box-shadow:0 16px 36px var(--shadow)}.project-card:not(:has(.project-media)){grid-template-columns:1fr}.project-content{min-width:0}.project-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;color:var(--subtle)}.project-card h3{max-width:760px;margin-top:12px;font-size:clamp(1.45rem,2.7vw,2.2rem);font-weight:800;line-height:1.08}.project-card p{max-width:760px;margin-top:12px;color:var(--muted);font-size:15px;line-height:1.65}.project-card .result{color:var(--ink)}.project-card .result strong{color:var(--steel-dark)}:root[data-theme=dark] .project-card .result strong{color:var(--steel)}.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}.tags span{display:inline-flex;align-items:center;min-height:26px;padding:4px 8px;border:1px solid var(--line);background:var(--tag);color:var(--steel-dark);font-family:IBM Plex Mono,monospace;font-size:11px}:root[data-theme=dark] .tags span{color:var(--steel)}.project-media{display:grid;gap:8px;align-content:start}.project-media.media-pair{grid-template-columns:1.15fr .85fr}.project-media img{display:block;width:100%;height:210px;object-fit:cover;border:1px solid var(--line);background:var(--paper)}.project-media img.contain{height:250px;object-fit:contain;padding:6px}.experience-list,.skill-list{display:grid;border-top:1px solid var(--line)}.experience-list article{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;padding:18px 0;border-bottom:1px solid var(--line)}.experience-list h3,.skill-list h3{font-size:18px;font-weight:800}.experience-list .org{margin-top:3px;color:var(--steel-dark);font-size:14px;font-weight:700}:root[data-theme=dark] .experience-list .org{color:var(--steel)}.experience-list p:not(.org),.skill-list p{margin-top:6px;color:var(--muted);font-size:14px;line-height:1.6}.skill-list{grid-template-columns:repeat(2,minmax(0,1fr));border-left:1px solid var(--line)}.skill-list div{min-height:120px;padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 84%,transparent)}.contact{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:30px;align-items:center;margin-top:20px;padding:24px 0 0;border-top:1px solid var(--line);scroll-margin-top:80px}.contact h2{max-width:700px;margin-top:4px;font-size:clamp(1.65rem,3.2vw,2.6rem);font-weight:800;line-height:1.08}.contact-links{display:grid;gap:8px}.contact-links a{display:flex;align-items:center;min-height:44px;padding:10px 12px;border:1px solid var(--line);background:var(--paper);color:var(--steel-dark);font-weight:800;text-decoration:none;overflow-wrap:anywhere}:root[data-theme=dark] .contact-links a{color:var(--steel)}footer{display:flex;justify-content:space-between;width:min(100%,1144px);margin:0 auto;padding:24px 32px 36px;color:var(--subtle);font-family:IBM Plex Mono,monospace;font-size:12px}@media(max-width:900px){.hero,.project-card,.contact{grid-template-columns:1fr}.profile-photo{width:180px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid div:nth-child(3){border-left:0;border-top:1px solid var(--line)}.metric-grid div:nth-child(4){border-top:1px solid var(--line)}.project-media.media-pair{grid-template-columns:1fr 1fr}}@media(max-width:680px){.site-nav{height:58px;padding:0 16px}.nav-links,.theme-toggle-text{display:none}.theme-toggle{padding-right:6px}main{padding:0 16px 34px}.hero{padding:34px 0 22px;gap:22px}h1{font-size:clamp(3rem,16vw,4.4rem)}.hero p:not(.eyebrow){font-size:16px}.profile-photo{width:150px}.metric-grid,.skill-list,.experience-list article{grid-template-columns:1fr}.metric-grid div+div,.metric-grid div:nth-child(3),.metric-grid div:nth-child(4){border-left:0;border-top:1px solid var(--line)}.section{padding:38px 0}.section-head{display:block}.project-card{padding:16px}.project-media.media-pair{grid-template-columns:1fr}.project-media img,.project-media img.contain{height:210px}footer{flex-direction:column;gap:8px;padding-inline:16px}}
