.blog-page .blog-head{padding-bottom:0}.blog-page .blog-head .section-head{margin-bottom:26px}.blog-title{max-width:780px;font-family:var(--display);font-size:clamp(2.9rem,5.3vw,5.2rem);font-weight:540;line-height:.96;letter-spacing:-.058em}.blog-title em{font-weight:400;letter-spacing:-.012em}.tag-nav{display:flex;flex-wrap:wrap;gap:10px;padding-bottom:8px}.tag-chip{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 16px;border:1px solid var(--line-strong);border-radius:999px;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;transition:background .25s ease,color .25s ease,border-color .25s ease}.tag-chip span{color:var(--muted);font-size:11px}.tag-chip:hover{border-color:var(--ink)}.tag-chip.is-active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.tag-chip.is-active span{color:var(--muted-dark)}.blog-list{max-width:var(--max);margin:0 auto;padding:clamp(28px,4vw,48px) var(--gutter) clamp(88px,10vw,150px)}.post-feature{position:relative;display:block;padding:clamp(26px,4vw,52px);background:var(--ink);color:var(--paper);border-radius:4px;overflow:hidden;transition:transform .5s var(--ease)}.post-feature:after{content:"";position:absolute;right:-90px;top:-90px;width:260px;height:260px;border-radius:50%;background:var(--acid);opacity:.12;transition:transform .6s var(--ease),opacity .4s ease}.post-feature:hover{transform:translateY(-3px)}.post-feature:hover:after{transform:scale(1.25);opacity:.2}.post-feature-top{display:flex;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--line-dark);color:var(--acid)}.post-feature h2,.post-feature h3{max-width:900px;margin-top:clamp(26px,4vw,54px);font-family:var(--display);font-size:clamp(2.1rem,4.4vw,4.2rem);font-weight:540;line-height:1;letter-spacing:-.05em}.post-feature>p{max-width:640px;margin-top:18px;color:var(--muted-dark);font-size:clamp(16px,1.4vw,18px);line-height:1.6}.post-feature-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;margin-top:clamp(26px,3.4vw,44px)}.post-feature-cta{font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--acid)}.post-feature-cta i{font-style:normal;display:inline-block;transition:transform .35s var(--ease)}.post-feature:hover .post-feature-cta i{transform:translate(3px,-3px)}.tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag-list li{display:inline-flex;align-items:center;min-height:28px;padding:0 12px;border:1px solid var(--line-strong);border-radius:999px;font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.tag-list li a{display:inline-flex;align-items:center;min-height:28px;margin:0 -12px;padding:0 12px;border-radius:999px}.tag-list li:hover{border-color:var(--ink)}.tag-list--dark li{border-color:#f2f0e94d;color:var(--paper)}.post-rows{margin-top:clamp(34px,5vw,64px)}.post-rows-head{display:flex;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--line-strong);color:var(--muted)}.post-row{display:grid;grid-template-columns:2.1fr 6.9fr 3fr;gap:clamp(20px,3vw,44px);padding:clamp(24px,3vw,36px) 0;border-bottom:1px solid var(--line);transition:padding .4s var(--ease),background .3s ease}.post-row:hover{padding-left:14px;background:#a9cc3f1f}.post-row-date{color:var(--muted);padding-top:8px}.post-row-main h3{max-width:780px;font-family:var(--display);font-size:clamp(1.5rem,2.4vw,2.2rem);font-weight:540;line-height:1.08;letter-spacing:-.04em}.post-row-main p{max-width:640px;margin-top:10px;color:#4b483f;font-size:16px;line-height:1.6}.post-row-main .tag-list{margin-top:16px}.post-row-meta{justify-self:end;padding-top:8px;color:var(--ink);white-space:nowrap}.post-row-meta i{font-style:normal;display:inline-block;margin-left:6px;transition:transform .35s var(--ease)}.post-row:hover .post-row-meta i{transform:translate(3px,-3px)}.draft-badge{display:inline-block;margin-left:12px;padding:3px 9px;border:1px dashed currentColor;border-radius:999px;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;vertical-align:middle;opacity:.8}.blog-empty{padding:clamp(40px,8vw,100px) 0;max-width:560px}.blog-empty-title{font-family:var(--display);font-size:clamp(1.8rem,3.4vw,2.8rem);line-height:1.05;letter-spacing:-.05em;margin-bottom:14px}.blog-empty p:last-child{color:var(--muted);font-size:17px;line-height:1.6}.blog-empty a{text-decoration:underline;text-underline-offset:3px}.post-page{padding:clamp(36px,6vw,84px) var(--gutter) clamp(72px,9vw,130px)}.post{max-width:var(--max);margin:0 auto}.post-header{max-width:980px}.post-back{display:inline-flex;gap:10px;align-items:center;color:var(--muted);transition:color .2s ease}.post-back:hover{color:var(--ink)}.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:clamp(26px,4vw,48px);color:var(--muted)}.post-meta .draft-badge{margin-left:4px}.post-title{margin-top:18px;font-family:var(--display);font-size:clamp(2.6rem,6.2vw,5.6rem);font-weight:540;line-height:.98;letter-spacing:-.06em;text-wrap:balance}.post-lead{max-width:760px;margin-top:clamp(18px,2.4vw,28px);color:#4b483f;font-size:clamp(18px,1.8vw,22px);line-height:1.55}.post-header .tag-list{margin-top:clamp(20px,2.6vw,30px)}.post-cover{margin:clamp(30px,4vw,56px) 0 0;border:1px solid var(--line-strong);border-radius:4px;overflow:hidden;background:var(--paper-deep)}.post-cover img{width:100%;height:auto}.post-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;margin-top:clamp(32px,4.4vw,64px);padding-top:clamp(26px,3.4vw,42px);border-top:1px solid var(--line-strong)}.post-toc{padding:18px 20px;border:1px solid var(--line-strong);border-radius:4px;background:var(--paper-soft)}.post-toc .micro{color:var(--muted)}.post-toc ol{margin-top:12px;counter-reset:toc;display:grid;gap:2px}.post-toc li{counter-increment:toc}.post-toc a{display:block;padding:6px 0 6px 28px;position:relative;font-size:15px;line-height:1.35;color:#4b483f;transition:color .2s ease}.post-toc a:before{content:counter(toc,decimal-leading-zero);position:absolute;left:0;top:8px;font-family:var(--mono);font-size:11px;color:var(--muted)}.post-toc a:hover,.post-toc a.is-active{color:var(--ink)}.post-toc a.is-active{font-weight:600}@media(min-width:1100px){.post-layout{grid-template-columns:260px minmax(0,720px);gap:clamp(40px,6vw,96px)}.post-toc{position:sticky;top:calc(var(--header-h) + 24px);align-self:start;padding:0;border:0;background:none}}.prose{font-size:19px;line-height:1.75;color:#26251f;overflow-wrap:anywhere;hyphens:manual}.prose>*+*{margin-top:1.25em}.prose h2,.prose h3,.prose h4{font-family:var(--display);line-height:1.12;color:var(--ink);scroll-margin-top:calc(var(--header-h) + 24px)}.prose h2{margin-top:2.3em;font-size:clamp(1.9rem,3vw,2.5rem);font-weight:560;letter-spacing:-.05em}.prose h3{margin-top:1.9em;font-size:clamp(1.4rem,2.2vw,1.75rem);font-weight:560;letter-spacing:-.035em}.prose h4{margin-top:1.6em;font-size:1.15rem;font-weight:600}.prose h2+*,.prose h3+*,.prose h4+*{margin-top:.7em}.prose a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--acid-deep);text-decoration-thickness:2px;text-underline-offset:3px;transition:background .2s ease}.prose a:hover{background:#a9cc3f59}.prose strong{font-weight:650;color:var(--ink)}.prose ul,.prose ol{padding-left:1.4em}.prose ul{list-style:disc}.prose ol{list-style:decimal}.prose li{padding-left:.3em}.prose li+li{margin-top:.5em}.prose li::marker{color:var(--muted)}.prose hr{border:0;border-top:1px solid var(--line-strong);margin:2.6em 0}.prose blockquote{padding:4px 0 4px 24px;border-left:3px solid var(--acid-deep);color:#3a382f;font-size:1.08em;font-style:italic}.prose blockquote p+p{margin-top:.8em}.prose :not(pre)>code{padding:.14em .4em;border:1px solid var(--line);border-radius:4px;background:var(--paper-deep);font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:.86em}.code-wrap{position:relative}.prose pre{padding:22px 24px;border-radius:4px;overflow-x:auto;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:14.5px;line-height:1.7;tab-size:2;-webkit-overflow-scrolling:touch}.prose pre code{font-family:inherit;font-size:inherit;padding:0;border:0;background:none}.code-copy{position:absolute;top:10px;right:10px;min-height:30px;padding:0 12px;border:1px solid rgba(242,240,233,.28);border-radius:999px;background:#171713b3;color:var(--paper);font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;opacity:0;transition:opacity .2s ease,background .2s ease,color .2s ease}.code-wrap:hover .code-copy,.code-copy:focus-visible{opacity:1}.code-copy:hover{background:var(--acid);color:var(--ink);border-color:var(--acid)}@media(hover:none){.code-copy{opacity:1}}.prose img{height:auto;border:1px solid var(--line-strong);border-radius:4px}.prose figure{margin-left:0;margin-right:0}.prose figcaption{margin-top:10px;color:var(--muted);font-size:14px;line-height:1.5}.prose table{display:block;width:100%;overflow-x:auto;border-collapse:collapse;font-size:16px;line-height:1.5}.prose th,.prose td{padding:12px 16px;border-bottom:1px solid var(--line-strong);text-align:left;vertical-align:top}.prose th{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.post-footer{max-width:980px;margin-top:clamp(48px,6vw,88px);padding-top:26px;border-top:1px solid var(--line-strong)}.post-updated{color:var(--muted);margin-bottom:18px}.post-share{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.post-share .micro{margin-right:6px;color:var(--muted)}.share-btn{display:inline-flex;align-items:center;min-height:38px;padding:0 16px;border:1px solid var(--line-strong);border-radius:999px;background:transparent;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;transition:background .25s ease,color .25s ease,border-color .25s ease}.share-btn:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.post-pager{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:clamp(34px,4vw,56px)}.pager-link{display:grid;gap:10px;padding:22px 24px;border:1px solid var(--line-strong);border-radius:4px;transition:background .3s ease,color .3s ease,border-color .3s ease}.pager-link .micro{color:var(--muted)}.pager-link b{font-family:var(--display);font-size:1.25rem;font-weight:560;line-height:1.15;letter-spacing:-.03em}.pager-link--next{text-align:right;grid-column:2}.pager-link:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.pager-link:hover .micro{color:var(--acid)}.post-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;margin-top:clamp(34px,4vw,56px);padding:26px 28px;border-radius:4px;background:var(--acid)}.post-cta p{max-width:460px;font-family:var(--display);font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.2;letter-spacing:-.035em;color:var(--ink)}.post-cta .btn--primary:hover{background:var(--paper)}@media(max-width:900px){.post-row{grid-template-columns:1fr;gap:10px}.post-row-date,.post-row-meta{padding-top:0;justify-self:start}.post-row-meta{order:3}.post-row:hover{padding-left:0;background:none}}@media(max-width:620px){.prose{font-size:17.5px;line-height:1.7}.prose pre{padding:18px 16px;font-size:13.5px}.post-pager{grid-template-columns:1fr}.pager-link--next{grid-column:auto;text-align:left}.post-cta{padding:22px}.tag-chip{min-height:40px}}@media(prefers-reduced-motion:reduce){.post-feature,.post-feature:after,.post-row{transition:none}}.writing-grid{display:grid;grid-template-columns:7fr 5fr;gap:clamp(20px,2.6vw,36px);align-items:stretch}.writing-grid .post-feature{display:flex;flex-direction:column}.writing-grid .post-feature .post-feature-foot{margin-top:auto;padding-top:clamp(26px,3.4vw,44px)}.post-feature--hot .post-feature-top .micro:first-child:before{content:"✳";margin-right:8px}.writing-side{display:flex;flex-direction:column;border-top:1px solid var(--line-strong)}.post-mini{display:grid;gap:8px;padding:22px 0;border-bottom:1px solid var(--line);transition:padding .4s var(--ease),background .3s ease}.post-mini:hover{padding-left:14px;background:#a9cc3f1f}.post-mini time{color:var(--muted)}.post-mini h3{font-family:var(--display);font-size:clamp(1.3rem,1.9vw,1.7rem);font-weight:540;line-height:1.1;letter-spacing:-.04em}.post-mini .micro:last-child i{font-style:normal;display:inline-block;margin-left:6px;transition:transform .35s var(--ease)}.post-mini:hover .micro:last-child i{transform:translate(3px,-3px)}.writing-all{margin-top:auto;padding-top:28px}.writing-empty{padding:28px 0}.writing-empty p{max-width:380px;color:var(--muted);font-size:16px;line-height:1.6;margin-bottom:20px}@media(max-width:900px){.writing-grid{grid-template-columns:1fr}.post-mini:hover{padding-left:0;background:none}}
