:root{color-scheme:light;--bg:#fff;--text:#1b1b1b;--muted:#686868;--line:#d6d6d6;--link:#2f78bd;--max:1010px}:root[data-theme=dark]{color-scheme:dark;--bg:#121212;--text:#f3f3f3;--muted:#aaa;--line:#464646;--link:#73b1ed}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.75;transition:background .2s,color .2s}a{color:var(--link);text-decoration:none}a:hover,a:focus-visible{text-decoration:underline}.site-shell{width:min(calc(100% - 48px), var(--max));margin:0 auto}.site-header{padding:40px 0 0}.header-row{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.brand{color:var(--text);letter-spacing:-.02em;font-size:18px;font-weight:700}.theme-toggle{appearance:none;border:1px solid var(--line);color:var(--text);cursor:pointer;font:inherit;background:0 0;border-radius:999px;padding:3px 12px;font-size:13px}.theme-toggle:hover,.theme-toggle:focus-visible{background:var(--text);color:var(--bg)}.main-nav{border-top:2px solid var(--line);border-bottom:2px solid var(--line);flex-wrap:wrap;gap:10px 34px;margin-top:34px;padding:18px 0;display:flex}.main-nav a{font-size:16px}.intro{padding:88px 0 74px}h1,h2,h3{letter-spacing:-.035em;line-height:1.25}h1{max-width:780px;margin:0 0 28px;font-size:clamp(36px,7vw,70px)}.intro p{max-width:650px;color:var(--muted);margin:0;font-size:19px}.rule{border:0;border-top:2px solid var(--line);margin:0}.section{padding:62px 0}.section-heading{justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:28px;display:flex}.section-heading h2{margin:0;font-size:28px}.section-heading span{color:var(--muted);font-size:14px}.work-list,.post-list{border-top:1px solid var(--line)}.work-item,.post-item{border-bottom:1px solid var(--line);grid-template-columns:150px 1fr;gap:28px;padding:22px 0;display:grid}.meta{color:var(--muted);font-size:14px}.item-title{margin:0;font-size:18px;font-weight:700}.item-description{color:var(--muted);margin:5px 0 0}.link-row{flex-wrap:wrap;gap:8px 22px;margin-top:10px;display:flex}.profile-grid{grid-template-columns:1fr 1fr;gap:48px;display:grid}.profile-grid p{margin-top:0}.site-footer{color:var(--muted);padding:34px 0 70px;font-size:14px}.article{max-width:720px;padding:70px 0 100px}.about-page{padding-bottom:50px}.about-intro{padding:72px 0 58px}.about-label{margin:0 0 22px;font-size:28px}.about-intro-content{grid-template-columns:190px minmax(0,720px);align-items:start;gap:32px;display:grid}.profile-image{aspect-ratio:4/5;object-fit:cover;width:190px;display:block}.about-intro h1{max-width:760px;margin:4px 0 18px;font-size:clamp(30px,4vw,44px)}.about-intro p{color:var(--muted);margin:0}.about-intro p+p{margin-top:4px}.about-section{padding:48px 0}.simple-list{margin:0;padding-left:1.25em}.simple-list li+li{margin-top:10px}.prose-block p{max-width:720px}.prose-block p+p{margin-top:18px}.works-page{padding-bottom:50px}.works-intro{padding:68px 0 48px}.works-intro h1{margin:0;font-size:clamp(36px,6vw,58px)}.works-section{padding:46px 0}.image-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.image-grid figure{margin:0}.image-grid img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.photo-grid img{aspect-ratio:4/3}.video-grid{grid-template-columns:repeat(2,1fr);gap:22px;display:grid}.video-item{color:var(--text)}.video-item iframe{aspect-ratio:16/9;border:0;width:100%;margin-bottom:10px;display:block}.video-item span{color:var(--link)}.article-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.article-item{border:1px solid var(--line);font-size:17px;line-height:1.55;transition:border-color .2s,background .2s;display:block;overflow:hidden}.article-thumb{aspect-ratio:16/9;background:color-mix(in srgb, var(--muted) 12%, var(--bg));overflow:hidden}.article-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .35s;display:block}.article-item:hover .article-thumb img,.article-item:focus-visible .article-thumb img{transform:scale(1.03)}.article-thumb.is-empty{place-items:center;display:grid}.article-thumb.is-empty:after{content:"ARTICLE";color:var(--muted);letter-spacing:.16em;font-size:13px}.article-card-body{justify-content:space-between;align-items:flex-start;gap:14px;min-height:92px;padding:18px 20px;display:flex}.article-arrow{color:var(--link);flex:none;font-size:22px;line-height:1}.article-item:hover,.article-item:focus-visible{background:color-mix(in srgb, var(--link) 6%, var(--bg));border-color:var(--link);text-decoration:none}.blog-home{padding:72px 0 100px}.blog-title-row{justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:34px;display:flex}.blog-title-row h1{margin:0;font-size:clamp(36px,6vw,58px)}.blog-title-row p,.post-category{color:var(--muted);margin:0}.post-category{margin-bottom:3px;font-size:14px}.article h1{font-size:clamp(36px,6vw,58px)}.article h2{margin-top:48px;font-size:29px}.article h3{margin-top:34px;font-size:22px}.article p,.article ul,.article ol{max-width:680px}.article blockquote{border-left:3px solid var(--line);color:var(--muted);margin-left:0;padding-left:20px}.link-section{border-top:1px solid var(--line);margin-top:58px;padding-top:24px}.link-section h2{margin:0 0 16px;font-size:20px}.linked-posts{margin:0;padding-left:1.2em}.linked-posts li+li{margin-top:8px}.back-link{margin-bottom:34px;display:inline-block}@media (width<=680px){body{font-size:16px}.site-shell{width:min(calc(100% - 32px), var(--max))}.site-header{padding-top:24px}.main-nav{gap:5px 19px;margin-top:24px}.main-nav a{font-size:14px}.intro{padding:62px 0 52px}.about-intro{padding:54px 0 44px}.about-label{font-size:26px}.about-intro-content{grid-template-columns:1fr;gap:22px}.profile-image{width:150px}.about-intro h1{font-size:clamp(30px,9vw,42px)}.about-section{padding:38px 0}.works-intro{padding:54px 0 38px}.works-section{padding:36px 0}.image-grid,.video-grid{grid-template-columns:1fr;gap:14px}.article-list{grid-template-columns:1fr;gap:12px}.article-item{font-size:16px}.article-card-body{min-height:auto;padding:16px}.blog-home{padding:54px 0 80px}.blog-title-row{display:block}.blog-title-row p{margin-top:6px}.intro p{font-size:17px}.section{padding:46px 0}.section-heading{display:block}.section-heading span{margin-top:6px;display:block}.work-item,.post-item{grid-template-columns:1fr;gap:2px;padding:18px 0}.profile-grid{grid-template-columns:1fr;gap:20px}}
