.post-page .pp-head{max-width:72rem;margin:0 auto;padding:5rem 7% 2.5rem}.post-page .pp-kicker{font-family:var(--font-roboto-mono),monospace;font-weight:400;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:#6b6b6b}.post-page .pp-title{margin-top:1rem;max-width:52rem;font-family:var(--font-cormorant),serif;font-weight:400;font-style:normal;font-size:clamp(3rem,6vw,5rem);line-height:1.02;color:#000}.post-page .pp-cover{max-width:72rem;margin:0 auto;padding:0 7%}.post-page .post-image-frame{width:100%;margin:0;border-radius:16px;box-shadow:0 0 0 1px rgba(0,0,0,.06),0 30px 70px rgba(0,0,0,.1)}.post-page .post-image{max-height:60vh}.post-page .post-body-wrapper{grid-template-columns:15rem minmax(0,1fr);gap:3rem;max-width:72rem;padding:0 7% 8rem;margin-top:4.5rem}.post-page .post-body-no-toc{grid-template-columns:minmax(0,1fr)}.post-page .post-toc{top:2rem;padding-right:0}.post-page .post-toc-title{font-family:var(--font-roboto-mono),monospace;font-weight:400;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:#8a8a8a;margin-bottom:1rem}.post-page .post-toc-nav{gap:0}.post-page .post-toc-item{font-family:var(--font-work-sans),sans-serif;font-weight:300;font-size:.95rem;line-height:1.35;color:#8a8a8a;padding:.45rem 0 .45rem .9rem;border-left:1px solid #ececec}@media (hover:hover) and (pointer:fine){.post-page .post-toc-item:hover{color:#000;border-left-color:#bdbdbd}}.post-page .post-toc-active{color:#000;font-weight:400;border-left-color:#000}.post-page .post-content{max-width:40rem;font-family:var(--font-work-sans),sans-serif;font-weight:300;letter-spacing:0;color:#222}.post-page .post-content,.post-page .post-content p{font-size:1.2rem;line-height:1.75}.post-page .post-content .post-h1,.post-page .post-content h2,.post-page .post-content h3{font-family:var(--font-cormorant),serif;font-weight:400;font-style:normal;color:#000;line-height:1.15;letter-spacing:0}.post-page .post-content .post-h1{font-weight:500;font-size:2.6rem;margin:3.5rem 0 1rem}.post-page .post-content h2{font-weight:600;font-size:2rem;margin:2.8rem 0 .8rem}.post-page .post-content h3{font-weight:600;font-size:1.5rem;margin:2.2rem 0 .6rem}.post-page .post-content h4{font-family:var(--font-roboto-mono),monospace;font-weight:400;font-size:.85rem;line-height:1.5;letter-spacing:.06em;text-transform:uppercase;color:#6b6b6b;margin:2rem 0 .5rem}.post-page .post-content>:first-child{margin-top:0}.post-page .post-content a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:#bdbdbd;text-underline-offset:4px;transition:text-decoration-color .2s}@media (hover:hover) and (pointer:fine){.post-page .post-content a:hover{background:none;color:inherit;text-decoration-color:#000;text-underline-offset:4px}}.post-page .post-content strong{font-weight:500;color:#000}.post-page .post-content code{font-family:var(--font-roboto-mono),monospace;font-size:.9em;background:#f3f2ef;border-radius:4px;padding:.1em .35em}.post-page .post-content blockquote{margin:2.5rem 0;padding:.2rem 0 .2rem 1.4rem;border-left:2px solid #ddd;background:none;font-family:var(--font-work-sans),sans-serif;font-weight:300;font-style:normal;font-size:1.35rem;line-height:1.6;color:#444}.post-page .post-hr{margin:3rem 0}.post-page .post-hr-default{background-color:#c8c8c8}.post-page .post-hr-dashed,.post-page .post-hr-dotted{border-top-width:1px;border-top-color:#b5b5b5}.post-page .post-content-image,.post-page .post-content-image-frame{border-radius:12px}.post-page .post-content-image-frame{box-shadow:0 0 0 1px rgba(0,0,0,.06)}.post-page .post-image-caption,.post-page .post-table-caption,.post-page .post-video-caption{font-family:var(--font-work-sans),sans-serif;font-weight:400;font-style:normal;font-size:.9rem;color:#6b6b6b}.post-page .post-code-block{margin:2.5rem 0;background:#141414;border-radius:12px;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.06)}.post-page .post-code-header{background:transparent;border-bottom:1px solid hsla(0,0%,100%,.08);padding:.8rem 1.4rem}.post-page .post-code-copy,.post-page .post-code-filename,.post-page .post-code-language{font-family:var(--font-roboto-mono),monospace;font-weight:400;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:#8a8a8a}@media (hover:hover) and (pointer:fine){.post-page .post-code-copy:hover{color:#fff}}.post-page .post-code-pre code{font-size:.95rem;background:transparent;padding:0}.post-page .post-callout{margin:2.5rem 0;padding:1.4rem 1.6rem;border:0;border-radius:12px;background:#f3f2ef;color:#222}.post-page .post-callout-title{font-family:var(--font-roboto-mono),monospace;font-weight:400;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:#8a8a8a;margin-bottom:.4rem}.post-page .post-table td{border-color:#ececec}.post-page .post-content>p:first-of-type{font-family:var(--font-cormorant),serif;font-weight:400;font-size:1.75rem;line-height:1.4;color:#000}.post-page .post-content .pp-num{display:block;margin-bottom:.7rem;font-weight:400;font-size:.85rem;line-height:1;color:#6b6b6b}.post-page .post-content .pp-num,.post-page .post-toc-num{font-family:var(--font-roboto-mono),monospace;letter-spacing:.06em}.post-page .post-toc-num{margin-right:.6rem;font-size:.75rem}.post-page .post-content{counter-reset:pp-fig}.post-page .post-image-caption{counter-increment:pp-fig;text-align:left}.post-page .post-image-caption:before{content:"Fig. " counter(pp-fig) " · ";font-family:var(--font-roboto-mono),monospace;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}@media (min-width:1280px){.post-page .post-image-block{width:calc(100% + 8rem);max-width:none}}.post-page .pp-end{grid-column:-2/-1;max-width:40rem;margin-top:2rem;padding-top:2.5rem;border-top:1px solid #ececec}.post-page .pp-more,.post-page .pp-tile-kicker,.post-page .pp-tile-title{margin-bottom:0}.post-page .pp-more{margin:0 0 1rem;font-family:var(--font-roboto-mono),monospace;font-weight:400;font-size:.8rem;line-height:1.4;letter-spacing:.06em;text-transform:uppercase;color:#6b6b6b}.post-page .pp-next{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.post-page .pp-tile{position:relative;display:flex;flex-direction:column;overflow:hidden;padding:1.6rem;border-radius:20px;background:#f3f2ef;color:inherit;text-decoration:none;transition:transform .15s ease}.post-page .pp-tile-kicker{font-family:var(--font-roboto-mono),monospace;font-weight:400;font-size:.75rem;line-height:1.4;letter-spacing:.06em;text-transform:uppercase;color:#6b6b6b}.post-page .pp-tile-title{margin-top:.6rem;font-family:var(--font-cormorant),serif;font-weight:400;font-size:1.6rem;line-height:1.15;color:#000}.post-page .pp-tile-shot{display:block;margin:1.6rem -3rem -3rem 0;height:9rem;transition:transform .4s ease}.post-page .pp-tile-shot img{display:block;width:100%;height:100%;object-fit:cover;object-position:top left;border-radius:10px 0 0 0;box-shadow:0 0 0 1px rgba(0,0,0,.06)}@media (hover:hover) and (pointer:fine){.post-page .pp-tile:hover .pp-tile-shot{transform:translate(-6px,-6px)}}@media (hover:none),(pointer:coarse){.post-page .pp-tile:active{opacity:1;transform:scale(.985)}}@media (prefers-reduced-motion:reduce){.post-page .pp-tile,.post-page .pp-tile-shot{transition:none}}@media (max-width:900px){.post-page .pp-head{padding:3rem 6% 2rem}.post-page .pp-cover{padding:0 6%}.post-page .post-body-wrapper{grid-template-columns:minmax(0,1fr);padding:0 6% 5rem;margin-top:2.5rem}.post-page .post-toc{display:none}.post-page .post-content,.post-page .post-content p{font-size:1.1rem}.post-page .post-content>p:first-of-type{font-size:1.45rem}.post-page .pp-end{margin-top:1rem}.post-page .pp-next{grid-template-columns:minmax(0,1fr)}}.share-pill{position:fixed;z-index:50;transform:translate(-50%,calc(-100% - 10px));display:flex;align-items:center;gap:2px;padding:4px;background:#000;color:#fff;border-radius:999px;box-shadow:0 4px 16px rgba(0,0,0,.18);animation:share-pill-in .15s ease-out}@keyframes share-pill-in{0%{opacity:0;transform:translate(-50%,calc(-100% - 4px))}}.share-btn{display:grid;place-items:center;width:30px;height:30px;border-radius:999px;color:#8a8a8a;background:none;border:0;cursor:pointer;transition:color .2s,background .2s}.share-btn:focus-visible{color:#fff;background:#1f1f1f}@media (hover:hover) and (pointer:fine){.share-btn:hover{color:#fff;background:#1f1f1f}}.share-copied{padding:0 12px;line-height:30px;font-family:var(--font-roboto-mono),monospace;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}@media (prefers-reduced-motion:reduce){.share-pill{animation:none}}