.guides:has(.blog-site){--gutter-h:4rem}.blog-site{color:var(--text-primary)}.blog-site *,.blog-site :before,.blog-site :after{box-sizing:border-box}.blog-site ::selection{background:var(--text-primary);color:var(--bg)}.blog-site :focus-visible{outline:2px solid var(--text-primary);outline-offset:4px}.blog-canvas{width:100%;min-width:0;max-width:none;padding-inline:var(--gutter-h);margin-inline:auto}.blog-masthead{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,3fr) minmax(0,1fr);align-items:end;padding-block:clamp(3rem,8vw,9rem) clamp(2rem,4vw,5rem);display:grid}.blog-masthead__title{min-width:0}.blog-masthead h1{font-family:var(--font-display);letter-spacing:-.025em;text-transform:uppercase;font-size:clamp(6rem,19vw,26rem);font-weight:400;line-height:.72}.blog-masthead__title>span{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-top:clamp(2rem,4vw,5rem);font-size:.7rem;display:block}.blog-masthead>p{max-width:32ch;padding-left:var(--space-xl);text-wrap:pretty;font-size:clamp(1.1rem,1.5vw,1.65rem);line-height:1.4}.blog-preview{border-bottom:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;min-width:0;padding-block:clamp(2rem,4vw,5rem);display:grid}.blog-preview--featured{align-items:stretch;min-height:clamp(30rem,49vw,55rem)}.blog-preview__image{background:var(--bg-alt);align-self:start;width:100%;min-width:0;display:block;overflow:hidden}.blog-preview__image img{width:100%;height:auto;display:block}.blog-preview__copy{min-width:0;padding-inline:var(--space-xl);flex-direction:column;align-items:flex-start;display:flex}.blog-preview h2{letter-spacing:-.025em;overflow-wrap:anywhere;text-wrap:balance;max-width:28ch;font-size:clamp(1.8rem,3vw,4rem);font-weight:600;line-height:1.08}.blog-preview--featured h2{font-size:clamp(2.6rem,4vw,5.6rem)}.blog-preview h2 a{color:inherit;text-decoration:none}.blog-preview h2 a:hover,.blog-text-link:hover{text-underline-offset:.15em;text-decoration:underline}.blog-preview__copy>p{max-width:45ch;color:var(--text-secondary);margin-top:1.5rem;font-size:clamp(1rem,1.2vw,1.25rem);line-height:1.5}.blog-meta{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary);flex-wrap:wrap;align-items:baseline;gap:.75rem 1.8rem;margin-bottom:clamp(1.25rem,2.5vw,3rem);font-size:.7rem;line-height:1.6;display:flex}.blog-meta span:first-child{color:var(--text-primary)}.blog-text-link{color:var(--text-primary);margin-top:auto;padding-top:2rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-block}.blog-section-title{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:2rem;padding-block:clamp(3rem,5vw,6rem) 1rem;display:flex}.blog-section-title h2{font-family:var(--font-display);font-size:clamp(2.5rem,5vw,6rem);font-weight:400;line-height:1}.blog-section-title>span,.blog-section-title>a{font-family:var(--font-mono);color:var(--text-secondary);font-size:.7rem;text-decoration:none}.blog-archive .blog-preview:nth-of-type(2n){grid-template-columns:repeat(2,minmax(0,1fr))}.blog-archive .blog-preview:nth-of-type(2n) .blog-preview__image{order:2}.blog-pagination{font-family:var(--font-mono);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-block:3rem 5rem;font-size:.75rem;display:flex}.blog-pagination a{color:var(--text-primary);text-underline-offset:.3em}.blog-empty{flex-direction:column;justify-content:center;align-items:flex-start;min-height:50vh;padding-block:5rem;display:flex}.blog-empty h2{max-width:18ch;font-size:clamp(2rem,5vw,5rem);line-height:1.05}.blog-empty p{max-width:45ch;color:var(--text-secondary);margin-top:1.5rem}.blog-breadcrumb{padding-top:clamp(2rem,4vw,5rem);padding-left:var(--space-xl);font-family:var(--font-mono);color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:.6rem;font-size:.7rem;display:flex}.blog-breadcrumb a{color:inherit;text-underline-offset:.3em}.blog-article-header{border-bottom:1px solid var(--border);grid-template-columns:repeat(16,minmax(0,1fr));padding-block:clamp(2rem,5vw,6rem) clamp(2.5rem,5vw,6rem);display:grid}.blog-article-header>*{min-width:0;margin-left:var(--space-xl);grid-column:1/span 12}.blog-article-header .blog-meta{margin-bottom:clamp(1.5rem,3vw,3rem)}.blog-article-header h1{letter-spacing:-.035em;text-wrap:balance;overflow-wrap:break-word;-webkit-hyphens:manual;hyphens:manual;max-width:21ch;font-size:clamp(3rem,5.4vw,7rem);font-weight:600;line-height:1.02}.blog-deck{text-wrap:pretty;max-width:55ch;margin-top:clamp(2rem,3vw,4rem);font-size:clamp(1.25rem,1.7vw,2rem);line-height:1.4}.blog-byline{font-family:var(--font-mono);color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:.5rem 1.8rem;margin-top:clamp(2.5rem,5vw,5rem);font-size:.7rem;display:flex}.blog-byline a{color:var(--text-primary);text-underline-offset:.3em}.blog-cover{margin-block:0 clamp(3rem,7vw,9rem)}.blog-cover img{width:100%;height:auto;display:block}.blog-reading-layout{grid-template-columns:repeat(16,minmax(0,1fr));align-items:start;display:grid}.blog-reading-layout--no-toc .blog-body{grid-column:5/-1}.blog-toc{overscroll-behavior-y:contain;scrollbar-width:thin;min-width:0;max-height:calc(100dvh - 8rem);padding:.5rem var(--space-xl) 0;border-top:1px solid var(--border);grid-column:1/span 4;position:sticky;top:7rem;overflow-y:auto}.blog-reading-layout--full-artwork .blog-toc{max-height:none;margin-bottom:var(--space-3xl);grid-column:1/-1;position:static}.blog-reading-layout--full-artwork .blog-toc>ol{column-gap:var(--space-xl);grid-template-columns:repeat(4,minmax(0,1fr))}.blog-toc>p{font-family:var(--font-mono);text-transform:uppercase;color:var(--text-secondary);margin-block:1rem 2rem;font-size:.7rem}.blog-toc ol{gap:1rem;padding:0;list-style:none;display:grid}.blog-toc li{min-width:0}.blog-toc a{color:var(--text-secondary);font-size:.9rem;line-height:1.4;text-decoration:none}.blog-toc a:hover{color:var(--text-primary);text-underline-offset:.25em;text-decoration:underline}.blog-toc details{margin-top:.75rem}.blog-toc summary{width:fit-content;color:var(--text-secondary);cursor:pointer;font-family:var(--font-mono);font-size:.7rem;line-height:1.6}.blog-toc summary:hover{color:var(--text-primary)}.blog-toc details ol{border-left:1px solid var(--border);gap:.75rem;margin-top:.75rem;padding-left:1rem}.blog-body{min-width:0;padding:0 0 clamp(3rem, 7vw, 8rem) var(--space-xl);grid-column:5/-1}.blog-body>*{margin-bottom:clamp(1.5rem,3vw,3rem)}.blog-body .blog-prose,.blog-body .blog-list,.blog-body .blog-callout,.blog-body .blog-quote,.blog-body-heading{max-width:60ch}.blog-prose{overflow-wrap:break-word;font-size:clamp(1.05rem,1.2vw,1.25rem);line-height:1.72}.blog-prose p+p{margin-top:1em}.blog-prose a,.blog-list a,.blog-quote a,.blog-callout a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}.blog-body-heading{letter-spacing:-.025em;text-wrap:balance;overflow-wrap:anywhere;margin-top:clamp(3rem,6vw,7rem);scroll-margin-top:7rem;font-size:clamp(2rem,3vw,3.75rem);line-height:1.12}.blog-body-heading--minor{font-size:clamp(1.5rem,2.2vw,2.75rem)}.blog-figure{margin-block:clamp(2rem,4vw,5rem)}.blog-figure img{object-fit:contain;width:100%;height:auto;display:block}.blog-figure--content{max-width:60ch}.blog-figure--full{width:calc(100% + (100vw - 2 * var(--gutter-h)) / 4 + var(--space-xl));margin-left:calc(-1 * ((100vw - 2 * var(--gutter-h)) / 4 + var(--space-xl)))}.blog-figure figcaption{max-width:60ch;color:var(--text-secondary);font-family:var(--font-mono);overflow-wrap:anywhere;padding-top:.75rem;font-size:.7rem;line-height:1.5}.blog-figure--full figcaption{padding-left:var(--space-xl)}.blog-quote{border-block:1px solid var(--border);overflow-wrap:anywhere;padding:clamp(1.5rem,3vw,3rem) 0;font-size:clamp(1.5rem,2vw,2.4rem);line-height:1.3}.blog-quote cite{font-family:var(--font-mono);color:var(--text-secondary);margin-top:1.5rem;font-size:.7rem;font-style:normal;display:block}.blog-callout{border:1px solid var(--border);background:var(--bg-alt);overflow-wrap:anywhere;padding:clamp(1.25rem,2vw,2.5rem);line-height:1.6}.blog-callout strong{margin-bottom:.6rem;display:block}.blog-list{overflow-wrap:anywhere;padding-left:1.5rem;font-size:clamp(1.05rem,1.2vw,1.25rem);line-height:1.65}.blog-list li+li{margin-top:.65rem}.blog-table-scroll,.blog-code{overscroll-behavior-inline:contain;min-width:0;max-width:100%;overflow-x:auto}.blog-table__hint{width:fit-content;color:var(--text-secondary);font-family:var(--font-mono);white-space:normal;padding:.25rem 0 .75rem;font-size:.7rem;line-height:1.5;display:none}.blog-table-scroll table{border-collapse:collapse;width:100%;min-width:max-content;font-size:.95rem}.blog-table-scroll caption{text-align:left;font-family:var(--font-mono);overflow-wrap:anywhere;padding-bottom:.75rem;font-size:.7rem}.blog-table-scroll th,.blog-table-scroll td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:.8rem 1rem}.blog-table-scroll th{background:var(--bg-alt)}.blog-code{background:var(--bg-alt);border:1px solid var(--border)}.blog-code>span{border-bottom:1px solid var(--border);font-family:var(--font-mono);padding:.75rem 1rem;font-size:.7rem;display:block}.blog-code pre{font-family:var(--font-mono);padding:1rem;font-size:.85rem;line-height:1.6;overflow-x:auto}.blog-related{border-top:1px solid var(--border);grid-template-columns:repeat(16,minmax(0,1fr));padding-bottom:clamp(4rem,8vw,10rem);display:grid}.blog-related .blog-section-title{justify-content:flex-start;align-items:flex-start;gap:var(--space-md);padding:var(--space-xl);border-bottom:0;flex-direction:column;grid-column:1/span 4;display:flex}.blog-related__grid{grid-column:5/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid}.blog-related .blog-preview{min-width:0;padding:var(--space-xl);border-left:1px solid var(--border);flex-direction:column;display:flex}.blog-related .blog-preview__copy{padding-inline:0}.blog-related .blog-preview h2{font-size:clamp(1.5rem,2vw,2.7rem)}@media (max-width:1024px){.guides:has(.blog-site){--gutter-h:2rem}.blog-masthead{grid-template-columns:1fr;gap:2rem}.blog-masthead>p{max-width:55ch;padding-left:0}.blog-article-header,.blog-reading-layout{grid-template-columns:repeat(8,minmax(0,1fr))}.blog-article-header>*,.blog-reading-layout--no-toc .blog-body,.blog-toc,.blog-body{grid-column:1/-1}.blog-toc{max-height:none;margin-bottom:var(--space-3xl);position:static;overflow:visible}.blog-reading-layout--full-artwork .blog-toc>ol{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-figure--full{width:100%;margin-left:0}.blog-figure--full figcaption{padding-left:0}.blog-related{grid-template-columns:repeat(8,minmax(0,1fr))}.blog-related .blog-section-title,.blog-related__grid{grid-column:1/-1}.blog-related .blog-section-title{border-bottom:1px solid var(--border);flex-direction:row;justify-content:space-between;align-items:baseline}.blog-related__grid{grid-template-columns:minmax(0,1fr)}.blog-related .blog-preview{padding-inline:var(--space-xl);border-left:0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}@media (max-width:768px){.guides:has(.blog-site){--gutter-h:1rem}.blog-breadcrumb,.blog-article-header>*,.blog-toc{margin-left:0;padding-left:0}.blog-body{padding-left:0}.blog-reading-layout--full-artwork .blog-toc>ol{grid-template-columns:minmax(0,1fr)}.blog-masthead{padding-block:4rem 2rem}.blog-masthead h1{font-size:clamp(5.75rem,29vw,12rem)}.blog-masthead__title>span{margin-top:1.5rem}.blog-preview,.blog-preview--featured,.blog-archive .blog-preview:nth-of-type(2n){flex-direction:column;gap:1.5rem;min-height:0;display:flex}.blog-preview__image{order:0!important}.blog-preview__copy{order:1;padding-inline:0}.blog-article-header h1{font-size:clamp(2rem,10vw,3rem)}.blog-preview h2,.blog-preview--featured h2{font-size:clamp(2rem,8vw,3.6rem)}.blog-meta{margin-bottom:1rem}.blog-section-title{align-items:flex-end}.blog-related__grid{grid-template-columns:1fr}.blog-related .blog-section-title{padding-inline:0}.blog-related .blog-preview{border-bottom:1px solid var(--border);flex-direction:column;padding-inline:0;display:flex}.blog-byline{gap:.75rem 1.25rem}.blog-table__hint{display:block}}@media (max-width:380px){.blog-masthead h1{font-size:5.75rem}.blog-section-title{flex-wrap:wrap}}
