@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_Fallback_d8ebd1;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_d8ebd1{font-family:__Inter_d8ebd1,__Inter_Fallback_d8ebd1;font-style:normal}.__variable_d8ebd1{--font-inter:"__Inter_d8ebd1","__Inter_Fallback_d8ebd1"}:root{--paper:#fff;--ink:#17181c;--muted:#5a5f6d;--line:#e7e8ee;--chip:#f4f4f8;--hl-lilac:#e3d8ff;--hl-sand:#ffe7a3;--portrait-back:#eadfff;--focus:#5b3fd1;--font:var(--font-inter),system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--measure:62ch;--radius:10px;--hl-shape-mid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 24' preserveAspectRatio='none'%3E%3Cpath d='M0 3.5C20 2 40 4.5 60 2.8S90 3.6 100 3L100 21.5C80 22.6 60 20.4 40 22S10 21 0 21.8Z'/%3E%3C/svg%3E");--hl-shape-start:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 24' preserveAspectRatio='none'%3E%3Cpath d='M3 5C1 9 2 15 1 19C2 21 5 22 8 21.6C30 22.4 60 20.5 100 21.8L100 3C70 4 40 1.8 10 3.6C6 3.2 4 4 3 5Z'/%3E%3C/svg%3E");--hl-shape-end:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 24' preserveAspectRatio='none'%3E%3Cpath d='M97 5C99 9 98 15 99 19C98 21 95 22 92 21.6C70 22.4 40 20.5 0 21.8L0 3C30 4 60 1.8 90 3.6C94 3.2 96 4 97 5Z'/%3E%3C/svg%3E");--hl-shape-solo:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 24' preserveAspectRatio='none'%3E%3Cpath d='M3 5C1 9 2 15 1 19C2 21 5 22 8 21.6C35 22.4 65 20.5 92 21.6C95 22 98 21 99 19C98 15 99 9 97 5C96 4 94 3.2 90 3.6C60 1.8 40 4 10 3.6C6 3.2 4 4 3 5Z'/%3E%3C/svg%3E")}:root[data-theme=dark]{color-scheme:dark;--paper:#14151a;--ink:#f2f2f5;--muted:#a3a7b5;--line:#2a2c35;--chip:#1d1f27;--hl-lilac:rgba(150,120,255,.38);--hl-sand:rgba(255,205,80,.32);--portrait-back:#2a2347;--focus:#b6a3ff}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--paper:#14151a;--ink:#f2f2f5;--muted:#a3a7b5;--line:#2a2c35;--chip:#1d1f27;--hl-lilac:rgba(150,120,255,.38);--hl-sand:rgba(255,205,80,.32);--portrait-back:#2a2347;--focus:#b6a3ff}}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem;scrollbar-gutter:stable;font-size:100%}body{margin:0;font-family:var(--font);font-size:1rem;line-height:1.7;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;overflow-x:hidden;min-width:0}h1,h2,h3{line-height:1.2;letter-spacing:-.02em;margin:0}p{margin:0 0 1rem;max-width:var(--measure)}a{color:inherit}ul{list-style:none;margin:0;padding:0}iframe,img,svg,video{max-width:100%;height:auto}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:4px}.wrap{width:100%;max-width:62rem;margin-inline:auto;padding-inline:clamp(1rem,4vw,1.5rem)}.skip{position:absolute;left:-999px;top:.5rem;background:var(--ink);color:var(--paper);padding:.5rem .9rem;border-radius:6px;z-index:20}.skip:focus{left:.75rem}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.bar{display:flex;align-items:center;justify-content:space-between;min-height:3.75rem;gap:1rem}.brand{font-size:.875rem;font-weight:600;text-decoration:none;white-space:nowrap;flex-shrink:0}.nav{display:flex;gap:clamp(.75rem,2vw,1.5rem);flex-wrap:nowrap;align-items:center}.nav a{font-size:.8125rem;font-weight:500;text-decoration:none;color:var(--muted);padding-block:.25rem;white-space:nowrap;background:linear-gradient(var(--ink),var(--ink)) 0 100% /0 1.5px no-repeat;transition:color .15s,background-size .25s ease}.nav a.is-active,.nav a:hover{color:var(--ink);background-size:100% 1.5px}.controls{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.theme-toggle{display:inline-grid;place-items:center;width:2.25rem;height:2.25rem;color:var(--ink);background:none;border:1px solid var(--line);border-radius:6px;cursor:pointer;transition:border-color .15s;flex-shrink:0}.theme-toggle:hover{border-color:var(--ink)}.theme-toggle svg{width:1.1rem;height:1.1rem}.theme-toggle .icon-sun{display:none}:root[data-theme=dark] .theme-toggle .icon-sun{display:block}.nav-toggle,:root[data-theme=dark] .theme-toggle .icon-moon{display:none}.nav-toggle{font:inherit;font-size:.875rem;font-weight:500;color:var(--ink);background:none;border:1px solid var(--line);border-radius:6px;padding:.35rem .8rem;cursor:pointer;flex-shrink:0}.hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);grid-gap:clamp(2rem,5vw,3.5rem);gap:clamp(2rem,5vw,3.5rem);align-items:center;padding-block:clamp(2.5rem,6vw,4rem) clamp(3rem,7vw,5rem)}.hero h1{font-size:clamp(1.75rem,4.2vw,2.9rem);font-weight:700;margin-bottom:1.25rem;max-width:none}.hero .lead{font-size:clamp(.9375rem,2vw,1.0625rem)}.hl{color:inherit;background:linear-gradient(transparent 14%,var(--hl) 14%,var(--hl) 94%,transparent 94%);padding-inline:.1em;margin-inline:-.1em;-webkit-box-decoration-break:clone;box-decoration-break:clone}.hl-lilac{--hl:var(--hl-lilac)}.hl-sand{--hl:var(--hl-sand)}.hl.split{background:none;padding:0;margin:0}.hw{position:relative;z-index:0}.hw:before{content:"";position:absolute;z-index:-1;inset:.14em -.02em 0 -.02em;background:var(--hl);transform:skewX(-10deg);-webkit-mask:var(--hl-shape-mid) 0 0 /100% 100% no-repeat;mask:var(--hl-shape-mid) 0 0 /100% 100% no-repeat}.hw-start:before{left:-.18em;-webkit-mask-image:var(--hl-shape-start);mask-image:var(--hl-shape-start)}.hw-end:before{right:-.18em;-webkit-mask-image:var(--hl-shape-end);mask-image:var(--hl-shape-end)}.hw-start.hw-end:before{-webkit-mask-image:var(--hl-shape-solo);mask-image:var(--hl-shape-solo)}.anim .hw:before{-webkit-clip-path:inset(0 100% 0 0);clip-path:inset(0 100% 0 0);transition:-webkit-clip-path var(--dur,.2s) linear var(--t,1s);transition:clip-path var(--dur,.2s) linear var(--t,1s);transition:clip-path var(--dur,.2s) linear var(--t,1s),-webkit-clip-path var(--dur,.2s) linear var(--t,1s)}.anim .is-ready .hw:before{-webkit-clip-path:inset(0);clip-path:inset(0)}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}.btn{display:inline-block;font-size:.8125rem;font-weight:500;text-decoration:none;padding:.6rem 1.15rem;border-radius:6px;border:1px solid var(--ink);transition:background .15s,color .15s,border-color .15s,transform .15s}.btn:active{transform:scale(.97)}.btn-solid{background:var(--ink);color:var(--paper)}.btn-solid:hover{background:transparent;color:var(--ink)}.btn-outline{border-color:var(--line);background:transparent}.btn-outline:hover{border-color:var(--ink)}.portrait{margin:0 0 0 4rem;width:clamp(14rem,40vw,28rem);justify-self:center}.portrait-frame{position:relative;aspect-ratio:18/15;border-radius:12px;width:100%}.portrait-frame:before{content:attr(data-initials);position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(2.5rem,8vw,4rem);font-weight:700;letter-spacing:-.04em;color:var(--muted)}.portrait-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.portrait-frame.no-photo img{display:none}@media (max-width:768px){.portrait{width:100vw;margin:0;justify-self:stretch}.portrait-frame{width:100%;aspect-ratio:18/15;border-radius:0}.portrait-frame img{width:100%;height:100%;object-fit:cover}}.section{padding-block:clamp(2.5rem,5vw,3.5rem);border-top:1px solid var(--line)}.section h2{font-size:clamp(1.25rem,3vw,1.5rem);font-weight:700}.section-sub{color:var(--muted);margin:.35rem 0 2rem}.project h3{font-size:clamp(1rem,2.5vw,1.125rem);font-weight:600;margin-bottom:.75rem}.modules{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));grid-gap:1.25rem 2.5rem;gap:1.25rem 2.5rem;margin:1.75rem 0;padding:0}.modules div{position:relative;padding-left:1rem}.modules div:before{content:"";position:absolute;left:0;top:.25em;bottom:.25em;width:2px;background:var(--focus);transform-origin:top}.anim .modules .reveal:before{transform:scaleY(0)}.anim .modules .reveal.in:before{transform:none;transition:transform .7s cubic-bezier(.2,.8,.2,1) .3s}.modules dt{font-weight:600;font-size:.9375rem}.modules dd{margin:.2rem 0 0;color:var(--muted);font-size:.9375rem;line-height:1.55}.stack{color:var(--muted);font-size:.875rem}.writing-feed{display:grid;grid-gap:2.25rem;gap:2.25rem}.writing-entry{display:grid;grid-gap:.35rem;gap:.35rem}.writing-meta{font-size:.8125rem;color:var(--muted);display:flex;align-items:center;gap:.5rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.writing-title{font-size:1.125rem;font-weight:600;margin:0;line-height:1.35}.writing-title a{text-decoration:none;background:linear-gradient(var(--ink),var(--ink)) 0 100% /0 1.5px no-repeat;transition:background-size .25s ease}.writing-title a:hover{background-size:100% 1.5px}.writing-summary{margin:0;color:var(--muted);font-size:.9375rem;line-height:1.6}.writing-skeleton{display:grid;grid-gap:.75rem;gap:.75rem;padding-block:.5rem}.writing-skeleton-line{height:1rem;background:var(--chip);border-radius:4px}.notes{display:grid;grid-gap:2.25rem;gap:2.25rem}.note h3{font-size:1.0625rem;font-weight:600;margin-bottom:.5rem}.note p{margin:0;color:var(--muted)}.toolkit{display:grid;grid-gap:2rem;gap:2rem}.group h3{font-size:.9375rem;font-weight:600;margin-bottom:.75rem}.badges{display:flex;flex-wrap:wrap;gap:.5rem}.badges li{font-size:.8125rem;font-weight:500;padding:.3rem .75rem;background:var(--chip);border:1px solid var(--line);border-radius:999px;transition:transform .2s ease,border-color .2s ease}@media (hover:hover){.badges li:hover{transform:translateY(-2px);border-color:var(--ink)}}.site-footer{border-top:1px solid var(--line);padding-block:clamp(2.5rem,5vw,3.5rem) 2rem}.footer-inner{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap}.footer-inner h2{font-size:clamp(1.25rem,3vw,1.5rem);font-weight:700;margin-bottom:.5rem}.footer-inner p{color:var(--muted)}.socials{display:grid;grid-gap:.5rem;gap:.5rem;align-content:start}.socials a{font-weight:500;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}.socials a:hover{text-decoration-thickness:2px}.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin-top:3rem;font-size:.8125rem;color:var(--muted)}@media (max-width:860px){.nav-toggle{display:inline-block}.nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;padding:.5rem clamp(1rem,4vw,1.5rem) 1rem;background:var(--paper);border-bottom:1px solid var(--line);z-index:9}.nav.is-open{display:flex}.nav a{padding-block:.7rem;font-size:.9375rem}}@media (max-width:640px){.hero{grid-template-columns:1fr;gap:2rem;padding-block:2rem 3rem}.portrait{max-width:12rem;justify-self:start;order:-1}.hero-copy{order:1}.section{padding-block:2rem}.section-sub{margin-bottom:1.5rem}.footer-inner{flex-direction:column;gap:1.5rem}}@media (max-width:400px){.hero h1{font-size:1.5rem}.actions{gap:.5rem}.btn{padding:.55rem .9rem;font-size:.75rem}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}@keyframes word-up{0%{transform:translateY(110%)}}@keyframes portrait-in{0%{opacity:0;transform:translateY(16px);box-shadow:0 0 0 var(--portrait-back)}}@keyframes icon-in{0%{opacity:0;transform:rotate(-80deg) scale(.5)}}.anim .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}.anim .w>span{display:inline-block;transform:translateY(110%)}.anim .is-ready .w>span{transform:none;animation:word-up .8s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:calc(var(--d, 0) * 55ms)}.anim .hero-copy>:not(h1){opacity:0}.anim .is-ready .hero-copy>:not(h1){opacity:1;animation:rise .7s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:calc(.45s + var(--n, 0) * .11s)}.anim .portrait-frame{opacity:0}.anim .is-ready .portrait-frame{opacity:1;animation:portrait-in .9s cubic-bezier(.2,.8,.2,1) .5s backwards}.anim .reveal{opacity:0}.anim .reveal.in{opacity:1;animation:rise .65s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:calc(var(--d, 0) * 70ms)}.progress{position:fixed;inset:0 0 auto 0;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left;z-index:30;pointer-events:none}.theme-switching,.theme-switching *{transition-property:background-color,color,border-color,box-shadow!important;transition-duration:.35s!important;transition-delay:0s!important}.theme-switching .theme-toggle svg{animation:icon-in .4s cubic-bezier(.2,.8,.2,1)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.intro{display:none}.intro-on{overflow:hidden}.intro-on .intro{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#fff;color:#17181c;transition:transform .8s cubic-bezier(.76,0,.24,1) .15s}.intro-name{margin:0;max-width:none;font-size:clamp(1.1rem,7vw,7.5rem);font-weight:700;letter-spacing:-.05em;line-height:.9}.intro-line{display:block;overflow:hidden;padding-bottom:.08em}.intro-line>span{display:block;animation:intro-in .9s cubic-bezier(.2,.8,.2,1) both}.intro-line:nth-child(2)>span{animation-delay:.12s;margin-left:clamp(2rem,14vw,14rem)}.intro-out .intro{transform:translateY(-100%)}.intro-out .intro-line>span{animation:intro-out .6s cubic-bezier(.76,0,.24,1) forwards}.intro-out .intro-line:nth-child(2)>span{animation-delay:.05s}@keyframes intro-in{0%{transform:translateY(105%)}}@keyframes intro-out{to{transform:translateY(-105%)}}.writing-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-bottom:2rem}.writing-section-header .section-sub,.writing-section-header h2{margin-bottom:0}.writing-view-all{white-space:nowrap;align-self:flex-end;margin-bottom:.35rem}.writing-cta{margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--line)}.writing-page-main{padding-block:0 5rem}.writing-page-header{padding-block:clamp(2.5rem,6vw,4rem) clamp(2rem,4vw,3rem);border-bottom:1px solid var(--line);margin-bottom:clamp(2rem,4vw,3rem)}.writing-page-eyebrow{font-size:.8125rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--focus);margin-bottom:1rem}.writing-page-header h1{font-size:clamp(2.25rem,5vw,3.5rem);font-weight:800;letter-spacing:-.03em;margin-bottom:1rem}.writing-page-lead{font-size:clamp(1rem,2.5vw,1.125rem);color:var(--muted);max-width:min(52ch,100%);margin:0;line-height:1.7}.writing-page-grid{display:grid;grid-gap:1.5rem;gap:1.5rem}.writing-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;animation:rise .6s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:calc(var(--i, 0) * 80ms + .1s)}@media (hover:hover){.writing-card:hover{border-color:var(--focus);box-shadow:0 8px 32px rgba(0,0,0,.08);transform:translateY(-2px)}}.writing-card-inner{padding:clamp(1.25rem,4vw,2rem);display:grid;grid-gap:.75rem;gap:.75rem}.writing-card-tag{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--focus);background:color-mix(in srgb,var(--focus) 10%,transparent);padding:.25rem .65rem;border-radius:999px;width:-moz-fit-content;width:fit-content}.writing-card-title{font-size:1.25rem;font-weight:700;line-height:1.3;margin:0;letter-spacing:-.02em}.writing-card-title a{text-decoration:none;color:var(--ink);transition:color .15s}.writing-card-title a:hover{color:var(--focus)}.writing-card-summary{color:var(--muted);font-size:.9375rem;line-height:1.65;margin:0;max-width:100%}.writing-card-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--line)}.writing-card-meta{font-size:.8125rem;color:var(--muted);display:flex;align-items:center;gap:.5rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.writing-card-read{font-size:.8125rem;font-weight:600;color:var(--focus);text-decoration:none;transition:gap .15s;display:inline-flex;align-items:center;gap:.25rem}.writing-card-read:hover{text-decoration:underline;text-underline-offset:3px}.blog-post-main{padding-bottom:6rem}.blog-post-back{padding-block:1.5rem}.blog-back-link{font-size:.875rem;font-weight:500;color:var(--muted);text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;transition:color .15s}.blog-back-link:hover{color:var(--ink)}.blog-post-article{max-width:100%}.blog-post-header{padding-block:clamp(1.5rem,4vw,2rem) clamp(2rem,5vw,3rem);border-bottom:1px solid var(--line);margin-bottom:clamp(2rem,5vw,3rem)}.blog-post-tag{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--focus);background:color-mix(in srgb,var(--focus) 10%,transparent);padding:.25rem .7rem;border-radius:999px;margin-bottom:1.25rem;width:-moz-fit-content;width:fit-content}.blog-post-title{font-size:clamp(1.5rem,4vw,2.75rem);font-weight:800;letter-spacing:-.03em;line-height:1.15;margin-bottom:1.25rem;max-width:100%}.blog-post-summary{font-size:clamp(1rem,2.5vw,1.125rem);color:var(--muted);line-height:1.7;margin:0 0 1.5rem;max-width:min(52ch,100%)}.blog-post-meta{font-size:.875rem;color:var(--muted);display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.blog-post-body{max-width:100%}.blog-post-body>*{max-width:min(66ch,100%)}.blog-para{font-size:clamp(1rem,2vw,1.0625rem);line-height:1.8;color:var(--ink);margin-bottom:1.5rem}.blog-h2{font-size:clamp(1.25rem,3vw,1.5rem);font-weight:700;letter-spacing:-.02em;margin:2.5rem 0 1rem;color:var(--ink)}.blog-h3{font-size:clamp(1rem,2.5vw,1.125rem);font-weight:600;letter-spacing:-.01em;margin:2rem 0 .75rem;color:var(--ink)}.blog-quote{margin:2rem 0;padding:clamp(1rem,3vw,1.5rem) clamp(1rem,3vw,1.75rem);border-left:3px solid var(--focus);background:color-mix(in srgb,var(--focus) 6%,transparent);border-radius:0 8px 8px 0}.blog-quote p{font-size:clamp(1rem,2.5vw,1.125rem);font-style:italic;line-height:1.65;color:var(--ink);margin:0;max-width:100%}.blog-list{list-style:none;padding:0;margin:0 0 1.5rem;display:grid;grid-gap:.75rem;gap:.75rem}.blog-list li{position:relative;padding-left:1.5rem;font-size:1.0625rem;line-height:1.75;color:var(--ink)}.blog-list li:before{content:"→";position:absolute;left:0;color:var(--focus);font-size:.875rem;top:.22em}.blog-code-block{position:relative;margin:1.75rem 0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--chip);max-width:100%}.blog-code-lang{font-size:.75rem;font-weight:600;color:var(--muted);padding:.5rem 1rem;border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.06em;background:color-mix(in srgb,var(--chip) 80%,var(--line))}.blog-code-block pre{margin:0;padding:clamp(.75rem,3vw,1.25rem) clamp(1rem,3vw,1.5rem);overflow-x:auto;-webkit-overflow-scrolling:touch}.blog-code-block code{font-family:Menlo,Monaco,Fira Code,Consolas,monospace;font-size:clamp(.75rem,2vw,.875rem);line-height:1.7;color:var(--ink);white-space:pre}.blog-divider{border:none;margin:3rem 0}.blog-divider,.blog-post-footer{border-top:1px solid var(--line)}.blog-post-footer{padding-top:3rem;margin-top:3rem;display:grid;grid-gap:2rem;gap:2rem}.blog-post-author-card{display:flex;align-items:flex-start;gap:1.25rem;padding:1.5rem;border:1px solid var(--line);border-radius:12px;background:var(--chip)}.blog-author-avatar{flex-shrink:0;width:3rem;height:3rem;border-radius:50%;background:linear-gradient(135deg,var(--hl-lilac),var(--focus));display:grid;place-items:center;font-size:.875rem;font-weight:700;color:#fff;letter-spacing:-.02em}.blog-author-name{font-weight:700;font-size:1rem;margin-bottom:.3rem}.blog-author-bio{font-size:.9rem;color:var(--muted);line-height:1.6;max-width:min(54ch,100%)}.blog-post-nav{display:flex;gap:.75rem;flex-wrap:wrap}.blog-post-keywords{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.5rem}.blog-keyword-chip{font-size:.75rem;font-weight:500;padding:.2rem .65rem;background:var(--chip);border:1px solid var(--line);border-radius:999px;color:var(--muted)}:root[data-theme=dark] .blog-code-block{background:#0d0e12;border-color:var(--line)}:root[data-theme=dark] .blog-code-lang{background:#191b22}:root[data-theme=dark] .blog-code-block code{color:#e0e0e8}@media (max-width:640px){.writing-page-main{padding-bottom:3rem}.writing-section-header{flex-direction:column;gap:.75rem}.writing-view-all{align-self:flex-start}.writing-card-footer{flex-direction:column;align-items:flex-start;gap:.75rem}.blog-post-main{padding-bottom:4rem}.blog-post-author-card,.blog-post-nav{flex-direction:column}.blog-post-nav .btn{text-align:center;justify-content:center}.blog-quote{padding:1rem 1.25rem}.blog-divider{margin:2rem 0}}@media (max-width:400px){.writing-card-inner{padding:1rem}.blog-post-back{padding-block:1rem}.blog-post-keywords{gap:.4rem}.blog-keyword-chip{font-size:.7rem}}