/* ===== Article / Guide body design system — cattlefencewire (brand-matched) ===== */
/* 2-column: sticky TOC sidebar + reading-width content */
.prose-wrap .container:has(.art-toc){display:grid;grid-template-columns:260px minmax(0,1fr);gap:3rem;align-items:start;max-width:1120px;}
@media(max-width:900px){.prose-wrap .container:has(.art-toc){grid-template-columns:1fr;gap:1.5rem;}}

/* Sidebar TOC card */
.art-toc{position:sticky;top:90px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem 1.25rem 1rem;box-shadow:0 1px 3px rgba(16,33,55,.06);}
@media(max-width:900px){.art-toc{position:static;}}
.art-toc__title{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;color:var(--color-primary);padding-bottom:.6rem;margin-bottom:.5rem;border-bottom:2px solid var(--color-accent);}
.art-toc ol,.art-toc ul{list-style:none;margin:0;padding:0;counter-reset:toc;}
.art-toc li{margin:0;}
.art-toc a{display:block;padding:.4rem .25rem;font-size:.9rem;color:var(--color-text-muted);text-decoration:none;border-radius:var(--radius-sm);line-height:1.35;transition:all .15s;}
.art-toc a:hover{color:var(--color-accent);background:var(--color-accent-highlight);padding-left:.6rem;}

/* Content rhythm */
.prose{max-width:760px;}
.prose h2{font-family:var(--font-display);font-weight:700;font-size:1.9rem;color:var(--color-primary);margin:2.8rem 0 1rem;padding-left:.9rem;border-left:4px solid var(--color-accent);line-height:1.2;scroll-margin-top:90px;}
.prose h3{font-family:var(--font-display);font-weight:600;font-size:1.3rem;color:var(--color-text);margin:1.8rem 0 .6rem;}
.prose p{font-size:1.02rem;line-height:1.8;color:var(--color-text-muted);margin:0 0 1.1rem;}
.prose>div>p:first-of-type,.prose .lead{font-size:1.15rem;color:var(--color-text);line-height:1.7;}
.prose a{color:var(--color-accent);}
.prose strong{color:var(--color-text);}

/* Lists with accent markers */
.prose ul{list-style:none;padding-left:0;margin:0 0 1.2rem;}
.prose ul li{position:relative;padding-left:1.6rem;margin-bottom:.55rem;line-height:1.7;color:var(--color-text-muted);}
.prose ul li::before{content:"";position:absolute;left:.1rem;top:.55em;width:.5rem;height:.5rem;background:var(--color-accent);border-radius:2px;transform:rotate(45deg);}
.prose ol{padding-left:1.4rem;margin:0 0 1.2rem;}
.prose ol li{margin-bottom:.55rem;line-height:1.7;color:var(--color-text-muted);}

/* Branded tables */
.prose table{width:100%;border-collapse:collapse;margin:1.4rem 0;font-size:.95rem;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 1px 3px rgba(16,33,55,.08);}
.prose thead th{background:var(--color-primary);color:#fff;font-family:var(--font-display);font-weight:600;text-align:left;padding:.75rem 1rem;}
.prose tbody td{padding:.7rem 1rem;border-top:1px solid var(--color-divider);color:var(--color-text-muted);}
.prose tbody tr:nth-child(even){background:var(--color-surface-2);}

/* Key takeaways box */
.key-takeaways{background:var(--color-accent-highlight);border:1px solid var(--color-accent);border-left:5px solid var(--color-accent);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;margin:0 0 2rem;}
.key-takeaways .kt-label{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;color:var(--color-accent-text);margin-bottom:.5rem;}
.key-takeaways ul{margin:0;}
.key-takeaways li{color:var(--color-text);}

/* Callouts */
.callout{border-radius:var(--radius-lg);padding:1rem 1.25rem;margin:1.4rem 0;border-left:5px solid;}
.callout__t{font-family:var(--font-display);font-weight:700;font-size:.95rem;margin-bottom:.25rem;display:block;}
.callout p{margin:0;color:var(--color-text);}
.callout--tip{background:var(--color-success-highlight);border-color:var(--color-success);}
.callout--tip .callout__t{color:var(--color-success);}
.callout--warn{background:var(--color-warning-highlight);border-color:var(--color-warning);}
.callout--warn .callout__t{color:var(--color-warning);}
.callout--info{background:var(--color-info-highlight);border-color:var(--color-info);}
.callout--info .callout__t{color:var(--color-info);}

/* Figures */
.prose img,.art-figure img{border-radius:var(--radius-lg);box-shadow:0 6px 20px rgba(16,33,55,.12);max-width:100%;height:auto;}
.art-figure{margin:1.6rem 0;}
.art-figure figcaption{font-size:.85rem;color:var(--color-text-faint);text-align:center;margin-top:.5rem;}
