.article{background:var(--bg-app)}.art-wrap{width:100%;max-width:calc(736px + 2*var(--gutter));padding:0 var(--gutter);margin:0 auto}@media (width>=1200px){.art-wrap.has-rail{max-width:calc(232px + 72px + 736px + 2*var(--gutter));grid-template-columns:232px minmax(0,736px);column-gap:72px;display:grid}.art-wrap.has-rail>*{grid-column:2}.art-wrap.has-rail>.toc-aside{grid-area:1/1/span 20}}.post-head{padding:40px 0 0}@media (width>=1024px){.post-head{padding-top:56px}}.post-head .crumbs{margin-bottom:24px}.head-main{flex-direction:column;display:flex}.head-main .kicker{min-height:32px;transition:color var(--ease-fast);order:-1;align-self:flex-start;align-items:center;margin-bottom:8px;text-decoration:none;display:inline-flex}.head-main a.kicker:hover{color:var(--deep-blue);text-underline-offset:4px;text-decoration:underline}.art-h1{font-family:var(--font-sans);letter-spacing:-.02em;color:var(--fg-1);text-wrap:balance;max-width:24ch;font-size:32px;font-weight:600;line-height:40px}@media (width>=768px){.art-h1{font-size:40px;line-height:48px}}@media (width>=1024px){.art-h1{font-size:44px;line-height:52px}}.meta{color:var(--fg-2);flex-wrap:wrap;align-items:center;row-gap:4px;margin-top:20px;font-size:14px;line-height:20px;display:flex}.meta>*{margin:0}.meta>*+:before{content:"";background:var(--logo-grey);vertical-align:middle;border-radius:50%;width:3px;height:3px;margin:0 10px;display:inline-block}.meta>:empty{display:none}@media (width<=639px){.meta{column-gap:14px}.meta>*+:before{display:none}}.byline{color:var(--fg-1);font-weight:500}.byline a,.author-name a{color:inherit;text-decoration:underline;text-decoration-color:var(--cloudy-grey);text-underline-offset:3px}.byline a:hover,.author-name a:hover{color:var(--zima-blue);text-decoration-color:currentColor}.post-hero{margin:32px 0 0}.post-hero img{aspect-ratio:auto;border-radius:var(--radius-card);background:var(--light-carbon);width:100%;height:auto}.post-hero figcaption,.prose figcaption{color:var(--fg-2);text-wrap:pretty;margin-top:10px;font-size:14px;line-height:20px}.post-hero:empty,.toc-aside{display:none}@media (width>=1200px){.toc-aside{padding-top:56px;display:block}.toc-aside .toc{top:calc(var(--nav-h) + 32px);max-height:calc(100vh - var(--nav-h) - 64px);padding-right:8px;position:sticky;overflow-y:auto}.toc-details{display:none}}.toc-aside:not(:has(li)),.toc-details:not(:has(li)){display:none}.toc-label{letter-spacing:.02em;text-transform:uppercase;color:var(--fg-2);margin-bottom:12px;font-size:12px;font-weight:500;line-height:16px}.toc ol{border-left:1px solid var(--light-carbon);margin:0;padding:0;list-style:none}.toc li a{color:var(--fg-2);text-wrap:pretty;transition:color var(--ease-fast),border-color var(--ease-fast);border-left:2px solid #0000;margin-left:-1px;padding:6px 0 6px 14px;font-size:14px;line-height:20px;text-decoration:none;display:block}.toc li a:hover{color:var(--zima-blue)}.toc li a[aria-current=true]{color:var(--fg-1);border-left-color:var(--zima-blue);font-weight:500}.toc-details{border:1px solid var(--light-carbon);border-radius:var(--radius-sm);background:var(--bg-surface);margin-top:32px}.toc-details summary{cursor:pointer;min-height:48px;color:var(--fg-1);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;padding:0 16px;font-size:14px;font-weight:500;line-height:20px;list-style:none;display:flex}.toc-details summary::-webkit-details-marker{display:none}.toc-details summary::marker{content:""}.toc-details summary svg{width:16px;height:16px;color:var(--zima-blue);transition:transform var(--ease-default);flex:none}.toc-details[open] summary svg{transform:rotate(180deg)}.toc-details summary:focus-visible{outline-offset:-3px}.toc-details .toc{padding:0 16px 16px}.prose{max-width:68ch;color:var(--fg-1);overflow-wrap:break-word;margin-top:40px;font-size:18px;line-height:30px}@media (width>=1024px){.prose{margin-top:48px}}.prose>*+*{margin-top:24px}.prose p,.prose li{text-wrap:pretty}.prose h2{font-family:var(--font-sans);letter-spacing:-.01em;scroll-margin-top:calc(var(--nav-h) + 24px);text-wrap:balance;margin-top:56px;font-size:28px;font-weight:600;line-height:34px}.prose h3{scroll-margin-top:calc(var(--nav-h) + 24px);margin-top:40px;font-size:21px;font-weight:600;line-height:30px}.prose h4{margin-top:32px;font-size:18px;font-weight:600;line-height:28px}.prose h2+*,.prose h3+*,.prose h4+*{margin-top:12px}.prose>:first-child{margin-top:0}.prose a{color:var(--zima-blue);text-underline-offset:3px;transition:color var(--ease-fast);text-decoration:underline 1px}.prose a:hover{color:var(--deep-blue);text-decoration-thickness:2px}.prose strong{font-weight:600}.prose ul,.prose ol{padding-left:1.4em}.prose ul{list-style:outside}.prose ol{list-style:decimal}.prose li+li,.prose li>ul,.prose li>ol{margin-top:8px}.prose li::marker{color:var(--zima-blue)}.prose blockquote{border-left:3px solid var(--zima-blue);color:var(--fg-1);margin-left:0;margin-right:0;padding:4px 0 4px 20px;font-size:20px;line-height:32px}.prose blockquote>*+*{margin-top:12px}.prose blockquote cite{color:var(--fg-2);font-size:14px;font-style:normal;line-height:20px;display:block}.prose figure{margin-left:0;margin-right:0}.prose img{border-radius:var(--radius-sm);background:var(--light-carbon);width:100%;height:auto}.prose p>img:only-child{margin:0}.prose hr{border:0;border-top:1px solid var(--light-carbon);margin:48px 0}.prose code{font-family:var(--font-mono);background:var(--light-carbon);border-radius:4px;padding:.1em .35em;font-size:.85em}.prose pre{font-family:var(--font-mono);background:var(--heavy-carbon);color:var(--on-dark-muted);border-radius:var(--radius-btn);white-space:pre;tab-size:2;padding:16px 20px;font-size:14px;line-height:22px;overflow-x:auto}.prose pre code{font-size:inherit;color:inherit;background:0 0;padding:0}.prose pre:focus-visible{outline:2px solid var(--zima-blue);outline-offset:3px}.table-scroll{border:1px solid var(--light-carbon);border-radius:var(--radius-sm);background:var(--bg-surface);overflow-x:auto}.table-scroll:focus-visible{outline:2px solid var(--zima-blue);outline-offset:3px}.prose table{border-collapse:collapse;width:100%;font-size:15px;line-height:22px}.prose th,.prose td{text-align:left;vertical-align:top;border-bottom:1px solid var(--light-carbon);padding:10px 14px}.prose th{background:var(--offwhite);font-weight:600}.prose tr:last-child td{border-bottom:0}.prose .embed-card,.prose .embed-internal{border:1px solid var(--light-carbon);border-radius:var(--radius-sm);background:var(--bg-surface);min-height:64px;box-shadow:var(--shadow-sm);align-items:center;gap:14px;padding:14px 20px;display:flex}.prose .embed-card:before,.prose .embed-internal:before{content:"";border-radius:var(--radius-btn);background:var(--zima-blue) var(--ico-play) center/18px no-repeat;flex:none;width:36px;height:36px}.prose .embed-internal:before{background-image:var(--ico-arrow)}.prose .embed-card-link,.prose .embed-internal{color:var(--fg-1);font-size:16px;font-weight:500;line-height:24px;text-decoration:none}.prose .embed-card-link:hover,.prose a.embed-internal:hover{color:var(--zima-blue);text-decoration:underline}.prose .embed-youtube{margin-left:0;margin-right:0}.prose .embed-poster{border-radius:var(--radius-sm);background:var(--heavy-carbon);cursor:pointer;aspect-ratio:16/9;border:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.prose .embed-poster img{object-fit:cover;border-radius:0;width:100%;height:100%}.prose .embed-play{background:var(--zima-blue);width:64px;height:64px;color:var(--white);box-shadow:var(--shadow-md);border-radius:50%;justify-content:center;align-items:center;margin:-32px 0 0 -32px;font-size:22px;display:flex;position:absolute;top:50%;left:50%}.prose .embed-poster:hover .embed-play{background:var(--deep-blue)}.prose .embed-youtube iframe{aspect-ratio:16/9;border-radius:var(--radius-sm);border:0;width:100%;display:block}.prose .embed-title{color:var(--fg-2);margin-top:8px;font-size:14px;line-height:20px}:root{--ico-play:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkZGRkZGJyBzdHJva2Utd2lkdGg9JzEuNzUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCc+PHBhdGggZD0nTTMgMTR2LTJhOSA5IDAgMCAxIDE4IDB2MicvPjxwYXRoIGQ9J00yMSAxNWEyIDIgMCAwIDEtMiAyaC0xdi02aDFhMiAyIDAgMCAxIDIgMnpNMyAxNWEyIDIgMCAwIDAgMiAyaDF2LTZINWEyIDIgMCAwIDAtMiAyeicvPjwvc3ZnPg==);--ico-arrow:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkZGRkZGJyBzdHJva2Utd2lkdGg9JzEuNzUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCc+PHBhdGggZD0nTTUgMTJoMTRNMTMgNmw2IDYtNiA2Jy8+PC9zdmc+)}.art-end{max-width:68ch;margin-top:56px;padding-bottom:72px}@media (width>=1024px){.art-end{padding-bottom:96px}}.author{border-top:1px solid var(--light-carbon);grid-template-columns:auto 1fr;align-items:center;column-gap:16px;padding-top:24px;display:grid}.author-mark{background:var(--bg-surface);width:48px;height:48px;box-shadow:0 0 0 1px var(--light-carbon);border-radius:50%;grid-row:1/span 3;justify-content:center;align-items:center;display:flex}.author-mark svg{width:26px;height:19px}.author-label{letter-spacing:.02em;text-transform:uppercase;color:var(--fg-2);font-size:12px;font-weight:500;line-height:16px}.author-name{color:var(--fg-1);font-size:16px;font-weight:600;line-height:24px}.author-role{color:var(--fg-2);font-size:14px;line-height:20px}.author-role:empty{display:none}.cta-card{border:1px solid var(--light-carbon);border-radius:var(--radius-card);background:var(--bg-surface);box-shadow:var(--shadow-md);flex-direction:column;align-items:flex-start;gap:20px;margin-top:40px;padding:28px;display:flex;position:relative;overflow:hidden}.cta-card:before{content:"";background:var(--gradient-primary);height:4px;position:absolute;top:0;left:0;right:0}.cta-card p{color:var(--fg-1);text-wrap:balance;max-width:28ch;font-size:20px;font-weight:500;line-height:28px}@media (width>=768px){.cta-card{flex-direction:row;justify-content:space-between;align-items:center;padding:32px 36px}}.more{background:var(--bg-surface);border-top:1px solid var(--light-carbon);padding:64px 0 72px}@media (width>=1024px){.more{padding:88px 0 96px}}.more-h{font-family:var(--font-sans);letter-spacing:-.01em;font-size:24px;font-weight:600;line-height:32px}.rel-grid{gap:20px;margin-top:28px;display:grid}@media (width>=768px){.rel-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}}.related:not(:has(.rel-card)){display:none}.rel-card{border:1px solid var(--light-carbon);border-radius:var(--radius-sm);background:var(--offwhite);transition:box-shadow var(--ease-default),border-color var(--ease-default);flex-direction:column;padding:24px;display:flex;position:relative}.rel-card:hover{box-shadow:var(--shadow-md);border-color:var(--cloudy-grey)}.rel-cat{letter-spacing:.02em;text-transform:uppercase;color:var(--zima-blue);order:-1;margin-bottom:10px;font-size:12px;font-weight:500;line-height:16px}.rel-title{text-wrap:pretty;font-size:18px;font-weight:600;line-height:26px}.rel-title a{color:var(--fg-1);text-decoration:none}.rel-title a:after{content:"";border-radius:inherit;position:absolute;inset:0}.rel-card:hover .rel-title a{color:var(--zima-blue)}.rel-excerpt{color:var(--fg-2);-webkit-line-clamp:3;-webkit-box-orient:vertical;order:1;margin-top:10px;font-size:15px;line-height:24px;display:-webkit-box;overflow:hidden}.rel-date{color:var(--fg-2);order:2;margin-top:auto;padding-top:16px;font-size:14px;line-height:20px}.prevnext{border-top:1px solid var(--light-carbon);gap:12px;margin-top:40px;padding-top:32px;display:grid}@media (width>=768px){.prevnext{grid-template-columns:1fr 1fr;gap:24px}}.prevnext:not(:has(a)){display:none}.pn-item{flex-direction:column;gap:4px;min-width:0;display:flex}.pn-next{text-align:left}@media (width>=768px){.pn-next{text-align:right;align-items:flex-end}}.pn-label{letter-spacing:.02em;text-transform:uppercase;color:var(--fg-2);font-size:12px;font-weight:500;line-height:16px}.pn-title{min-height:44px;color:var(--fg-1);text-wrap:pretty;transition:color var(--ease-fast);align-items:center;font-size:16px;font-weight:500;line-height:24px;text-decoration:none;display:inline-flex}.pn-title:hover{color:var(--zima-blue);text-underline-offset:4px;text-decoration:underline}
