/* Blog styles — built on the site's own theme tokens (--line, --radius-card, --shadow-soft, --font-display) */
html, body {
  overflow-x: clip;
}

.pt-16{padding-top:4rem}.pb-10{padding-bottom:2.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.pb-8{padding-bottom:2rem}

.blog-hero{background:radial-gradient(60% 70% at 85% 30%,rgba(139,92,246,.10),transparent 70%),linear-gradient(180deg,#fbfcf8 0%,#fff 100%);overflow-x:hidden}
.blog-h1{margin-bottom:1.75rem;font-size:3rem;line-height:1.02;font-weight:900;color:var(--color-slate-950);letter-spacing:-.02em;max-width:56rem;overflow-wrap:break-word}
.blog-h1-post{font-size:2.5rem;line-height:1.06}
@media (min-width:768px){.blog-h1{font-size:4.5rem}.blog-h1-post{font-size:3.5rem}}

.blog-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1.25rem;font-size:.75rem;font-weight:700;color:var(--color-slate-500);letter-spacing:.04em}
.blog-meta-lg{margin-top:0;font-size:.8125rem}
.blog-meta svg{flex-shrink:0}
.blog-dot{width:4px;height:4px;border-radius:999px;background:var(--color-slate-300,#cbd5e1);margin:0 .25rem}

.blog-cover{overflow:hidden;border-radius:var(--radius-card);border:1px solid var(--line);box-shadow:0 25px 50px -12px rgba(15,23,42,.12);background:linear-gradient(135deg,#eef2ff,#f8fafc)}
.blog-cover img{display:block;width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover}

/* Featured + cards */
.blog-featured{overflow:hidden;margin-bottom:3.5rem}
.blog-featured-link{display:grid;color:inherit;text-decoration:none}
@media (min-width:1024px){.blog-featured-link{grid-template-columns:1.1fr .9fr}}
.blog-featured-media{overflow:hidden;background:linear-gradient(135deg,#eef2ff,#f8fafc);min-height:260px}
.blog-featured-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.blog-featured:hover .blog-featured-media img{transform:scale(1.03)}
.blog-featured-body{padding:2rem;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
@media (min-width:768px){.blog-featured-body{padding:3rem}}
.blog-featured-title{font-size:1.875rem;line-height:1.1;font-weight:900;color:var(--color-slate-950);margin:0 0 1rem;letter-spacing:-.01em;overflow-wrap:break-word}
@media (min-width:768px){.blog-featured-title{font-size:2.5rem}}
.blog-featured-cta{margin-top:2rem;padding:.875rem 1.75rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}

.blog-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}
.blog-chip{cursor:pointer;border:1px solid var(--line);background:#ffffffb8;border-radius:999px;padding:.5rem 1rem;font-size:.6875rem;font-weight:900;text-transform:uppercase;letter-spacing:.14em;color:var(--color-slate-600);transition:all .25s}
.blog-chip:hover{color:var(--color-indigo-600);border-color:color-mix(in oklab,var(--color-indigo-600) 35%,transparent)}
.blog-chip.is-active{background:var(--color-slate-950);color:#fff;border-color:var(--color-slate-950)}

.blog-grid{display:grid;gap:1.5rem}
@media (min-width:768px){.blog-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.blog-grid{grid-template-columns:repeat(3,1fr)}}
.blog-card{overflow:hidden;display:flex}
.blog-card:hover{transform:translateY(-4px);box-shadow:0 25px 50px -12px rgba(79,70,229,.18)}
.blog-card[hidden]{display:none}
.blog-card-link{display:flex;flex-direction:column;color:inherit;text-decoration:none;width:100%}
.blog-card-media{aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,#eef2ff,#f8fafc)}
.blog-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.blog-card:hover .blog-card-media img{transform:scale(1.04)}
.blog-card-body{padding:1.75rem;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.blog-card-title{margin:1rem 0 .75rem;font-size:1.25rem;line-height:1.25;font-weight:900;color:var(--color-slate-950);overflow-wrap:break-word}
.blog-card:hover .blog-card-title{color:var(--color-indigo-600)}
.blog-card-excerpt{font-size:.875rem;line-height:1.65;font-weight:500;color:var(--color-slate-600);margin:0}
.blog-readmore{margin-top:auto;padding-top:1.25rem;display:inline-flex;align-items:center;gap:.5rem;font-size:.6875rem;font-weight:900;text-transform:uppercase;letter-spacing:.16em;color:var(--color-indigo-600)}
.blog-card:hover .blog-readmore svg{transform:translateX(3px)}
.blog-readmore svg{transition:transform .25s}

/* Article */
.blog-layout{display:grid;gap:3rem;min-width:0;max-width:100%;width:100%}
@media (min-width:1024px){.blog-layout{grid-template-columns:minmax(0,1fr) 320px;gap:4rem}}
.blog-aside{display:flex;flex-direction:column;gap:1.25rem;min-width:0;max-width:100%}
@media (min-width:1024px){.blog-aside{position:sticky;top:7rem;align-self:start}}
.blog-aside-card{padding:1.75rem}
.blog-aside .btn-outline{display:inline-flex;padding-inline:1.25rem}
.blog-toc{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.625rem;counter-reset:toc}
.blog-toc li{counter-increment:toc;display:flex;gap:.625rem;font-size:.8125rem;line-height:1.45;font-weight:600}
.blog-toc li::before{content:counter(toc,decimal-leading-zero);font-family:var(--font-display);font-weight:700;color:var(--color-indigo-600);font-size:.75rem;padding-top:.0625rem}
.blog-toc a{color:var(--color-slate-600);text-decoration:none;transition:color .2s}
.blog-toc a:hover{color:var(--color-indigo-600)}

.blog-prose{min-width:0;width:100%;max-width:46rem;font-size:1.0625rem;line-height:1.8;color:var(--color-slate-700);font-weight:450;overflow-wrap:break-word;word-wrap:break-word}
.blog-prose>*:first-child{margin-top:0}
.blog-prose p{margin:0 0 1.35rem;overflow-wrap:break-word;word-wrap:break-word}
.blog-prose h2{scroll-margin-top:7rem;margin:3rem 0 1rem;font-size:1.75rem;line-height:1.15;font-weight:900;color:var(--color-slate-950);letter-spacing:-.01em;overflow-wrap:break-word;word-wrap:break-word}
@media (min-width:768px){.blog-prose h2{font-size:2.125rem}}
.blog-prose h3{margin:2rem 0 .625rem;font-size:1.1875rem;line-height:1.35;font-weight:800;color:var(--color-slate-900);overflow-wrap:break-word;word-wrap:break-word}
.blog-prose a{color:var(--color-indigo-600);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.blog-prose strong{color:var(--color-slate-900);font-weight:700}
.blog-prose ul,.blog-prose ol{margin:0 0 1.5rem;padding-left:1.25rem}
.blog-prose ul{list-style:none;padding-left:0}
.blog-prose ul li{position:relative;padding-left:1.5rem;margin-bottom:.625rem;overflow-wrap:break-word;word-wrap:break-word}
.blog-prose ul li::before{content:"";position:absolute;left:.125rem;top:.7em;width:.5rem;height:.5rem;border-radius:999px;background:linear-gradient(135deg,#4f46e5,#0891b2)}
.blog-prose ol{list-style:decimal}
.blog-prose ol li{margin-bottom:.625rem;padding-left:.25rem;overflow-wrap:break-word;word-wrap:break-word}
.blog-prose ol li::marker{font-weight:800;color:var(--color-indigo-600)}
.blog-prose code{font-family:var(--font-mono,ui-monospace,monospace);font-size:.875em;background:var(--color-slate-100);padding:.125rem .375rem;border-radius:.375rem;overflow-wrap:break-word}
.blog-table{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;width:100%;margin:1.75rem 0 2rem;border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-soft);background:#fff}
.blog-table table{width:100%;border-collapse:collapse;font-size:.9rem;line-height:1.55;min-width:520px}
.blog-table th{background:var(--color-slate-50);text-align:left;font-size:.6875rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:var(--color-slate-600);padding:.875rem 1.125rem;border-bottom:1px solid var(--line)}
.blog-table td{padding:.875rem 1.125rem;border-bottom:1px solid var(--line);vertical-align:top;color:var(--color-slate-700)}
.blog-table tr:last-child td{border-bottom:0}

.blog-cta{display:grid;gap:2rem;padding:2rem;align-items:center}
@media (min-width:768px){.blog-cta{padding:3rem;grid-template-columns:1.3fr 1fr}}
.blog-cta-title{margin:0 0 .75rem;font-size:2rem;line-height:1.1;font-weight:900;color:var(--color-slate-950);overflow-wrap:break-word}
@media (min-width:768px){.blog-cta-title{font-size:2.5rem}}
.blog-cta-actions{display:flex;flex-direction:column;gap:.75rem}
.blog-section-title{margin:0 0 2.5rem;font-size:2.25rem;line-height:1.1;font-weight:900;color:var(--color-slate-950);overflow-wrap:break-word}
@media (min-width:768px){.blog-section-title{font-size:3rem}}
.eyebrow+.blog-section-title,.eyebrow+.blog-cta-title{margin-top:1.25rem}

#site-header.is-scrolled{padding-top:.5rem;padding-bottom:.5rem}
#svc-panel{max-width:min(520px,calc(100vw - 2rem))}
#svc-panel[hidden],#mobile-menu[hidden],#legal-modal[hidden]{display:none}
