
/* Logic Bunting Blog — parent visual language, separate route. */
.blog-main{padding:68px 0 86px}
.blog-hero{max-width:860px;margin:0 auto 42px;text-align:center}
.blog-hero h1{font-size:58px;line-height:1.03;letter-spacing:-.05em;margin:13px 0 18px}
.blog-hero p{font-size:18px;line-height:1.7;color:var(--muted);margin:0 auto;max-width:720px}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.blog-card{display:flex;flex-direction:column;min-height:310px;padding:24px;background:rgba(255,255,255,.92);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.blog-card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(110deg,var(--cyan),var(--purple),var(--pink),var(--cyan));background-size:250% 100%;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.32;pointer-events:none}
html[data-effects="current"] .blog-card::before{animation:blogBorder 10s linear infinite}
html[data-effects="subtle"] .blog-card::before{animation:none;opacity:.18}
.blog-card .blog-meta{font-size:11px;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.blog-card h2{font-size:23px;line-height:1.18;letter-spacing:-.025em;margin:0 0 12px}
.blog-card p{color:var(--muted);font-size:14px;line-height:1.65;margin:0 0 22px}
.blog-card a{margin-top:auto;color:var(--purple);font-weight:850;text-decoration:none}
.blog-card a:hover{color:var(--cyan)}
.blog-topic{display:inline-flex;width:max-content;border:1px solid var(--border);border-radius:999px;padding:6px 9px;font-size:10px;font-weight:800;color:var(--purple);background:rgba(131,89,239,.06);margin-bottom:14px}
.blog-note{margin-top:32px;padding:17px 20px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.74);color:var(--muted);font-size:12px;line-height:1.6}
.article-shell{width:min(900px,calc(100% - 36px));margin:0 auto;padding:62px 0 90px}
.article-breadcrumbs{font-size:12px;color:var(--muted);margin-bottom:28px}
.article-breadcrumbs a{color:var(--purple);text-decoration:none}
.article-header{padding-bottom:26px;border-bottom:1px solid var(--border);margin-bottom:32px}
.article-header h1{font-size:52px;line-height:1.07;letter-spacing:-.045em;margin:12px 0 17px}
.article-deck{font-size:19px;line-height:1.65;color:var(--muted);margin:0}
.article-byline{display:flex;gap:12px;flex-wrap:wrap;margin-top:19px;color:var(--muted);font-size:12px}
.article-body{font-size:17px;line-height:1.8;color:var(--ink)}
.article-body h2{font-size:30px;letter-spacing:-.03em;margin:42px 0 13px}
.article-body h3{font-size:21px;margin:30px 0 10px}
.article-body p{margin:0 0 21px}
.article-body ul{margin:0 0 24px;padding-left:24px}
.article-body li{margin:8px 0}
.article-callout{margin:30px 0;padding:20px 22px;border:1px solid var(--border);border-radius:15px;background:linear-gradient(115deg,rgba(35,185,232,.06),rgba(131,89,239,.06),rgba(244,72,164,.045))}
.article-cta{margin-top:45px;padding:24px;border:1px solid var(--border);border-radius:17px;background:rgba(255,255,255,.86);box-shadow:var(--shadow)}
.article-cta h2{margin-top:0}
.article-cta .cta{margin-top:8px}
html[data-theme="dark"] .blog-card,html[data-theme="dark"] .blog-note,html[data-theme="dark"] .article-cta{background:rgba(13,19,40,.90)}
@keyframes blogBorder{to{background-position:250% 0}}
@media(max-width:980px){.blog-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.blog-main{padding-top:42px}.blog-hero h1{font-size:42px}.blog-grid{grid-template-columns:1fr}.article-header h1{font-size:39px}.article-body{font-size:16px}}
