.blog-wrap{max-width:1120px;margin:0 auto;padding:0 clamp(20px,5vw,40px)}.blog-narrow{max-width:760px}.blog-hero{padding:clamp(56px,9vw,120px) 0 clamp(28px,4vw,48px);border-bottom:1px solid var(--line-soft)}.blog-kick{font-family:var(--mono);font-size:.68rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--blue-press)}.blog-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.4rem,6vw,4rem);line-height:1.02;letter-spacing:-.025em;color:var(--ink);margin:.3em 0 0}.blog-hero h1 em{font-style:italic;color:var(--blue)}.blog-hero p{margin-top:18px;max-width:56ch;color:var(--muted);font-size:1.08rem;line-height:1.6}.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:clamp(22px,3vw,34px);padding:clamp(40px,6vw,72px) 0}.pcard{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line-soft);border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .25s,box-shadow .25s,border-color .25s}.pcard:hover{transform:translateY(-4px);box-shadow:0 40px 80px -50px #0a183873;border-color:var(--line)}.pcard-cover{aspect-ratio:1200/630;background:var(--paper-2);overflow:hidden}.pcard-cover img{width:100%;height:100%;object-fit:cover;display:block}.pcard-nocover{aspect-ratio:1200/630;background:linear-gradient(135deg,var(--ink) 0%,var(--ink-3) 100%);display:flex;align-items:flex-end;padding:22px}.pcard-nocover span{font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--blue-soft)}.pcard-body{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}.pcard-meta{font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);display:flex;gap:10px}.pcard h2{font-family:var(--serif);font-weight:400;font-size:1.45rem;line-height:1.16;letter-spacing:-.015em;color:var(--ink);margin:12px 0 0}.pcard p{margin:10px 0 0;color:var(--muted);font-size:.96rem;line-height:1.55}.pcard-foot{margin-top:auto;padding-top:18px;font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-press)}.blog-pager{display:flex;justify-content:space-between;align-items:center;padding:0 0 clamp(60px,8vw,100px)}.blog-pager a{font-family:var(--mono);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-press);text-decoration:none}.blog-pager span{font-family:var(--mono);font-size:.74rem;color:var(--muted-2)}.post-head{padding:clamp(48px,7vw,96px) 0 0}.post-crumb{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2)}.post-crumb a{color:var(--muted-2);text-decoration:none}.post-crumb a:hover{color:var(--blue-press)}.post-head h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.1rem,5vw,3.4rem);line-height:1.04;letter-spacing:-.025em;color:var(--ink);margin:18px 0 0}.post-lede{margin-top:18px;font-size:1.18rem;line-height:1.55;color:var(--ink-2)}.post-meta{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:24px;font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);align-items:center}.post-meta .dot{width:3px;height:3px;border-radius:50%;background:var(--line)}.post-cover{margin:clamp(30px,5vw,52px) auto 0;border-radius:18px;overflow:hidden;background:var(--paper-2);line-height:0}.post-cover img{width:100%;height:auto;display:block}.prose{margin:clamp(34px,5vw,56px) auto 0;max-width:68ch;color:var(--ink-2);font-size:1.16rem;line-height:1.75;letter-spacing:-.003em}.prose>*+*{margin-top:1.4em}.prose p{text-wrap:pretty}.prose>p:first-of-type{font-size:1.3rem;line-height:1.6;color:var(--ink)}.prose>p:first-of-type:first-letter{float:left;font-family:var(--serif);font-weight:500;font-size:3.6em;line-height:.74;padding:.05em .1em 0 0;color:var(--blue)}.prose strong{color:var(--ink);font-weight:600}.prose em{font-style:italic}.prose h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.7rem,3.2vw,2.25rem);line-height:1.12;letter-spacing:-.02em;color:var(--ink);margin-top:2em}.prose h3{font-family:var(--serif);font-weight:500;font-size:1.45rem;color:var(--ink);margin-top:1.7em}.prose h2+p,.prose h3+p{margin-top:.65em}.prose a{color:var(--blue-press);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px;transition:color .15s}.prose a:hover{color:var(--blue)}.prose ul{list-style:none;padding-left:0}.prose ul li{position:relative;padding-left:1.7em}.prose ul li:before{content:"";position:absolute;left:.25em;top:.66em;width:8px;height:8px;border-radius:50%;background:var(--blue)}.prose ol{padding-left:1.5em}.prose ol li::marker{font-family:var(--serif);font-weight:600;font-size:1.1em;color:var(--blue)}.prose li+li{margin-top:.5em}.prose .post-card{background:var(--card);border:1px solid var(--line-soft);border-radius:20px;padding:clamp(22px,3vw,34px);margin-top:24px;box-shadow:0 18px 40px -28px #0a183847}.prose .post-card>*:first-child{margin-top:0}.prose .post-card h2{display:flex;align-items:flex-start;gap:15px;margin-top:0;font-size:clamp(1.4rem,2.7vw,1.9rem)}.prose .post-num{flex-shrink:0;width:44px;height:44px;border-radius:14px;background:var(--blue);color:#fff;font-family:var(--sans);font-weight:700;font-size:1.15rem;display:inline-flex;align-items:center;justify-content:center}.prose .post-h{padding-top:.18em}.prose .post-callout{background:var(--card-2);border-left:4px solid var(--blue);border-radius:0 12px 12px 0;padding:16px 20px;margin-top:20px}.prose .post-callout p{margin:0;color:var(--ink);font-weight:500}.prose .post-callout p+p{margin-top:.6em}.prose blockquote{position:relative;margin:1.7em 0;padding:.1em 0 .1em 1.4em;font-family:var(--serif);font-style:italic;font-size:1.32rem;line-height:1.45;color:var(--ink)}.prose blockquote:before{content:"";position:absolute;left:0;top:.15em;bottom:.15em;width:3px;border-radius:3px;background:var(--blue)}.prose img{width:100%;height:auto;border-radius:14px;border:1px solid var(--line-soft);margin:1.9em 0}.prose code{font-family:var(--mono);font-size:.9em;background:var(--card-2);padding:.12em .4em;border-radius:5px}.prose pre{background:var(--ink-deep);color:#dfe8ff;padding:18px 20px;border-radius:12px;overflow:auto}.prose pre code{background:none;padding:0;color:inherit}.prose hr{border:none;height:1px;background:var(--line);margin:2.5em auto;width:42%}.post-tags{margin:clamp(34px,5vw,52px) auto 0;max-width:68ch;display:flex;flex-wrap:wrap;gap:8px}.post-tags a{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;color:var(--muted);background:var(--card-2);border:1px solid var(--line-soft);border-radius:99px;padding:.35em .85em;text-decoration:none}.related{margin:clamp(48px,7vw,88px) auto clamp(60px,9vw,120px);max-width:68ch;background:var(--ink);border-radius:20px;padding:clamp(28px,4vw,44px);color:var(--paper)}.related .rk{font-family:var(--mono);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--blue-soft)}.related h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,3vw,2rem);line-height:1.1;letter-spacing:-.02em;margin:.4em 0 0;color:#fff}.related-list{margin-top:22px;display:flex;flex-direction:column;gap:2px}.related-list a{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 4px;border-top:1px solid var(--line-d);color:var(--paper);text-decoration:none;font-size:1.04rem;transition:color .2s,padding .2s}.related-list a:last-child{border-bottom:1px solid var(--line-d)}.related-list a:hover{color:var(--blue-soft);padding-left:8px}.related-list .arr{color:var(--blue-soft)}.pcard:focus-visible,.blog-pager a:focus-visible,.post-crumb a:focus-visible,.post-tags a:focus-visible,.related-list a:focus-visible,.prose a:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:6px}@media(max-width:560px){.blog-grid{grid-template-columns:1fr}}
