@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#111;--muted:#6b6b6b;--line:#ececec;--paper:#fff;--wash:#f7f7f7;--gutter:clamp(16px, 5vw, 24px);--ease:cubic-bezier(.22, 1, .36, 1);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;font-family:Inter Variable,system-ui,sans-serif}*,:before,:after{box-sizing:border-box}body{margin:0;line-height:1.5}h1,h2,h3,p,ul{margin:0;padding:0}ul{list-style:none}a{color:inherit;text-decoration:none}img,svg,iframe{max-width:100%;display:block}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.wrap{width:min(976px, 100% - var(--gutter) * 2);margin-inline:auto}.hero{background:var(--wash);padding-block:clamp(72px,12vh,120px) 72px}.hero h1,.page-title{letter-spacing:-.055em;font-size:clamp(3.25rem,11.5vw,7rem);font-weight:700;line-height:1}.hero h1{margin-top:32px}.hero__role{color:#444;letter-spacing:-.01em;margin-top:24px;font-size:1.5rem;line-height:1.3}.hero__tagline{color:var(--muted);margin-top:8px}.hero .socials{margin-top:28px}.avatar{aspect-ratio:1;background:var(--ink);object-fit:cover;border-radius:50%;place-items:center;width:176px;height:auto;display:grid;overflow:hidden}.avatar--small{flex:none;width:36px}.avatar--small img{object-fit:cover;width:100%;height:100%}.socials{gap:6px;display:flex}.socials a{background:var(--ink);color:#fff;width:56px;height:56px;transition:transform .2s var(--ease);border-radius:50%;place-items:center;display:grid}.socials a:hover{transform:scale(1.08)}.socials--small a{width:36px;height:36px}.socials--small svg{width:14px;height:14px}.pill{top:16px;left:max(var(--gutter), calc(50% - 488px));z-index:10;background:var(--paper);opacity:0;visibility:hidden;transition:opacity .24s var(--ease), transform .24s var(--ease), visibility .24s;border-radius:999px;align-items:center;gap:10px;padding:6px;display:flex;position:fixed;transform:translateY(-8px);box-shadow:0 2px 16px #0000002b}.pill.is-visible{opacity:1;visibility:visible;transform:none}.pill__name{white-space:nowrap;padding-inline:2px 4px;font-size:.875rem;font-weight:600}.section{padding-block:72px 16px}.section>.wrap>h2,.section-head h2{letter-spacing:-.045em;font-size:clamp(2.5rem,7vw,4rem);font-weight:700;line-height:1.05}.section-head{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.section-head a{white-space:nowrap;font-size:.9375rem;font-weight:600}.section-head a:hover{text-underline-offset:4px;text-decoration:underline}.rail{padding-inline:max(var(--gutter), calc(50% - 488px));scroll-snap-type:x proximity;scroll-padding-inline:max(var(--gutter), calc(50% - 488px));scrollbar-width:none;gap:16px;margin-top:32px;padding-bottom:8px;display:flex;overflow-x:auto}.rail::-webkit-scrollbar{display:none}.rail .card{scroll-snap-align:start;flex:0 0 min(340px,84vw)}.grid{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:16px;margin-top:24px;display:grid}.card{background:var(--wash);transition:transform .3s var(--ease);border-radius:32px;flex-direction:column;padding:8px 8px 24px;display:flex}.card:hover{transform:translateY(-4px)}.card__media{aspect-ratio:16/9;background:var(--ink);border-radius:24px;overflow:hidden}.card__media img{object-fit:cover;width:100%;height:100%;transition:transform .5s var(--ease)}.card:hover .card__media img{transform:scale(1.03)}.card__meta{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin-top:14px;padding-inline:16px;font-size:.8125rem;display:flex}.card .round{background:var(--paper);width:40px;height:40px;color:var(--ink);border-radius:50%;flex:none;place-items:center;display:grid}.card h3{letter-spacing:-.045em;margin-top:10px;padding-inline:16px;font-size:2rem;font-weight:700;line-height:1.1}.card p{color:var(--muted);margin-top:8px;padding-inline:16px;font-size:.9375rem;line-height:1.45}.rows{border-top:1px solid var(--line);margin-top:28px}.rows a,.rows .row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:24px;padding-block:24px;display:flex}.rows strong{letter-spacing:-.03em;font-size:clamp(1.25rem,3vw,1.625rem);line-height:1.2}.rows a:hover strong{text-underline-offset:4px;text-decoration:underline 2px}.rows time{color:var(--muted);flex:none;font-size:.875rem}.rows em{color:var(--muted);margin-top:2px;font-style:normal;display:block}.about{letter-spacing:-.015em;color:#2a2a2a;max-width:34em;margin-top:28px;font-size:clamp(1.25rem,2.6vw,1.5rem);line-height:1.4}.about p+p{margin-top:1em}.principles{grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));gap:16px;margin-top:40px;display:grid}.principles li{background:var(--wash);border-radius:24px;padding:24px}.principles strong{letter-spacing:-.03em;font-size:1.25rem;line-height:1.2;display:block}.principles p{color:var(--muted);margin-top:8px;font-size:.9375rem;line-height:1.45}.contact{background:var(--wash);border-radius:32px;margin-top:28px;padding:clamp(32px,6vw,56px)}.contact p{letter-spacing:-.04em;max-width:16em;font-size:clamp(1.75rem,4.5vw,2.5rem);font-weight:700;line-height:1.12}.button{background:var(--ink);color:#fff;transition:transform .2s var(--ease);border-radius:999px;align-items:center;gap:8px;margin-top:28px;padding:14px 22px;font-size:.9375rem;font-weight:600;display:inline-flex}.button:hover{transform:scale(1.03)}.page{padding-block:112px 24px}.page-title{font-size:clamp(3rem,10vw,5.5rem)}.page-title--post{letter-spacing:-.045em;font-size:clamp(2.25rem,7vw,4rem);line-height:1.05}.lede{color:#444;letter-spacing:-.01em;max-width:34em;margin-top:16px;font-size:1.375rem;line-height:1.35}.year{letter-spacing:-.04em;margin-top:56px;font-size:2rem;font-weight:700}.tags{flex-wrap:wrap;gap:6px;margin-top:20px;display:flex}.tags li{background:var(--wash);color:var(--muted);border-radius:999px;padding:4px 12px;font-size:.8125rem}.meta{color:var(--muted);margin-bottom:16px;font-size:.875rem}.shot{background:var(--wash);border-radius:24px;margin-top:40px;overflow:hidden}.shot img{width:100%;height:auto}.footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:72px;padding-block:32px 48px;font-size:.875rem;display:flex}.footer nav{gap:20px;display:flex}.footer a:hover{color:var(--ink)}.js [data-reveal]{opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);transform:translateY(20px)}.js [data-reveal].is-visible{opacity:1;transform:none}@media (width<=560px){.avatar:not(.avatar--small){width:120px}.hero__role{font-size:1.25rem}.rows a,.rows .row{flex-direction:column;gap:6px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.js [data-reveal]{opacity:1;transform:none}}
