/* Blog index and article layouts. Shared colours, typography, buttons and cards come from style.css. */
.blog-hero,.article-hero{position:relative;padding:calc(var(--header) + 5rem) 0 5.5rem;overflow:hidden;background:radial-gradient(circle at 80% 15%,rgba(11,61,145,.23),transparent 34%),radial-gradient(circle at 16% 55%,rgba(200,16,46,.18),transparent 34%),linear-gradient(145deg,#0a1931,#0b1e3a 52%,#0c1c34);isolation:isolate}
.blog-hero{min-height:35rem;display:flex;align-items:center}.blog-hero::before,.article-hero::before{position:absolute;inset:0;z-index:-2;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:4rem 4rem;mask-image:linear-gradient(to bottom,#000,transparent 96%);content:""}.blog-hero::after,.article-hero::after{position:absolute;z-index:-1;top:3rem;right:-8rem;width:28rem;height:28rem;border-radius:50%;background:rgba(200,16,46,.2);filter:blur(5rem);content:""}.blog-hero-content{max-width:54rem;margin-inline:auto;text-align:center}.blog-hero h1,.article-hero h1{margin-top:1.35rem;color:#fff;font-size:clamp(2.8rem,5vw,5rem);letter-spacing:-.06em}.blog-hero p{max-width:44rem;margin:1.4rem auto 0;color:rgba(255,255,255,.65);font-size:var(--lg)}
.blog-search{display:flex;max-width:44rem;margin:2rem auto 0;padding:.45rem;align-items:center;gap:.6rem;border:1px solid rgba(255,255,255,.14);border-radius:var(--pill);background:rgba(255,255,255,.08);box-shadow:0 22px 50px rgba(0,0,0,.2);backdrop-filter:blur(1rem)}.blog-search svg{width:1.2rem;height:1.2rem;margin-left:.9rem;flex:0 0 auto;color:rgba(255,255,255,.62)}.blog-search input{width:100%;min-width:0;padding:.75rem .2rem;border:0;outline:0;background:transparent;color:#fff}.blog-search input::placeholder{color:rgba(255,255,255,.48)}.blog-search .button{flex:0 0 auto}
.blog-category-strip{display:flex;max-width:54rem;margin:1.25rem auto 0;flex-wrap:wrap;justify-content:center;gap:.55rem}.category-chip{padding:.56rem .9rem;border:1px solid rgba(255,255,255,.12);border-radius:var(--pill);background:rgba(255,255,255,.055);color:rgba(255,255,255,.65);cursor:pointer;font-size:var(--xs);font-weight:750;transition:background .2s,border-color .2s,color .2s,transform .2s}.category-chip:hover,.category-chip.is-active{border-color:rgba(123,177,255,.42);background:rgba(11,61,145,.18);color:#fff;transform:translateY(-1px)}
.blog-featured-section{padding:var(--section) 0 0}.featured-post{display:grid;overflow:hidden;border:1px solid var(--border);border-radius:var(--r-xl);background:#fff;box-shadow:var(--shadow-md);grid-template-columns:minmax(0,1.08fr) minmax(24rem,.92fr)}.featured-post-media{display:block;min-height:31rem;overflow:hidden;background:var(--surface)}.featured-post-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--spring)}.featured-post:hover .featured-post-media img{transform:scale(1.025)}.featured-post-content{display:flex;padding:clamp(2rem,5vw,4.5rem);align-items:flex-start;flex-direction:column;justify-content:center}.featured-post-meta{display:flex;margin-top:1.45rem;flex-wrap:wrap;gap:.75rem;color:var(--muted);font-size:var(--xs)}.featured-post-meta>*+*::before{margin-right:.75rem;content:"•"}.featured-post-meta span:first-child{color:var(--primary);font-weight:750}.featured-post h2{margin-top:1.15rem;font-size:clamp(2rem,3vw,3.35rem)}.featured-post h2 a:hover{color:var(--primary)}.featured-post-content>p{margin-top:1rem;font-size:var(--base)}.featured-post-author{display:flex;margin:1.6rem 0;align-items:center;gap:.8rem}.featured-post-author>span{display:grid;width:2.8rem;height:2.8rem;place-items:center;border-radius:50%;background:linear-gradient(135deg,#dbe9ff,#ece3ff);color:var(--primary);font-size:.72rem;font-weight:850}.featured-post-author strong,.featured-post-author small{display:block}.featured-post-author strong{font-size:var(--sm)}.featured-post-author small{color:var(--muted);font-size:var(--xs)}
.blog-content-section{padding-top:clamp(4.5rem,8vw,7rem)}.blog-main-layout{display:grid;align-items:start;grid-template-columns:minmax(0,1fr) 20rem;gap:clamp(2.5rem,5vw,5rem)}.blog-results-header{display:flex;margin-bottom:2rem;align-items:end;justify-content:space-between;gap:1rem}.blog-results-header h2{font-size:clamp(2.2rem,4vw,3.5rem)}.blog-results-header p{font-size:var(--sm)}.blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.blog-grid .article-card{display:flex;min-width:0;flex-direction:column}.blog-grid .article-content{display:flex;height:100%;flex-direction:column}.blog-grid .article-content>p{margin-bottom:1.25rem}.article-card-footer{display:flex;margin-top:auto;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;color:var(--muted);font-size:var(--xs)}.blog-load-more{display:flex;justify-content:center;margin-top:2.5rem}.blog-empty{padding:3rem;border:1px dashed var(--border-strong);border-radius:var(--r-lg);background:var(--surface);text-align:center}.blog-empty h3{font-size:var(--2xl)}.blog-empty p{margin-top:.65rem}
.blog-sidebar{position:sticky;top:calc(var(--header) + 1.5rem);display:grid;gap:1.25rem}.sidebar-card{padding:1.5rem;border:1px solid var(--border);border-radius:var(--r-lg);background:#fff;box-shadow:var(--shadow-sm)}.sidebar-card h2{font-size:var(--xl)}.recent-posts{display:grid;margin-top:1.25rem;gap:1rem}.recent-posts li+li{padding-top:1rem;border-top:1px solid var(--border)}.recent-posts a{display:grid;align-items:center;grid-template-columns:4.5rem 1fr;gap:.8rem}.recent-posts img{width:4.5rem;height:3.1rem;border-radius:.7rem;object-fit:cover;background:var(--surface)}.recent-posts strong{display:-webkit-box;overflow:hidden;font-size:.82rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.recent-posts small{display:block;margin-top:.25rem;color:var(--muted);font-size:.68rem}.sidebar-categories{display:grid;margin-top:1rem}.sidebar-category{display:flex;width:100%;padding:.75rem 0;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:transparent;color:var(--soft);cursor:pointer;font-size:var(--sm);text-align:left;transition:color .2s,padding .2s}.sidebar-category:last-child{border-bottom:0}.sidebar-category:hover,.sidebar-category.is-active{padding-left:.35rem;color:var(--primary)}.sidebar-category small{display:grid;min-width:1.8rem;height:1.8rem;place-items:center;border-radius:50%;background:var(--surface);color:var(--muted);font-size:.68rem}.sidebar-note{background:radial-gradient(circle at 100% 0,rgba(11,61,145,.2),transparent 45%),#0a1931;color:#fff}.sidebar-note h2{color:#fff}.sidebar-note p{margin-top:.75rem;color:rgba(255,255,255,.56);font-size:var(--sm)}.sidebar-note .text-link{margin-top:1.15rem}
.newsletter-section{padding-top:0}.newsletter-banner{position:relative;display:grid;padding:clamp(2.2rem,5vw,4rem);overflow:hidden;align-items:center;border-radius:var(--r-xl);background:radial-gradient(circle at 80% 10%,rgba(11,61,145,.32),transparent 34%),radial-gradient(circle at 100% 100%,rgba(200,16,46,.28),transparent 38%),#0a1931;box-shadow:var(--shadow-lg);grid-template-columns:1fr minmax(22rem,.75fr);gap:3rem}.newsletter-banner h2{margin-top:.8rem;color:#fff;font-size:clamp(2.2rem,4vw,3.8rem)}.newsletter-banner p{max-width:38rem;margin-top:1rem;color:rgba(255,255,255,.6)}.newsletter-form{display:flex;padding:.45rem;border:1px solid rgba(255,255,255,.13);border-radius:var(--pill);background:rgba(255,255,255,.08);gap:.5rem}.newsletter-form input{width:100%;min-width:0;padding:.75rem 1rem;border:0;outline:0;background:transparent;color:#fff}.newsletter-form input::placeholder{color:rgba(255,255,255,.45)}.newsletter-status{min-height:1.4rem;margin-top:.65rem;color:rgba(255,255,255,.65);font-size:var(--xs)}

/* Article page */
.article-hero{padding-bottom:0}.article-hero .container{position:relative}.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;color:rgba(255,255,255,.5);font-size:var(--xs)}.breadcrumb a{transition:color .2s}.breadcrumb a:hover{color:#fff}.breadcrumb span[aria-hidden]{color:rgba(255,255,255,.25)}.article-hero-copy{max-width:58rem;padding-bottom:3rem}.article-category-label{margin-top:1.5rem}.article-hero h1{font-size:clamp(2.7rem,5vw,5.1rem)}.article-hero-lead{max-width:48rem;margin-top:1.25rem;color:rgba(255,255,255,.64);font-size:var(--lg)}.article-byline{display:flex;margin-top:1.7rem;flex-wrap:wrap;align-items:center;gap:.75rem;color:rgba(255,255,255,.55);font-size:var(--sm)}.article-byline>*+*::before{margin-right:.75rem;color:rgba(255,255,255,.25);content:"•"}.article-byline .author{color:#fff;font-weight:700}.article-hero-media{overflow:hidden;margin-bottom:-5rem;border:1px solid rgba(255,255,255,.16);border-radius:var(--r-xl);background:#fff;box-shadow:var(--shadow-lg)}.article-hero-media img{width:100%;aspect-ratio:16/8.4;object-fit:cover}
.article-page{padding-top:calc(var(--section) + 4rem)}.article-layout{display:grid;max-width:70rem;margin-inline:auto;align-items:start;grid-template-columns:15rem minmax(0,1fr);gap:clamp(2.5rem,6vw,6rem)}.article-toc{position:sticky;top:calc(var(--header) + 1.5rem)}.article-toc-card{padding:1.25rem;border:1px solid var(--border);border-radius:var(--r-lg);background:#fff;box-shadow:var(--shadow-sm)}.article-toc-card h2{font-size:var(--base);letter-spacing:-.02em}.article-toc-card ol{display:grid;margin-top:1rem;gap:.2rem}.article-toc-card li{list-style:none}.article-toc-card li.is-subsection a{padding-left:1.5rem;font-size:.78rem}.article-toc-card a{display:block;padding:.45rem .6rem;border-left:2px solid transparent;color:var(--muted);font-size:.82rem;line-height:1.4;transition:color .2s,border-color .2s,background .2s}.article-toc-card a:hover,.article-toc-card a.is-active{border-color:var(--primary);background:rgba(11,61,145,.055);color:var(--primary)}.article-share{display:grid;margin-top:1rem;gap:.5rem}.article-share button{padding:.65rem;border:1px solid var(--border);border-radius:var(--pill);background:var(--surface);cursor:pointer;color:var(--soft);font-size:var(--xs);font-weight:700;transition:border-color .2s,color .2s}.article-share button:hover{border-color:rgba(11,61,145,.35);color:var(--primary)}
.article-prose{min-width:0}.article-prose>.lead{color:var(--text);font-size:clamp(1.15rem,1.5vw,1.35rem);line-height:1.65}.article-prose h2{margin-top:3.5rem;scroll-margin-top:calc(var(--header) + 1.5rem);font-size:clamp(2rem,3.4vw,3rem)}.article-prose h3{margin-top:2.2rem;scroll-margin-top:calc(var(--header) + 1.5rem);font-size:clamp(1.35rem,2.4vw,1.8rem)}.article-prose p{margin-top:1.15rem}.article-prose ul,.article-prose ol{display:grid;margin-top:1.25rem;padding-left:1.3rem;gap:.65rem;color:var(--soft)}.article-prose ul{list-style:disc}.article-prose ol{list-style:decimal}.article-prose li::marker{color:var(--primary);font-weight:800}.article-prose a:not(.button){color:var(--primary);font-weight:650;text-decoration:underline;text-decoration-color:rgba(11,61,145,.3);text-underline-offset:.2em}.article-prose strong{color:var(--text)}.article-callout{margin-top:1.7rem;padding:1.4rem 1.5rem;border:1px solid rgba(11,61,145,.17);border-radius:var(--r-md);background:linear-gradient(135deg,rgba(11,61,145,.07),rgba(200,16,46,.055))}.article-callout strong{display:block}.article-callout p{margin-top:.35rem;font-size:var(--sm)}.article-steps{counter-reset:article-step;display:grid;margin-top:1.5rem;padding:0!important;gap:1rem!important;list-style:none!important}.article-steps li{position:relative;padding:1.25rem 1.25rem 1.25rem 4rem;border:1px solid var(--border);border-radius:var(--r-md);background:#fff;box-shadow:0 1px 2px rgba(17,24,39,.04);counter-increment:article-step}.article-steps li::before{position:absolute;top:1.15rem;left:1.15rem;display:grid;width:2rem;height:2rem;place-items:center;border-radius:.65rem;background:var(--gradient);color:#fff;content:counter(article-step);font-size:.75rem;font-weight:800}.comparison-table-wrap{margin-top:1.5rem;overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-md)}.comparison-table{width:100%;min-width:38rem;border-collapse:collapse;background:#fff}.comparison-table th,.comparison-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--border);font-size:var(--sm)}.comparison-table th{background:var(--surface);color:var(--text)}.comparison-table tr:last-child td{border-bottom:0}
.article-faq{margin-top:4rem;padding-top:3rem;border-top:1px solid var(--border)}.article-faq>h2{margin-top:0}.article-faq details{border-bottom:1px solid var(--border)}.article-faq summary{display:flex;padding:1.25rem 0;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;color:var(--text);font-weight:750;list-style:none}.article-faq summary::-webkit-details-marker{display:none}.article-faq summary::after{display:grid;width:1.7rem;height:1.7rem;flex:0 0 auto;place-items:center;border:1px solid var(--border-strong);border-radius:50%;content:"+";font-size:1rem;font-weight:500}.article-faq details[open] summary::after{content:"−"}.article-faq details p{padding:0 2.7rem 1.25rem 0;margin-top:0}
.article-author-box{display:flex;margin-top:3rem;padding:1.5rem;align-items:center;gap:1rem;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface)}.article-author-box>span{display:grid;width:3.5rem;height:3.5rem;flex:0 0 auto;place-items:center;border-radius:50%;background:var(--gradient);color:#fff;font-weight:850}.article-author-box h2{margin:0;font-size:var(--lg)}.article-author-box p{margin-top:.35rem;font-size:var(--sm)}.article-navigation{display:grid;max-width:70rem;margin:4rem auto 0;padding-top:2rem;border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.article-nav-link{display:flex;min-height:8.5rem;padding:1.4rem;border:1px solid var(--border);border-radius:var(--r-lg);background:#fff;box-shadow:0 1px 2px rgba(17,24,39,.04);flex-direction:column;justify-content:center;transition:transform .2s,box-shadow .2s,border-color .2s}.article-nav-link:hover{border-color:rgba(11,61,145,.22);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.article-nav-link small{color:var(--primary);font-size:var(--xs);font-weight:750}.article-nav-link strong{display:block;margin-top:.55rem;line-height:1.35}.article-nav-link--next{text-align:right}.article-related .article-grid{margin-top:2.5rem}

@media(max-width:1050px){.featured-post{grid-template-columns:1fr}.featured-post-media{min-height:25rem}.blog-main-layout{grid-template-columns:1fr}.blog-sidebar{position:static;grid-template-columns:repeat(3,1fr)}.newsletter-banner{grid-template-columns:1fr}.article-layout{grid-template-columns:1fr}.article-toc{position:static}.article-toc-card ol{grid-template-columns:repeat(2,minmax(0,1fr))}.article-share{display:none}}
@media(max-width:760px){.blog-hero,.article-hero{padding-top:calc(var(--header) + 3.5rem)}.blog-hero{min-height:32rem}.blog-search{align-items:stretch;border-radius:var(--r-lg);flex-wrap:wrap}.blog-search svg{align-self:center}.blog-search .button{width:100%}.featured-post{border-radius:var(--r-lg)}.featured-post-media{min-height:18rem}.featured-post-content{padding:1.6rem}.blog-grid{grid-template-columns:1fr}.blog-sidebar{grid-template-columns:1fr}.newsletter-banner{border-radius:var(--r-lg);gap:1.7rem}.newsletter-form{border-radius:var(--r-md);flex-direction:column}.newsletter-form .button{width:100%}.article-hero-copy{padding-bottom:2.5rem}.article-hero-media{margin-bottom:-2.5rem;border-radius:var(--r-lg)}.article-page{padding-top:calc(var(--section) + 1.5rem)}.article-toc-card ol{grid-template-columns:1fr}.article-prose h2{margin-top:2.8rem}.article-author-box{align-items:flex-start}.article-navigation{grid-template-columns:1fr}.article-nav-link--next{text-align:left}.article-related .article-grid{grid-template-columns:1fr}.article-related .article-card:last-child{display:block;grid-column:auto}.article-related .article-card:last-child .article-image img{height:auto}}
@media(max-width:480px){.blog-results-header{align-items:flex-start;flex-direction:column}.article-card-footer{align-items:flex-start;flex-direction:column}.article-byline{align-items:flex-start;flex-direction:column;gap:.35rem}.article-byline>*+*::before{display:none}.article-author-box{flex-direction:column}.comparison-table{min-width:34rem}}
