/* Editorial surfaces share the site's blue identity and theme controller. */
.editorial-page { --ed-bg:#f0f4ff; --ed-card:#fff; --ed-soft:#eaf2fc; --ed-text:#172b46; --ed-muted:#4e627c; --ed-border:#d6e1ef; --ed-link:#075985; background:var(--ed-bg); color:var(--ed-text); }
html[data-theme="dark"] .editorial-page { --ed-bg:#060c1a; --ed-card:#111e32; --ed-soft:#172b46; --ed-text:#f5f9ff; --ed-muted:#a9bed8; --ed-border:#2c4360; --ed-link:#7dd3fc; }
.editorial-page a { text-decoration:none; color:inherit; }
.editorial-page :is(button,input,select) { font:inherit; }
.blog-page-wrap,.article-wrap { max-width:1240px; margin:auto; padding:24px 24px 0; }
.blog-top,.article-nav { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:0 0 22px; border-bottom:1px solid var(--ed-border); margin-bottom:28px; }
.blog-brand,.article-brand { display:flex; align-items:center; gap:12px; font-weight:800; min-width:0; }
.blog-brand img,.article-brand img { width:52px; height:52px; object-fit:contain; flex-shrink:0; }
.blog-brand small { display:block; color:var(--ed-muted); font-size:12px; font-weight:400; margin-top:3px; }
.blog-actions,.article-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.blog-actions a,.article-actions a,.public-theme-switch { min-height:44px; border:1px solid var(--ed-border); border-radius:12px; padding:9px 14px; background:var(--ed-card); cursor:pointer; color:var(--ed-text); display:inline-flex; gap:8px; align-items:center; justify-content:center; }
.blog-actions a:hover,.article-actions a:hover { border-color:var(--ed-link); color:var(--ed-link); }
.blog-hero { display:grid; grid-template-columns:1.2fr .8fr; gap:30px; align-items:center; padding:48px; border-radius:26px; background:linear-gradient(125deg,#06172c,#102c4b); color:#f5f9ff; border:1px solid #2c5678; margin-bottom:44px; overflow:hidden; }
.blog-hero img { width:100%; height:280px; object-fit:contain; }
.editorial-eyebrow { display:block; color:var(--ed-link); font-size:13px; font-weight:700; margin-bottom:8px; }
.blog-hero .editorial-eyebrow { color:#7dd3fc; }
.blog-hero h1 { font-size:clamp(30px,4.3vw,50px); line-height:1.65; margin:0 0 14px; letter-spacing:-.7px; }
.blog-hero p { color:#c6d8ec; max-width:490px; line-height:2; margin-bottom:24px; }
.editorial-cta { display:inline-flex; gap:10px; align-items:center; justify-content:center; border:0; border-radius:12px; min-height:46px; padding:11px 20px; background:#075985; color:#fff !important; font-weight:700; cursor:pointer; }
.editorial-cta:hover { background:#0369a1; }
.blog-hero .editorial-cta { background:#38bdf8; color:#071b30 !important; }
.blog-section-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:20px; }
.blog-section-heading h2 { font-size:26px; margin:0; }
.editorial-muted { color:var(--ed-muted); }
.blog-search { display:flex; align-items:end; flex-wrap:wrap; gap:16px; padding:22px; border:1px solid var(--ed-border); background:var(--ed-card); border-radius:18px; margin-bottom:24px; }
.blog-search label { display:flex; flex-direction:column; gap:8px; font-size:13px; font-weight:700; min-width:0; }
.blog-search label:first-child { flex:1; min-width:180px; }
.blog-search label:nth-child(2) { min-width:200px; }
.blog-search input,.blog-search select { width:100%; min-height:46px; padding:10px 12px; color:var(--ed-text); border:1px solid var(--ed-border); border-radius:10px; background:var(--ed-bg); }
.blog-search input::placeholder { color:var(--ed-muted); }
.clear-search { font-size:13px; color:var(--ed-link) !important; padding:10px 0; }
.blog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.blog-card { display:flex; flex-direction:column; min-width:0; background:var(--ed-card); border:1px solid var(--ed-border); border-radius:20px; overflow:hidden; transition:transform .2s,border-color .2s,box-shadow .2s; }
.blog-card:hover { transform:translateY(-4px); border-color:var(--ed-link); box-shadow:0 14px 34px #006cf415; }
.blog-thumb { display:block; background:var(--ed-soft); aspect-ratio:8/5; overflow:hidden; }
.blog-thumb img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.blog-card:hover .blog-thumb img { transform:scale(1.035); }
.blog-body { padding:22px; display:flex; flex-direction:column; flex:1; }
.blog-meta { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; font-size:12px; color:var(--ed-muted); margin-bottom:14px; }
.category-pill { padding:4px 10px; border-radius:30px; color:var(--ed-link); background:var(--ed-soft); }
.blog-body h3 { font-size:18px; line-height:1.9; margin:0 0 10px; overflow-wrap:anywhere; }
.blog-body h3 a:hover { color:var(--ed-link); }
.blog-body p { color:var(--ed-muted); font-size:14px; line-height:2; margin:0 0 20px; overflow-wrap:anywhere; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.blog-card-footer { margin-top:auto; padding-top:16px; border-top:1px solid var(--ed-border); display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; font-size:12px; color:var(--ed-muted); }
.blog-card-footer a { color:var(--ed-link); font-weight:700; }
.empty-blog,.not-found { padding:60px 24px; text-align:center; background:var(--ed-card); border:1px solid var(--ed-border); border-radius:20px; }
.empty-blog>i,.not-found>i { font-size:42px; color:var(--ed-link); margin-bottom:20px; }
.empty-blog p,.not-found p { color:var(--ed-muted); margin-top:12px; }
.blog-pagination { display:flex; align-items:center; justify-content:center; gap:20px; padding:32px 0; flex-wrap:wrap; }
.blog-pagination a { border:1px solid var(--ed-border); background:var(--ed-card); padding:10px 16px; border-radius:10px; color:var(--ed-link); }
.editorial-support { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; padding:28px; margin:44px 0; border-radius:20px; border:1px solid var(--ed-border); background:var(--ed-soft); }
.editorial-support h2 { font-size:21px; margin-bottom:8px; }
.editorial-support p { color:var(--ed-muted); line-height:2; }
.editorial-footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:24px 0; border-top:1px solid var(--ed-border); color:var(--ed-muted); font-size:13px; }
.article-wrap { max-width:1180px; }
.article-breadcrumb { display:flex; gap:10px; flex-wrap:wrap; color:var(--ed-muted); font-size:13px; margin-bottom:24px; }
.article-layout { display:grid; grid-template-columns:minmax(0,1fr) 245px; gap:28px; align-items:start; }
.article-box { background:var(--ed-card); border:1px solid var(--ed-border); border-radius:22px; overflow:hidden; min-width:0; }
.article-hero-img { aspect-ratio:16/9; background:var(--ed-soft); }
.article-hero-img img { width:100%; height:100%; object-fit:cover; display:block; }
.article-content { padding:clamp(20px,4vw,40px); }
.article-content h1 { font-size:clamp(25px,3.5vw,36px); line-height:1.8; margin:12px 0 18px; overflow-wrap:anywhere; }
.article-lead { color:var(--ed-muted); font-size:17px; line-height:2.1; margin-bottom:22px; }
.article-meta { display:flex; gap:16px; flex-wrap:wrap; color:var(--ed-muted); font-size:12px; padding-bottom:24px; margin-bottom:28px; border-bottom:1px solid var(--ed-border); }
.article-body { font-size:16px; line-height:2.25; overflow-wrap:anywhere; }
.article-body :is(h2,h3,h4) { line-height:1.9; margin:30px 0 14px; color:var(--ed-text); scroll-margin-top:30px; }
.article-body h2 { font-size:24px; }.article-body h3 { font-size:20px; }
.article-body p { margin-bottom:20px; }.article-body :is(ul,ol) { padding-inline-start:26px; margin-bottom:24px; }
.article-body li { margin-bottom:8px; }.article-body a { color:var(--ed-link); text-decoration:underline; }
.article-body img { max-width:100%; height:auto; border-radius:14px; margin:12px 0; }
.article-body blockquote { padding:18px 22px; margin:24px 0; border-inline-start:4px solid var(--ed-link); background:var(--ed-soft); border-radius:12px; }
.article-body :is(pre,table) { max-width:100%; overflow-x:auto; display:block; }.article-body pre { direction:ltr; text-align:left; padding:18px; border-radius:12px; background:var(--ed-soft); }
.article-body th,.article-body td { border:1px solid var(--ed-border); padding:10px 14px; }.article-body hr { margin:28px 0; border:0; border-top:1px solid var(--ed-border); }
.article-sidebar { position:sticky; top:24px; background:var(--ed-card); border:1px solid var(--ed-border); padding:22px; border-radius:18px; }
.article-sidebar h2 { font-size:16px; margin-bottom:16px; }.article-sidebar ol { padding-inline-start:20px; font-size:13px; line-height:2; }.article-sidebar li { margin-bottom:10px; }.article-sidebar a:hover { color:var(--ed-link); }
.article-tools { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-top:30px; padding-top:22px; border-top:1px solid var(--ed-border); }.article-tools button { min-height:44px; padding:10px 16px; border:1px solid var(--ed-border); border-radius:10px; background:var(--ed-soft); color:var(--ed-text); cursor:pointer; }.article-tools span { font-size:13px; color:var(--ed-muted); }
.video-box { aspect-ratio:16/9; background:#000; border-radius:14px; overflow:hidden; margin:20px 0; }.video-box iframe,.video-box video { width:100%; height:100%; border:0; }
.reading-progress { position:fixed; inset:0 0 auto auto; height:3px; width:0; background:#0ea5e9; z-index:10000; }
.related-articles { margin:44px 0; }.related-articles h2 { margin-bottom:20px; font-size:24px; }
@media(max-width:960px) { .blog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.article-layout { grid-template-columns:minmax(0,1fr); }.article-sidebar { position:static; order:-1; }.article-sidebar ol { columns:2; }.blog-hero { padding:32px; gap:20px; }.blog-hero img { height:240px; } }
@media(max-width:600px) { .blog-page-wrap,.article-wrap { padding:16px 16px 0; }.blog-top,.article-nav { align-items:flex-start; flex-direction:column; gap:16px; }.blog-actions,.article-actions { width:100%; }.blog-actions a,.article-actions a,.public-theme-switch { padding:8px 12px; font-size:13px; }.public-theme-switch { margin-inline-start:auto; }.blog-hero { grid-template-columns:1fr; padding:28px 24px; margin-bottom:32px; }.blog-hero img { display:none; }.blog-hero h1 { font-size:32px; }.blog-grid { grid-template-columns:minmax(0,1fr); gap:20px; }.blog-search { padding:18px; gap:14px; }.blog-search label:first-child,.blog-search label:nth-child(2) { flex:1 1 100%; min-width:0; }.blog-search .editorial-cta { width:100%; }.blog-body { padding:20px; }.blog-section-heading h2 { font-size:23px; }.editorial-support { padding:22px; }.article-content { padding:22px; }.article-body { font-size:15px; }.article-meta { gap:12px; }.article-sidebar ol { columns:1; }.article-content h1 { font-size:26px; } }
@media(prefers-reduced-motion:reduce) { .blog-card,.blog-thumb img { transition:none; }.blog-card:hover,.blog-card:hover .blog-thumb img { transform:none; } }

.article-layout:has(> .article-sidebar[hidden]) { grid-template-columns:minmax(0,1fr); }
