/* ---------- Blog ---------- */
.blog-hero{background:var(--night);color:var(--white);padding:64px 0 72px}
.blog-hero .eyebrow{display:inline-block;font-size:.88rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--warm);margin:0 0 .9rem}
.blog-hero h1{font-size:clamp(2.3rem,5vw,4rem);max-width:22ch}
.blog-hero .hero-sub{max-width:40rem}
.crumbs{font-size:.88rem;color:var(--muted-on-night);margin:0 0 2rem}
.crumbs a{color:var(--muted-on-night);text-decoration:none}
.crumbs a:hover{color:var(--white)}
.crumbs span[aria-hidden]{margin:0 .45rem}

/* Index list */
.post-list{display:grid;gap:20px;margin:0;padding:0;list-style:none}
.post-card{background:var(--white);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:32px;display:grid;gap:.6rem;transition:border-color .15s}
.post-card:hover{border-color:var(--ink)}
@media (max-width:600px){.post-card{padding:24px 20px}}
.post-card .tag{font-size:.82rem;font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:var(--signal-deep)}
.post-card h2{margin:0;font-size:clamp(1.35rem,2.4vw,1.75rem);font-stretch:110%;font-weight:720;letter-spacing:-.01em;line-height:1.2}
.post-card h2 a{text-decoration:none}
.post-card h2 a:hover{text-decoration:underline;text-underline-offset:4px}
.post-card p{margin:0;color:var(--muted);max-width:44rem}
.post-card .meta{font-size:.88rem;color:var(--muted)}

/* Article */
.post-hero{background:var(--night);color:var(--white);padding:56px 0 64px}
.post-hero h1{font-size:clamp(2rem,4.4vw,3.4rem);line-height:1.08;max-width:24ch}
.post-hero .tag{display:inline-block;font-size:.85rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--warm);margin:0 0 1rem}
.byline{display:flex;align-items:center;gap:.85rem;margin-top:1.75rem;font-size:.95rem;color:var(--muted-on-night)}
.byline img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.byline a{color:var(--white);font-weight:600;text-decoration:none}
.byline a:hover{text-decoration:underline}
.article-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:64px;padding:72px 0 96px;align-items:start}
@media (max-width:980px){.article-wrap{grid-template-columns:1fr;gap:40px;padding:48px 0 72px}}
.article{max-width:44rem;font-size:1.1rem;line-height:1.72}
.article h2{margin:2.75rem 0 .9rem;font-size:clamp(1.5rem,2.6vw,1.95rem);font-stretch:112%;font-weight:730;letter-spacing:-.015em;line-height:1.18}
.article h3{margin:2rem 0 .6rem;font-size:1.25rem;font-stretch:108%;font-weight:700;line-height:1.3}
.article p{margin:0 0 1.2rem}
.article ul,.article ol{margin:0 0 1.4rem;padding-left:1.3rem}
.article li{margin-bottom:.55rem}
.article a{color:var(--signal-deep);text-underline-offset:3px}
.article a:hover{text-decoration-thickness:2px}
.article strong{font-weight:650}
.tldr{background:var(--white);border:1px solid var(--rule);border-left:5px solid var(--signal);border-radius:var(--radius-sm);padding:22px 24px;margin:0 0 2.25rem}
.tldr h2{margin:0 0 .6rem;font-size:1.05rem;font-stretch:105%;letter-spacing:0;text-transform:uppercase;color:var(--signal-deep)}
.tldr ul{margin:0}
.tldr li:last-child{margin-bottom:0}
.callout{background:#FFF4F0;border:1px solid #FFD6CA;border-radius:var(--radius-sm);padding:18px 22px;margin:1.5rem 0 1.8rem;font-size:1.02rem}
.callout p:last-child{margin:0}
.table-scroll{overflow-x:auto;margin:0 0 1.6rem}
.article table{width:100%;border-collapse:collapse;background:var(--white);border:1px solid var(--rule);font-size:.97rem;line-height:1.45}
.article th,.article td{text-align:left;vertical-align:top;padding:12px 14px;border-bottom:1px solid var(--rule)}
.article thead th{background:var(--paper);font-weight:650}
.article tbody th{font-weight:600}
.article .faq details{border-bottom:1px solid var(--rule)}
.article .faq details:first-child{border-top:1px solid var(--rule)}
.article .faq summary{list-style:none;cursor:pointer;padding:18px 36px 18px 0;font-weight:650;font-size:1.08rem;position:relative;line-height:1.35}
.article .faq summary::-webkit-details-marker{display:none}
.article .faq summary::after{content:"";position:absolute;right:6px;top:50%;width:11px;height:11px;margin-top:-8px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg);transition:transform .2s}
.article .faq details[open] summary::after{transform:rotate(-135deg);margin-top:-2px}
.article .faq details p{margin:0 0 18px;color:var(--muted)}
.sources{font-size:.95rem;color:var(--muted)}
.sources li{margin-bottom:.4rem}
.updated{font-size:.92rem;color:var(--muted);border-top:1px solid var(--rule);padding-top:1.25rem;margin-top:2.5rem}

/* Sidebar */
.aside{position:sticky;top:24px;display:grid;gap:16px}
@media (max-width:980px){.aside{position:static}}
.aside-card{background:var(--white);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:22px}
.aside-card h2{margin:0 0 .5rem;font-size:1.1rem;font-stretch:108%;font-weight:700;line-height:1.25}
.aside-card p{margin:0 0 1rem;color:var(--muted);font-size:.95rem;line-height:1.5}
.aside-card ol{margin:0;padding-left:1.1rem;font-size:.93rem;line-height:1.45}
.aside-card ol li{margin-bottom:.4rem}
.aside-card ol a{color:var(--ink);text-decoration:none}
.aside-card ol a:hover{text-decoration:underline}
.aside-card.dark{background:var(--night);color:var(--white);border-color:var(--night)}
.aside-card.dark p{color:var(--muted-on-night)}
.aside-card .btn{width:100%}
