:root{--bg:#f7f8f9;--text:#202124;--muted:#777b82;--line:#d8dadd;--max-width:820px}*{box-sizing:border-box}html{background:var(--bg);color:var(--text);font-family:Montserrat,Avenir Next,Avenir,sans-serif}body{min-height:100vh;margin:0;line-height:1.55}a{color:inherit;text-decoration:none}.container{width:min(calc(100% - 96px), var(--max-width));margin:0 auto}footer{color:var(--muted);justify-content:space-between;margin-top:128px;padding:24px 0 32px;font-size:13px;display:flex}@media (width<=700px){.container{width:calc(100% - 36px)}footer{flex-direction:column;gap:8px}}.hero{text-align:center;padding:80px 0 96px}.avatar{background:#e5e7e9;border-radius:50%;place-items:center;width:108px;height:108px;margin:0 auto 18px;font-size:30px;font-weight:800;display:grid}.avatar img{object-fit:cover;border-radius:inherit;width:100%;height:100%}.hero h1{letter-spacing:-.03em;margin:0 0 18px;font-size:32px;line-height:1.2}.socials{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:28px;margin-top:0;font-size:17px;font-weight:500;display:flex}.location,.social-links{align-items:center;display:flex}.location{gap:8px}.location svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:19px;height:19px}.social-links{border-left:1px solid var(--line);gap:26px;padding-left:28px}.socials a{transition:color .15s}.socials a:hover{color:var(--text)}.section-header{align-items:center;gap:22px;margin-bottom:28px;display:flex}.section-header h2{letter-spacing:-.03em;margin:0;font-size:24px;font-weight:700}.section-header:after{content:"";background:var(--line);flex:1;height:1px}.about-copy{color:#44484e;max-width:66ch;font-size:17px;line-height:1.75}.about-copy p{margin:0}.about-copy p+p{margin-top:1.25em}.sections{gap:64px;display:grid}.post-list{gap:12px;display:grid}.post-card{border:1px solid var(--line);border-radius:10px;grid-template-columns:115px 1fr auto;align-items:center;gap:18px;padding:16px 18px;transition:background .15s,border-color .15s;display:grid}.post-card:hover{background:#f1f3f5;border-color:#c9ccd0}.post-date{color:var(--muted);white-space:nowrap;font-size:13px}.post-title{font-size:16px}.post-arrow{color:var(--muted)}.all-posts-row{justify-content:flex-end;margin-top:18px;display:flex}.all-posts-row a{color:var(--muted);font-size:14px}@media (width<=700px){.post-card{grid-template-columns:1fr auto;gap:4px 12px}.post-date{grid-area:1/1}.post-title{grid-area:2/1}.post-arrow{grid-area:1/2/3;align-self:center}}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.work-card{border:1px solid var(--line);border-radius:10px;padding:20px;transition:background .15s}.work-card:hover{background:#f1f3f5}.work-card h3{margin:0;font-size:17px}.work-card p{color:var(--muted);margin:6px 0 0;font-size:14px}@media (width<=700px){.work-grid{grid-template-columns:1fr}}.blog-page,.article{padding-top:72px}.back-link{color:var(--muted);font-size:14px}.back-link:hover,.article-content a:hover{color:var(--text)}.page-heading{margin:36px 0 48px}.page-heading h1,.article-heading h1{letter-spacing:-.04em;margin:0;line-height:1.15}.page-heading h1{font-size:48px}.page-heading p,.article-heading p{color:var(--muted)}.page-heading p{margin:12px 0 0;font-size:17px}.article{max-width:720px}.article-heading{margin:48px 0}.article-heading time{color:var(--muted);margin-bottom:12px;font-size:14px;display:block}.article-heading h1{font-size:42px}.article-heading p{margin:16px 0 0;font-size:17px;line-height:1.7}.article-content{color:#44484e;font-size:17px;line-height:1.8}.article-content h2{color:var(--text);margin:2.5em 0 .7em;font-size:26px;line-height:1.3}.article-content p,.article-content ul,.article-content ol{margin:0 0 1.4em}.article-content a{color:var(--text);text-underline-offset:3px;text-decoration:underline}.article-content pre{color:#f7f8f9;background:#202124;border-radius:8px;padding:18px;font-size:14px;line-height:1.6;overflow-x:auto}.article-content :not(pre)>code{background:#e9ebed;border-radius:4px;padding:.15em .35em;font-size:.9em}@media (width<=700px){.blog-page,.article{padding-top:48px}.page-heading h1{font-size:40px}.article-heading h1{font-size:34px}}
