.article-layout{display:grid;grid-template-columns:220px 1fr;gap:0;max-width:1100px;margin:0 auto;padding:clamp(5rem,10vh,8rem) clamp(1.5rem,4vw,4rem) clamp(3rem,6vh,5rem);align-items:start}.article-toc{position:sticky;top:5rem;padding-right:3rem}.article-toc__label{font-family:var(--font-body);font-size:.65rem;font-weight:600;letter-spacing:.15em;text-transform:none;color:var(--text);opacity:.4;margin-bottom:.75rem}.article-toc__list{list-style:none;display:flex;flex-direction:column;gap:.4rem}.article-toc__list a{font-family:var(--font-body);font-size:.8rem;font-weight:300;color:var(--text);text-decoration:none;opacity:.5;transition:opacity .2s;display:block;line-height:1.4}.article-toc__list a:hover,.article-toc__list a.is-active{opacity:1}.article{border-left:1px solid var(--border);padding-left:clamp(2rem,4vw,4rem);min-width:0}.article__header{margin-bottom:clamp(2rem,5vh,3.5rem);padding-bottom:clamp(1.5rem,3vh,2.5rem);border-bottom:1px solid var(--border)}.article__back{font-family:var(--font-body);font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:none;color:var(--text);text-decoration:none;opacity:.45;display:inline-block;margin-bottom:1.5rem;transition:opacity .2s}.article__back:hover{opacity:1}.article__meta{display:flex;gap:1.5rem;margin-bottom:1rem}.article__date,.article__read-time{font-family:var(--font-body);font-size:.75rem;font-weight:300;letter-spacing:.08em;text-transform:none;color:var(--text);opacity:.4}.article__title{font-family:var(--font-display);font-style:italic;font-weight:700;font-size:clamp(2rem,5vw,4rem);line-height:1;letter-spacing:-.03em;color:var(--text)}.article__body{font-family:var(--font-body);font-size:clamp(1rem,1.5vw,1.125rem);font-weight:300;line-height:1.75;color:var(--text)}.article__body>*+*{margin-top:1.5em}.article__body h2{font-family:var(--font-display);font-style:italic;font-weight:700;font-size:clamp(1.5rem,3vw,2.25rem);line-height:1.1;letter-spacing:-.02em;margin-top:3em;margin-bottom:.75em}.article__body h3{font-family:var(--font-body);font-weight:600;font-size:1rem;letter-spacing:.05em;text-transform:none;margin-top:2.5em;margin-bottom:.5em}.article__body blockquote{border-left:2px solid var(--text);padding:.5rem 0 .5rem 1.5rem;font-family:var(--font-display);font-style:italic;font-size:clamp(1.1rem,2vw,1.5rem);line-height:1.4;letter-spacing:-.01em;color:var(--text);margin-left:0}.article__body ul,.article__body ol{padding-left:1.5rem}.article__body li{margin-top:.4em}.article__body a{color:var(--text);text-underline-offset:3px;transition:opacity .2s}.article__body a:hover{opacity:.5}.article__body img{width:100%;height:auto;display:block}.article__body code{font-family:Courier New,monospace;font-size:.875em;background:#0a0a0a0f;padding:.1em .4em;border-radius:2px}.related{border-top:1px solid var(--border);padding:clamp(3rem,6vh,5rem) clamp(1.5rem,4vw,4rem)}.related__title{font-family:var(--font-body);font-size:.7rem;font-weight:600;letter-spacing:.15em;text-transform:none;color:var(--text);opacity:.4;margin-bottom:2rem}.related__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;border:1px solid var(--border)}.related-card{padding:clamp(1.25rem,3vw,2rem);border-right:1px solid var(--border);transition:background .25s ease}.related-card:last-child{border-right:none}.related-card:hover{background:var(--text)}.related-card__link{display:flex;flex-direction:column;gap:.6rem;text-decoration:none;color:inherit}.related-card__date{font-family:var(--font-body);font-size:.7rem;font-weight:300;letter-spacing:.08em;text-transform:none;color:var(--text);opacity:.4;transition:color .25s,opacity .25s}.related-card__title{font-family:var(--font-display);font-style:italic;font-weight:600;font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.2;letter-spacing:-.02em;color:var(--text);transition:color .25s}.related-card:hover .related-card__date,.related-card:hover .related-card__title{color:var(--bg);opacity:1}
