.article-shell{padding-top:40px;padding-bottom:72px}.article-page{grid-template-columns:minmax(0,820px) 300px;justify-content:space-between;align-items:start;gap:64px;display:grid}.article-header{margin-bottom:32px}.article-meta-row{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.article-kicker{color:var(--muted);font-size:13px;font-weight:500;line-height:1.5}.article-byline{color:var(--ink-2);text-underline-offset:3px;text-decoration:underline;text-decoration-color:var(--line)}.article-byline:hover{color:var(--ink)}.article-title{letter-spacing:-.04em;text-wrap:balance;margin-bottom:20px;font-size:clamp(34px,4.4vw,56px);font-weight:600;line-height:1.05}.article-lead{max-width:720px;color:var(--ink-2);font-size:19px;line-height:1.65}.article-tags{flex-wrap:wrap;gap:6px;margin-top:22px;display:flex}.article-sidebar{top:calc(var(--header-h) + 24px);flex-direction:column;gap:16px;display:flex;position:sticky}.article-side-card{border-radius:var(--radius);background:var(--surface);padding:22px}.article-side-title{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-size:11px;font-weight:600;line-height:1.3}.article-side-list{display:grid}.article-side-link{border-top:1px solid var(--line);gap:4px;padding:12px 0;display:grid}.article-side-link:first-child{border-top:0}.article-side-link-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.article-side-link-title{color:var(--ink);transition:color var(--transition);font-size:14.5px;font-weight:600;line-height:1.4}.article-side-link:hover .article-side-link-title{color:var(--ink-2)}.article-toc{list-style:none;display:grid}.article-toc-item{margin:0}.article-toc-link{border-top:1px solid var(--line);color:var(--ink-2);transition:color var(--transition);align-items:baseline;gap:12px;padding:9px 0;font-size:14px;line-height:1.45;display:flex}.article-toc-item:first-child .article-toc-link{border-top:0}.article-toc-link:hover{color:var(--ink)}.article-toc-index{min-width:20px;color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:11px;font-weight:600}.article-share{white-space:nowrap;flex:none;justify-content:flex-end;align-items:center;gap:10px;margin-left:auto;display:flex}.article-share-label{color:var(--muted);font-size:13px;font-weight:500;line-height:1}.article-share-actions{flex-wrap:nowrap;align-items:center;gap:8px;display:flex}.article-share-status{min-width:0;color:var(--ink-2);opacity:0;transition:opacity var(--transition), transform var(--transition);font-size:12px;font-weight:600;line-height:1;transform:translateY(2px)}.article-share-status.is-visible{opacity:1;transform:translateY(0)}.article-share-action{background:var(--dark);width:38px;height:38px;color:var(--on-dark);transition:background var(--transition);cursor:pointer;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.article-share-action:hover{background:var(--dark-hover)}.article-share-action svg{fill:currentColor;flex-shrink:0;width:16px;height:16px}.article-image{margin:28px 0}.article-image img{border-radius:var(--radius);width:100%;height:auto;display:block}.article-image-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:32px 0;display:grid}.article-image-grid--equal{align-items:start}.article-image-grid--equal .article-image{margin:0}.article-image-grid--equal .article-image img{object-fit:contain;background:var(--surface);width:100%;height:340px}.article-image--portrait{max-width:420px;margin:32px auto}.article-image--portrait img{width:100%;height:auto}.article-footnote{color:var(--muted);margin-top:10px;font-size:14px}.article-body{color:var(--ink-2);font-size:18px;line-height:1.75}.article-body h2{letter-spacing:-.025em;color:var(--ink);text-wrap:balance;margin:44px 0 16px;font-size:clamp(24px,2.6vw,32px);font-weight:600;line-height:1.2}.article-body h3{letter-spacing:-.015em;color:var(--ink);margin:30px 0 12px;font-size:21px;font-weight:600;line-height:1.3}.article-body strong{color:var(--ink);font-weight:600}.article-body p+p,.article-body p+ol,.article-body p+ul{margin-top:14px}.article-body ol,.article-body ul{margin:16px 0;padding-left:22px}.article-body li+li{margin-top:8px}.article-body li::marker{color:var(--muted)}.article-body a:not(.btn){color:var(--ink);text-underline-offset:3px;text-decoration:underline;text-decoration-color:var(--muted);transition:text-decoration-color var(--transition)}.article-body a:not(.btn):hover{text-decoration-color:var(--ink)}.article-body blockquote,.article-note{border-left:2px solid var(--dark);border-radius:0 var(--radius) var(--radius) 0;background:var(--surface);color:var(--ink);margin:24px 0;padding:18px 22px}.article-callout{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;margin:28px 0;display:flex}.article-note--left{text-align:left;align-self:stretch;max-width:760px;margin-left:0;margin-right:auto}.article-cta-area{flex-direction:column;align-items:center;gap:16px;margin:24px 0 0;display:flex}.article-cta{text-align:center;white-space:normal;min-width:min(100%,280px)}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff80;margin:20px 0 12px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:680px}th,td{border-bottom:1px solid var(--line);vertical-align:top;text-align:left;padding:14px 16px}th{color:var(--ink);background:var(--surface);font-size:15px;font-weight:600}td{color:var(--ink-2);font-size:15px;line-height:1.6}tbody td:first-child{color:var(--ink);font-weight:600}tbody tr:last-child td{border-bottom:0}@media (width<=1180px){.article-page{grid-template-columns:minmax(0,1fr);justify-content:stretch}.article-card{max-width:820px}.article-sidebar{display:none}}@media (width<=720px){.article-shell{padding-top:24px;padding-bottom:48px}.article-meta-row{flex-direction:column;align-items:flex-start;gap:14px}.article-share{white-space:normal;flex-wrap:wrap;justify-content:flex-start;margin-left:0}.article-share-actions{flex-wrap:wrap}.article-lead,.article-body{font-size:17px}}@media (width<=700px){.article-image-grid{grid-template-columns:minmax(0,1fr)}}
