/* Article collection and reading surface: solid charcoal, defined borders, gold. */
.blog-shell{background:#222;color:#eee;padding-bottom:4rem}
.blog-shell .breadcrumbs{padding-top:1.5rem;margin-top:0;font-size:.875rem;flex-wrap:wrap;line-height:1.5}
.blog-shell .breadcrumbs [aria-current]{color:#bcbcbc}
.blog-kicker{color:var(--gold);font-size:.875rem;letter-spacing:.09em;font-weight:800;line-height:1.5;margin:0 0 1.1rem}
.blog-hero{padding-top:4.6rem;padding-bottom:3.8rem;border-bottom:1px solid #555}
.blog-hero h1{font-size:clamp(2.65rem,5.9vw,5.6rem);font-weight:900;line-height:1.02;letter-spacing:-.04em;margin:0 0 1.5rem;max-width:1050px}
.blog-hero h1 em{color:var(--gold);font-weight:900}
.blog-hero>p:last-child{font-size:1.125rem;line-height:1.7;color:#cdcdcd;max-width:800px;margin:0}
.blog-collection{padding-top:2.2rem}
.blog-section-line{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem}
.blog-section-line h2,.blog-section-line>span{font-size:.875rem;letter-spacing:.07em;font-weight:800;margin:0;line-height:1.5}
.blog-section-line>span{color:#bcbcbc;white-space:nowrap}
.blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.blog-card{min-width:0;background:#2d2d2d;border:1px solid #575757;border-radius:8px;overflow:hidden;display:flex;flex-direction:column}
.blog-card-featured{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.blog-card-image{background:#151515;overflow:hidden;aspect-ratio:16/10}
.blog-card-image img{height:100%;width:100%;object-fit:cover;object-position:center 48%}
.blog-card-featured .blog-card-image{aspect-ratio:auto;min-height:395px;border-right:1px solid #575757}
.blog-card-copy{padding:2rem;display:flex;flex-direction:column;min-width:0}
.blog-card-featured .blog-card-copy{padding:2.4rem}
.blog-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;font-size:.875rem;color:var(--gold);font-weight:700;margin-bottom:1.4rem}
.sample-badge{border:1px solid #666;padding:.25rem .5rem;color:#c9c9c9;font-size:.75rem;letter-spacing:.02em}
.blog-card h2{font-size:clamp(1.6rem,2.7vw,2.65rem);font-weight:900;line-height:1.13;letter-spacing:-.03em;margin:0 0 1.2rem}
.blog-card h2 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}
.blog-card-copy>p{font-size:1.0625rem;line-height:1.65;color:#ccc;margin-bottom:2rem}
.blog-card-bottom{margin-top:auto;padding-top:1.3rem;border-top:1px solid #555;display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;font-size:.875rem}
.blog-card-bottom>span{color:#bebebe}
.blog-read-link{font-weight:800;color:var(--gold);letter-spacing:.025em}
.blog-explore{border-top:1px solid #555;padding-top:2rem;margin-top:3rem}
.blog-explore>p{font-size:.875rem;font-weight:800;letter-spacing:.06em;color:#bdbdbd}
.blog-explore>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.blog-explore a{display:flex;justify-content:space-between;gap:1rem;padding:1.2rem;background:#303030;border:1px solid #555;border-radius:5px;font-weight:700;color:var(--gold)}
.article-page{padding-top:3rem}
.article-header{padding-bottom:2.6rem}
.article-header.has-cover{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:4rem;align-items:center}
.article-header h1{font-size:clamp(2.25rem,4.3vw,4.3rem);font-weight:900;line-height:1.06;letter-spacing:-.04em;margin:0 0 1.4rem;max-width:900px;text-wrap:balance}
.article-intro{font-size:1.125rem;line-height:1.75;color:#ccc;margin-bottom:1.5rem;max-width:850px}
.article-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.3rem;font-size:.875rem;line-height:1.6;color:#c5c5c5}
.article-meta a{color:var(--gold);text-decoration:underline;text-underline-offset:.18em}
.article-sample{color:#d0d0d0;border-left:3px solid var(--gold);padding:.6rem .9rem;background:#303030;font-size:.8125rem;line-height:1.5;margin:0 0 1.5rem}
.article-cover{margin:0;background:#141414;border:1px solid #5b5140;border-radius:6px;overflow:hidden}
.article-cover img{width:100%;height:auto}
.article-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center;padding:1.8rem 2rem;background:#303030;border:1px solid #726145;border-left:5px solid var(--gold);border-radius:6px;margin-bottom:3.3rem}
.article-cta .blog-kicker{font-size:.75rem;margin-bottom:.55rem}
.article-cta .cta-title{font-size:1.45rem;font-weight:900;line-height:1.13;letter-spacing:-.025em;color:#fff;margin:0 0 .7rem;max-width:650px}
.article-cta p:last-child{font-size:1rem;line-height:1.55;color:#ccc;margin:0;max-width:680px}
.cta-action{display:flex;flex-direction:column;align-items:center;gap:.7rem}
.article-cta .button{font-size:.875rem;min-height:56px;font-weight:900;gap:1rem;text-align:left}
.cta-action>span{font-size:.75rem;color:#c1c1c1;line-height:1.5;text-align:center}
.article-cta-bottom{margin:3.5rem 0 1.8rem;padding:2.8rem 2.5rem;background:#171717;border-top:3px solid var(--gold);border-left:1px solid #726145}
.article-cta-bottom .cta-title{font-size:clamp(1.8rem,2.8vw,2.6rem);max-width:640px}
.article-cta .cta-description p{font-size:1rem;line-height:1.65;color:#ccc;margin:0 0 .8rem;max-width:680px}
.article-cta .cta-description p:last-child{margin-bottom:0}
.article-layout{display:grid;grid-template-columns:240px minmax(0,780px);gap:4rem;justify-content:space-between;align-items:start}
.article-toc{position:sticky;top:1.5rem;border-top:3px solid var(--gold);padding-top:1.2rem;max-height:calc(100dvh - 3rem);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#776447 #292929}
.article-toc>p{font-size:.8125rem;font-weight:800;letter-spacing:.055em;color:#ddd;margin-bottom:.7rem}
.article-toc ol{list-style:none;padding:0;margin:0 0 1rem}
.article-toc li{border-bottom:1px solid #454545}
.article-toc li a{display:block;font-size:.9375rem;line-height:1.5;color:#c9c9c9;padding:.75rem 0}
.article-toc a:hover{color:var(--gold)}
.toc-back{display:block;color:var(--gold);font-size:.875rem;font-weight:700;padding-top:.5rem}
.article-reading{min-width:0;font-size:1.0625rem;line-height:1.85;color:#d7d7d7;overflow-wrap:break-word}
.article-reading h2{font-size:clamp(1.65rem,2.3vw,2.2rem);font-weight:800;line-height:1.2;letter-spacing:-.025em;color:#fff;margin:2.8rem 0 1.1rem}
.article-reading h3{font-size:1.25rem;font-weight:800;line-height:1.4;color:#eee;margin:1.8rem 0 .8rem;letter-spacing:-.015em}
.article-reading p{margin:0 0 1.35rem}
.article-reading strong{color:#f5f5f5}
.article-reading a{color:var(--gold);text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}
.article-reading a:hover{color:#fff}
.article-reading ul,.article-reading ol{padding-left:1.45rem;margin:1rem 0 1.5rem}
.article-reading li{padding-left:.2rem;margin:.65rem 0}
.article-reading li::marker{color:var(--gold)}
.article-summary{padding:1.7rem 2rem;background:#303030;border:1px solid #5a5a5a;border-top:3px solid var(--gold);border-radius:6px}
.article-summary h2{font-size:1.25rem;margin:0 0 .9rem}
.article-summary ul{margin:0;padding-left:1.25rem}
.article-summary li{margin:.7rem 0;font-size:1rem;line-height:1.7}
.article-summary li:last-child{margin-bottom:0}
.article-reading [id]{scroll-margin-top:2rem}
.article-table-scroll{overflow-x:auto;border:1px solid #575757;border-radius:5px;margin:1.5rem 0;overscroll-behavior-inline:contain}
.article-table-scroll:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.article-prose table{border-collapse:collapse;width:100%;font-size:1rem;line-height:1.6;text-align:left}
.article-table-scroll table{min-width:440px}
.article-diagram{margin:2rem 0}
.article-diagram>a{display:block;border:1px solid #575757;border-radius:5px;overflow:hidden}
.article-diagram img{display:block;width:100%;height:auto}
.article-diagram figcaption{margin-top:.6rem;font-size:.875rem;line-height:1.6}
.article-prose caption{padding:.9rem 1rem;font-size:.875rem;font-weight:700;color:#ddd;text-align:left;background:#292929;border-bottom:1px solid #555}
.article-prose th,.article-prose td{padding:1rem;border-bottom:1px solid #555;vertical-align:top}
.article-prose th{color:#fff;font-weight:700;background:#303030}
.article-prose thead th{color:var(--gold)}
.article-prose tbody th{width:25%}
.article-prose tr:last-child>*{border-bottom:0}
.article-prose blockquote{margin:2rem 0;padding:1.2rem 1.5rem;border-left:3px solid var(--gold);background:#303030}
.article-prose img{height:auto;border-radius:5px}
.article-prose figure{margin:2rem 0}
.article-prose figcaption{font-size:.875rem;color:#c0c0c0}
.article-sources{border-top:1px solid #555;margin-top:2.8rem}
.article-sources h2{font-size:1.5rem;margin-top:1.5rem}
.article-sources ul{font-size:.9375rem;line-height:1.6}
.article-author{border:1px solid #555;background:#2d2d2d;border-radius:5px;padding:1.4rem 1.6rem;margin-top:2rem}
.article-author p:first-child{font-size:.8125rem;font-weight:800;letter-spacing:.02em;margin:0 0 .6rem}
.article-author p:last-child{font-size:.9375rem;line-height:1.65;margin:0}
.article-related{margin-top:2.5rem;border-top:1px solid #555}
.article-related h2{font-size:1.5rem;margin-top:1.5rem}
.article-back{font-size:1rem;color:var(--gold);font-weight:700;display:inline-block;padding:.5rem 0}
@media(max-width:1000px){.article-header.has-cover{grid-template-columns:minmax(0,1fr) 200px;gap:2rem}.article-layout{grid-template-columns:200px minmax(0,1fr);gap:2rem}.article-cta{grid-template-columns:1fr;gap:1.2rem}.cta-action{align-items:flex-start}.blog-card-featured .blog-card-copy{padding:1.8rem}}
@media(max-width:760px){.blog-hero{padding-top:3rem;padding-bottom:2.6rem}.blog-hero h1{font-size:clamp(2.25rem,7.8vw,4rem)}.blog-hero>p:last-child{font-size:1rem}.blog-grid{grid-template-columns:1fr}.blog-card-featured{display:flex}.blog-card-featured .blog-card-image{min-height:0;aspect-ratio:16/10;border-right:0;border-bottom:1px solid #555}.blog-card-copy,.blog-card-featured .blog-card-copy{padding:1.5rem}.blog-card h2{font-size:1.8rem}.blog-explore>div{grid-template-columns:1fr}.article-page{padding-top:2rem}.article-header.has-cover{display:flex;flex-direction:column;gap:1.5rem;align-items:stretch}.article-cover{max-height:220px}.article-cover img{height:220px;width:100%;object-fit:cover;object-position:center 45%}.article-header h1{font-size:clamp(2.15rem,7.3vw,3.6rem)}.article-intro{font-size:1.0625rem}.article-layout{display:block}.article-toc{position:static;background:#2b2b2b;border:1px solid #555;border-top:3px solid var(--gold);padding:1.3rem 1.5rem;margin-bottom:2rem;border-radius:5px}.article-toc li a{padding:.65rem 0}.article-reading{font-size:1rem;line-height:1.85}.article-reading h2{font-size:1.7rem}.article-summary{padding:1.3rem 1.4rem}.article-summary h2{font-size:1.2rem}.article-cta{padding:1.5rem;gap:1.3rem;margin-bottom:2rem}.article-cta .cta-title{font-size:1.4rem}.article-cta .button{width:100%;font-size:.8125rem;min-height:56px}.cta-action{align-items:stretch}.article-cta-bottom{margin-top:2.6rem}.article-cta-bottom .cta-title{font-size:1.8rem}.article-prose th,.article-prose td{padding:.75rem}.article-prose tbody th{width:29%}.article-sources h2{font-size:1.4rem}.article-author{padding:1.25rem}.article-meta{gap:.45rem .9rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.blog-shell *{transition:none}}
