/* =========================================================
   Zartom Blog Layout v2 - Consolidated Layout Engine
   Root-folder CSS. No theme dependency.
   ========================================================= */
.zbl2-section,.zbl2-section *{box-sizing:border-box}.zbl2-section{--zbl2-navy:#0A2540;--zbl2-ink:#102033;--zbl2-muted:#5b6b7c;--zbl2-accent:#003399;--zbl2-accent-2:#009879;--zbl2-accent-3:#0E5D8A;--zbl2-border:#E3EEF9;--zbl2-section-bg:radial-gradient(circle at 12% 8%,rgba(0,152,121,.10),transparent 30%),linear-gradient(180deg,#fff 0%,#F6FAFF 100%);--zbl2-card-bg:linear-gradient(180deg,#fff 0%,#F6FAFF 100%);--zbl2-dark-bg:linear-gradient(135deg,#071B31 0%,#0A2540 55%,#0E5D8A 100%);--zbl2-title-color:var(--zbl2-navy);--zbl2-text-color:var(--zbl2-ink);--zbl2-muted-color:var(--zbl2-muted);--zbl2-radius:22px;--zbl2-shadow:0 16px 38px rgba(10,37,64,.09);--zbl2-title-size-d:21px;--zbl2-title-size-t:19px;--zbl2-title-size-m:17px;--zbl2-excerpt-size-d:14px;--zbl2-excerpt-size-t:13.5px;--zbl2-excerpt-size-m:13px;--zbl2-meta-size-d:10px;--zbl2-meta-size-t:9.8px;--zbl2-meta-size-m:9.5px;width:100%;padding:var(--zbl2-section-padding-d,54px 18px);background:var(--zbl2-section-bg);font-family:var(--zbl-font-body,Inter,system-ui,sans-serif);position:relative;overflow:hidden;color:var(--zbl2-text-color)}.zbl2-inner{width:100%;max-width:1320px;margin:0 auto;position:relative;z-index:1}.zbl2-section:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(10,37,64,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(10,37,64,.028) 1px,transparent 1px);background-size:44px 44px;opacity:.25;pointer-events:none}.zbl2-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 26px;padding-bottom:18px;border-bottom:1px solid var(--zbl2-border)}.zbl2-head-main{max-width:850px}.zbl2-eyebrow{display:inline-flex;margin-bottom:10px;color:var(--zbl2-accent-2);font-family:var(--zbl-font-meta,"JetBrains Mono",monospace);font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.zbl2-head h2{margin:0;color:var(--zbl2-title-color);font-family:var(--zbl-font-heading,Sora,Inter,system-ui,sans-serif);font-size:var(--zbl2-section-title-size-d,clamp(28px,2.8vw,44px));line-height:1.06;font-weight:var(--zbl2-section-title-weight,800);letter-spacing:-.045em}.zbl2-desc{max-width:780px;margin:12px 0 0;color:var(--zbl2-muted-color);font-size:15px;line-height:1.65}.zbl2-view-all{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 16px;border-radius:999px;background:var(--zbl2-navy);border:1px solid var(--zbl2-navy);color:#fff!important;text-decoration:none!important;font-size:12px;font-weight:800;letter-spacing:.02em}.zbl2-view-all:hover{background:var(--zbl2-accent);border-color:var(--zbl2-accent)}
/* Themes */
.zbl2-theme-tech-premium{--zbl2-navy:#0A2540;--zbl2-ink:#102033;--zbl2-accent:#003399;--zbl2-accent-2:#009879;--zbl2-accent-3:#0E5D8A;--zbl2-section-bg:radial-gradient(circle at 8% 8%,rgba(0,152,121,.14),transparent 30%),radial-gradient(circle at 92% 10%,rgba(0,51,153,.12),transparent 32%),linear-gradient(135deg,#F2FBFA 0%,#F6FAFF 55%,#fff 100%);--zbl2-card-bg:linear-gradient(180deg,#fff 0%,#F6FAFF 100%)}.zbl2-theme-tech-dark{--zbl2-navy:#fff;--zbl2-ink:#D7E4F0;--zbl2-muted:#9DB6CE;--zbl2-accent:#18A0A7;--zbl2-accent-2:#7DD3FC;--zbl2-border:rgba(255,255,255,.14);--zbl2-title-color:#fff;--zbl2-text-color:#D7E4F0;--zbl2-muted-color:#9DB6CE;--zbl2-section-bg:radial-gradient(circle at 12% 0%,rgba(0,152,121,.25),transparent 32%),linear-gradient(135deg,#071B31 0%,#102A47 100%);--zbl2-card-bg:rgba(255,255,255,.08)}.zbl2-theme-tech-light{--zbl2-section-bg:linear-gradient(180deg,#fff 0%,#F6FAFF 100%);--zbl2-card-bg:#fff}.zbl2-theme-science{--zbl2-accent:#2563EB;--zbl2-accent-2:#0891B2;--zbl2-accent-3:#F59E0B;--zbl2-section-bg:radial-gradient(circle at top left,rgba(37,99,235,.10),transparent 33%),linear-gradient(180deg,#fff 0%,#F0F9FF 100%);--zbl2-card-bg:linear-gradient(180deg,#fff 0%,#F0F9FF 100%)}.zbl2-theme-market{--zbl2-accent:#D99A00;--zbl2-accent-2:#0F766E;--zbl2-section-bg:radial-gradient(circle at 10% 10%,rgba(217,154,0,.16),transparent 32%),linear-gradient(180deg,#FFF9E8 0%,#fff 100%);--zbl2-card-bg:linear-gradient(180deg,#fff 0%,#FFF7E2 100%)}.zbl2-theme-editorial{--zbl2-accent:#7B1E3A;--zbl2-accent-2:#D4A017;--zbl2-section-bg:linear-gradient(180deg,#fff 0%,#FFF8E7 100%);--zbl2-card-bg:#fff}.zbl2-theme-paper{--zbl2-section-bg:#FBF7EF;--zbl2-card-bg:#fffaf0}.zbl2-theme-cyber{--zbl2-accent:#00E5A8;--zbl2-accent-2:#38BDF8;--zbl2-section-bg:radial-gradient(circle at 0 0,rgba(0,229,168,.18),transparent 34%),linear-gradient(135deg,#06131D 0%,#0B1E35 100%);--zbl2-card-bg:rgba(255,255,255,.08);--zbl2-title-color:#fff;--zbl2-text-color:#D7E4F0;--zbl2-muted-color:#9DB6CE;--zbl2-border:rgba(255,255,255,.14)}
/* Cards */
.zbl2-grid{display:grid;grid-template-columns:repeat(var(--zbl2-cols-d),minmax(0,1fr));gap:20px}.zbl2-card{position:relative;overflow:hidden;border-radius:var(--zbl2-radius);background:var(--zbl2-card-bg);border:1px solid var(--zbl2-border);box-shadow:var(--zbl2-shadow);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.zbl2-card:hover{transform:translateY(-3px);box-shadow:0 22px 48px rgba(10,37,64,.14)}.zbl2-card:after{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--zbl2-accent),var(--zbl2-accent-2),var(--zbl2-accent-3));z-index:2}.zbl2-image-link{display:block;overflow:hidden;background:#EAF2FA;text-decoration:none!important}.zbl2-img{width:100%;aspect-ratio:16/9;display:block;object-fit:cover;transition:transform .35s ease}.zbl2-card:hover .zbl2-img{transform:scale(1.035)}.zbl2-image-fallback{aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;background:var(--zbl2-dark-bg);color:#fff;font-weight:900;font-size:42px}.zbl2-card-body{padding:20px}.zbl2-kicker{display:inline-flex;width:max-content;margin-bottom:12px;padding:6px 9px;border-radius:999px;background:rgba(0,51,153,.08);color:var(--zbl2-accent)!important;text-decoration:none!important;font-family:var(--zbl-font-meta,"JetBrains Mono",monospace);font-size:var(--zbl2-meta-size-d,10px);font-weight:800;letter-spacing:.06em;text-transform:uppercase}.zbl2-card-title{margin:0 0 10px;color:var(--zbl2-title-color);font-family:var(--zbl-font-heading,Sora,Inter,system-ui,sans-serif);font-size:var(--zbl2-title-size-d);line-height:1.18;font-weight:750;letter-spacing:-.032em}.zbl2-card-title a{color:inherit!important;text-decoration:none!important}.zbl2-card-title a:hover{color:var(--zbl2-accent)!important}.zbl2-date{margin:0 0 10px;color:var(--zbl2-muted-color);font-family:var(--zbl-font-meta,"JetBrains Mono",monospace);font-size:var(--zbl2-meta-size-d,11px);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.zbl2-excerpt{margin:0;color:var(--zbl2-muted-color);font-size:var(--zbl2-excerpt-size-d);line-height:1.62}
/* Grid variants */
.zbl2-layout-featured-grid .zbl2-card-1{grid-column:span 2;grid-row:span 2}.zbl2-layout-featured-grid .zbl2-card-1 .zbl2-card-title{font-size:clamp(28px,2.3vw,40px);line-height:1.1}.zbl2-layout-balanced-grid .zbl2-card-1,.zbl2-layout-balanced-grid .zbl2-card-2{grid-column:span 2}.zbl2-layout-mosaic-grid .zbl2-card-1{grid-column:span 2;grid-row:span 2}.zbl2-layout-mosaic-grid .zbl2-card-4{grid-column:span 2}.zbl2-layout-archive-grid .zbl2-card{border-radius:18px}.zbl2-layout-simple-grid .zbl2-card-title,.zbl2-layout-archive-grid .zbl2-card-title{font-size:clamp(16px,1.1vw,21px)}
/* Lead side */
.zbl2-lead-side{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.85fr);gap:22px}.zbl2-lead-card .zbl2-card-title{font-size:clamp(30px,3.5vw,52px);line-height:1.04}.zbl2-side-list{display:grid;gap:14px}.zbl2-side-card{display:grid;grid-template-columns:112px minmax(0,1fr);min-height:auto}.zbl2-side-card .zbl2-image-link{height:100%}.zbl2-side-card .zbl2-img,.zbl2-side-card .zbl2-image-fallback{height:100%;aspect-ratio:auto}.zbl2-side-card .zbl2-card-body{padding:14px}.zbl2-side-card .zbl2-card-title{font-size:16px}.zbl2-side-card .zbl2-excerpt{display:none}
/* Compact list */
.zbl2-compact-list{list-style:none!important;margin:0!important;padding:0!important;display:grid;gap:10px}.zbl2-list-item{display:grid;grid-template-columns:32px minmax(0,1fr);gap:11px;align-items:start;margin:0!important;padding:12px!important;border-radius:14px;background:var(--zbl2-list-item-bg,rgba(255,255,255,.68));border:1px solid var(--zbl2-border);transition:.18s}.zbl2-list-item:hover{transform:translateY(-2px);background:var(--zbl2-list-item-hover-bg,#fff);box-shadow:0 10px 20px rgba(10,37,64,.08)}.zbl2-index,.zbl2-pointer{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:var(--zbl2-navy);color:#fff;font-family:var(--zbl-font-meta,"JetBrains Mono",monospace);font-size:10px;font-weight:800}.zbl2-list-title{display:block;color:var(--zbl2-title-color)!important;text-decoration:none!important;font-size:var(--zbl2-list-title-size-d,13px);line-height:1.35;font-weight:750;letter-spacing:-.01em}.zbl2-list-title:hover{color:var(--zbl2-accent)!important}.zbl2-list-cat,.zbl2-list-date{display:block;margin-top:6px;color:var(--zbl2-muted-color)!important;text-decoration:none!important;font-family:var(--zbl-font-meta,"JetBrains Mono",monospace);font-size:var(--zbl2-meta-size-d,9.5px);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.zbl2-compact .zbl2-list-item{padding:10px!important}.zbl2-compact .zbl2-list-title{font-size:var(--zbl2-list-title-size-d,12.5px)}
/* Hero desk */
.zbl2-hero-desk-grid{display:grid;grid-template-columns:minmax(220px,.78fr) minmax(360px,1.45fr) minmax(220px,.78fr);gap:28px;align-items:start}.zbl2-hero-left,.zbl2-hero-right,.zbl2-topic-col{background:var(--zbl2-panel-bg,rgba(255,255,255,.92));border:1px solid var(--zbl2-border);border-top:4px solid var(--zbl2-accent);border-radius:20px;padding:18px;box-shadow:var(--zbl2-shadow)}.zbl2-hero-right{border-top-color:var(--zbl2-accent-3)}.zbl2-mini-head,.zbl2-topic-heading{margin:0 0 14px;color:var(--zbl2-title-color);font-family:var(--zbl-font-heading,Sora,Inter,system-ui,sans-serif);font-size:16px;font-weight:800;letter-spacing:-.025em}.zbl2-mini-head:after,.zbl2-topic-heading:after{content:"";display:block;width:46px;height:3px;margin-top:9px;border-radius:999px;background:linear-gradient(90deg,var(--zbl2-accent),var(--zbl2-accent-2))}.zbl2-hero-card{background:radial-gradient(circle at top right,rgba(0,152,121,.24),transparent 38%),linear-gradient(180deg,#071B31 0%,#102A47 100%);border-color:rgba(255,255,255,.14)}.zbl2-hero-card .zbl2-card-title,.zbl2-hero-card .zbl2-card-title a{color:#fff!important}.zbl2-hero-card .zbl2-excerpt{color:#D7E4F0}.zbl2-hero-card .zbl2-date{color:#9DB6CE}.zbl2-hero-card .zbl2-kicker{background:#18A0A7;color:#fff!important}.zbl2-hero-card .zbl2-card-title{font-size:clamp(28px,2.4vw,42px)}
/* Topic columns */
.zbl2-topic-columns{display:grid;grid-template-columns:repeat(var(--zbl2-cols-d),minmax(0,1fr));gap:20px}.zbl2-topic-col:nth-child(2){border-top-color:var(--zbl2-accent-2)}.zbl2-topic-col:nth-child(3){border-top-color:var(--zbl2-accent-3)}.zbl2-topic-col:nth-child(4){border-top-color:#D99A00}
/* Image rail */
.zbl2-rail-wrap{position:relative}.zbl2-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,360px);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 12px;scrollbar-width:none}.zbl2-rail::-webkit-scrollbar{display:none}.zbl2-rail-card{scroll-snap-align:start}.zbl2-rail-btn{position:absolute;top:45%;transform:translateY(-50%);z-index:5;width:38px;height:38px;border:0;border-radius:999px;background:var(--zbl2-navy);color:#fff;cursor:pointer;font-size:26px;box-shadow:0 10px 22px rgba(10,37,64,.18)}.zbl2-rail-prev{left:-12px}.zbl2-rail-next{right:-12px}
/* Story stack */
.zbl2-stack{display:grid;gap:18px}.zbl2-stack-card{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr)}.zbl2-stack-card .zbl2-img,.zbl2-stack-card .zbl2-image-fallback{height:100%;aspect-ratio:auto}.zbl2-stack-card .zbl2-card-title{font-size:clamp(22px,2vw,34px)}
/* Pagination */
.zbl2-pagination{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.zbl2-page-link a,.zbl2-page-link span{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;border-radius:999px;border:1px solid var(--zbl2-border);background:#fff;color:var(--zbl2-navy)!important;text-decoration:none!important;font-weight:700}.zbl2-page-link .current{background:var(--zbl2-navy);color:#fff!important}
/* Responsive visibility */
.zbl2-hide-image-d .zbl2-image-link,.zbl2-hide-excerpt-d .zbl2-excerpt,.zbl2-hide-date-d .zbl2-date,.zbl2-hide-category-d .zbl2-kicker,.zbl2-hide-category-d .zbl2-list-cat{display:none!important}
@media(max-width:980px){.zbl2-section{padding:var(--zbl2-section-padding-t,44px 16px)}.zbl2-grid,.zbl2-topic-columns{grid-template-columns:repeat(var(--zbl2-cols-t),minmax(0,1fr))}.zbl2-layout-featured-grid .zbl2-card-1,.zbl2-layout-balanced-grid .zbl2-card-1,.zbl2-layout-balanced-grid .zbl2-card-2,.zbl2-layout-mosaic-grid .zbl2-card-1,.zbl2-layout-mosaic-grid .zbl2-card-4{grid-column:span 2;grid-row:auto}.zbl2-lead-side,.zbl2-hero-desk-grid{grid-template-columns:1fr}.zbl2-hero-main{order:1}.zbl2-hero-left{order:2}.zbl2-hero-right{order:3}.zbl2-head h2{font-size:var(--zbl2-section-title-size-t,var(--zbl2-section-title-size-d,30px))}.zbl2-card-title{font-size:var(--zbl2-title-size-t)}.zbl2-list-title{font-size:var(--zbl2-list-title-size-t,var(--zbl2-list-title-size-d,12.8px))}.zbl2-excerpt{font-size:var(--zbl2-excerpt-size-t)}.zbl2-hide-image-t .zbl2-image-link,.zbl2-hide-excerpt-t .zbl2-excerpt,.zbl2-hide-date-t .zbl2-date,.zbl2-hide-category-t .zbl2-kicker,.zbl2-hide-category-t .zbl2-list-cat{display:none!important}.zbl2-stack-card{grid-template-columns:1fr}.zbl2-rail-btn{display:none}}
@media(max-width:640px){.zbl2-section{padding:var(--zbl2-section-padding-m,34px 14px)}.zbl2-head{display:block}.zbl2-view-all{margin-top:14px}.zbl2-grid,.zbl2-topic-columns{grid-template-columns:repeat(var(--zbl2-cols-m),minmax(0,1fr))}.zbl2-layout-featured-grid .zbl2-card-1,.zbl2-layout-balanced-grid .zbl2-card-1,.zbl2-layout-balanced-grid .zbl2-card-2,.zbl2-layout-mosaic-grid .zbl2-card-1,.zbl2-layout-mosaic-grid .zbl2-card-4{grid-column:auto}.zbl2-card{border-radius:18px}.zbl2-card-body{padding:17px}.zbl2-head h2{font-size:var(--zbl2-section-title-size-m,var(--zbl2-section-title-size-t,25px))}.zbl2-card-title{font-size:var(--zbl2-title-size-m);line-height:1.22}.zbl2-list-title{font-size:var(--zbl2-list-title-size-m,var(--zbl2-list-title-size-t,12.6px))}.zbl2-excerpt{font-size:var(--zbl2-excerpt-size-m)}.zbl2-side-card{grid-template-columns:1fr}.zbl2-side-card .zbl2-img,.zbl2-side-card .zbl2-image-fallback{height:auto;aspect-ratio:16/9}.zbl2-hero-left,.zbl2-hero-right,.zbl2-topic-col{padding:15px;border-radius:16px}.zbl2-rail{grid-auto-columns:minmax(230px,82vw)}.zbl2-hide-image-m .zbl2-image-link,.zbl2-hide-excerpt-m .zbl2-excerpt,.zbl2-hide-date-m .zbl2-date,.zbl2-hide-category-m .zbl2-kicker,.zbl2-hide-category-m .zbl2-list-cat{display:none!important}}

/* Profile surface refinements */
.zbl2-profile-tech_glass_dark,.zbl2-profile-midnight_pro,.zbl2-profile-cyber_grid{color-scheme:dark}.zbl2-profile-tech_glass_dark .zbl2-topic-col,.zbl2-profile-midnight_pro .zbl2-topic-col,.zbl2-profile-cyber_grid .zbl2-topic-col,.zbl2-profile-tech_glass_dark .zbl2-hero-left,.zbl2-profile-tech_glass_dark .zbl2-hero-right,.zbl2-profile-midnight_pro .zbl2-hero-left,.zbl2-profile-midnight_pro .zbl2-hero-right,.zbl2-profile-cyber_grid .zbl2-hero-left,.zbl2-profile-cyber_grid .zbl2-hero-right{backdrop-filter:blur(10px)}.zbl2-profile-soft_blend{background-clip:padding-box}.zbl2-profile-soft_blend:before{opacity:.18}.zbl2-profile-tech_glass_dark .zbl2-kicker,.zbl2-profile-midnight_pro .zbl2-kicker,.zbl2-profile-cyber_grid .zbl2-kicker{background:rgba(255,255,255,.10);color:var(--zbl2-accent-2)!important}.zbl2-profile-tech_glass_dark .zbl2-index,.zbl2-profile-tech_glass_dark .zbl2-pointer,.zbl2-profile-midnight_pro .zbl2-index,.zbl2-profile-midnight_pro .zbl2-pointer,.zbl2-profile-cyber_grid .zbl2-index,.zbl2-profile-cyber_grid .zbl2-pointer{background:linear-gradient(135deg,var(--zbl2-accent),var(--zbl2-accent-2));color:#06131D}.zbl2-profile-tech_glass_dark .zbl2-list-item:hover,.zbl2-profile-midnight_pro .zbl2-list-item:hover,.zbl2-profile-cyber_grid .zbl2-list-item:hover{box-shadow:0 12px 28px rgba(0,0,0,.18)}


/* =========================================================
   ZBL 2.0.3 PROFILE READABILITY FIXES
   Dark profiles now use dark panels/items with high contrast.
   Default profile is soft_blend to avoid breaking existing pages.
   ========================================================= */
.zbl2-profile-tech_glass_dark,
.zbl2-profile-midnight_pro,
.zbl2-profile-cyber_grid{
  background:var(--zbl2-section-bg)!important;
}
.zbl2-profile-tech_glass_dark .zbl2-topic-col,
.zbl2-profile-tech_glass_dark .zbl2-hero-left,
.zbl2-profile-tech_glass_dark .zbl2-hero-right,
.zbl2-profile-midnight_pro .zbl2-topic-col,
.zbl2-profile-midnight_pro .zbl2-hero-left,
.zbl2-profile-midnight_pro .zbl2-hero-right,
.zbl2-profile-cyber_grid .zbl2-topic-col,
.zbl2-profile-cyber_grid .zbl2-hero-left,
.zbl2-profile-cyber_grid .zbl2-hero-right{
  background:var(--zbl2-panel-bg)!important;
  border-color:var(--zbl2-border)!important;
  color:var(--zbl2-text-color)!important;
}
.zbl2-profile-tech_glass_dark .zbl2-list-item,
.zbl2-profile-midnight_pro .zbl2-list-item,
.zbl2-profile-cyber_grid .zbl2-list-item{
  background:var(--zbl2-list-item-bg)!important;
  border-color:var(--zbl2-border)!important;
}
.zbl2-profile-tech_glass_dark .zbl2-list-item:hover,
.zbl2-profile-midnight_pro .zbl2-list-item:hover,
.zbl2-profile-cyber_grid .zbl2-list-item:hover{
  background:var(--zbl2-list-item-hover-bg)!important;
}
.zbl2-profile-tech_glass_dark .zbl2-topic-heading,
.zbl2-profile-tech_glass_dark .zbl2-mini-head,
.zbl2-profile-tech_glass_dark .zbl2-list-title,
.zbl2-profile-midnight_pro .zbl2-topic-heading,
.zbl2-profile-midnight_pro .zbl2-mini-head,
.zbl2-profile-midnight_pro .zbl2-list-title,
.zbl2-profile-cyber_grid .zbl2-topic-heading,
.zbl2-profile-cyber_grid .zbl2-mini-head,
.zbl2-profile-cyber_grid .zbl2-list-title{
  color:var(--zbl2-title-color)!important;
}
.zbl2-profile-tech_glass_dark .zbl2-list-cat,
.zbl2-profile-tech_glass_dark .zbl2-list-date,
.zbl2-profile-midnight_pro .zbl2-list-cat,
.zbl2-profile-midnight_pro .zbl2-list-date,
.zbl2-profile-cyber_grid .zbl2-list-cat,
.zbl2-profile-cyber_grid .zbl2-list-date{
  color:var(--zbl2-muted-color)!important;
}
.zbl2-profile-tech_glass_dark .zbl2-index,
.zbl2-profile-tech_glass_dark .zbl2-pointer,
.zbl2-profile-midnight_pro .zbl2-index,
.zbl2-profile-midnight_pro .zbl2-pointer,
.zbl2-profile-cyber_grid .zbl2-index,
.zbl2-profile-cyber_grid .zbl2-pointer{
  background:linear-gradient(135deg,var(--zbl2-accent),var(--zbl2-accent-2))!important;
  color:#06131D!important;
}
.zbl2-layout-topic-columns .zbl2-head h2{
  font-size:var(--zbl2-section-title-size-d,30px);
}

/* =========================================================
   v2.0.4 POLISH: compact list as a real premium module
   ========================================================= */
.zbl2-layout-compact-list{
  border-radius:var(--zbl2-radius,24px);
  box-shadow:var(--zbl2-shadow,0 18px 42px rgba(10,37,64,.10));
  border:1px solid var(--zbl2-border,rgba(10,37,64,.12));
  padding:22px 18px 18px;
  background:var(--zbl2-section-bg);
}
.zbl2-layout-compact-list .zbl2-inner{max-width:100%;}
.zbl2-layout-compact-list .zbl2-head{
  display:block;
  margin:0 0 18px;
  padding:0 0 16px;
  border-bottom:1px solid var(--zbl2-border,rgba(255,255,255,.16));
}
.zbl2-layout-compact-list .zbl2-head-main{max-width:100%;}
.zbl2-layout-compact-list .zbl2-head h2{
  font-size:var(--zbl2-section-title-size-d,24px);
  line-height:1.08;
  letter-spacing:-.045em;
  margin:0;
}
.zbl2-layout-compact-list .zbl2-head h2:after,
.zbl2-layout-compact-list .zbl2-mini-head:after,
.zbl2-layout-compact-list .zbl2-topic-heading:after{
  content:"";
  display:block;
  width:54px;
  height:3px;
  margin-top:12px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--zbl2-accent),var(--zbl2-accent-2));
}
.zbl2-layout-compact-list .zbl2-list-item{
  border-radius:calc(var(--zbl2-radius,24px) * .55);
}
.zbl2-layout-compact-list .zbl2-pointer,
.zbl2-layout-compact-list .zbl2-index{
  background:linear-gradient(135deg,var(--zbl2-accent),var(--zbl2-accent-2));
  color:#06131D;
}
.zbl2-profile-midnight_pro.zbl2-layout-compact-list,
.zbl2-profile-tech_glass_dark.zbl2-layout-compact-list,
.zbl2-profile-cyber_grid.zbl2-layout-compact-list{
  border-color:rgba(255,255,255,.15);
}
.zbl2-profile-midnight_pro.zbl2-layout-compact-list .zbl2-list-item,
.zbl2-profile-tech_glass_dark.zbl2-layout-compact-list .zbl2-list-item,
.zbl2-profile-cyber_grid.zbl2-layout-compact-list .zbl2-list-item{
  background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.055));
  border-color:rgba(255,255,255,.15);
}
.zbl2-profile-midnight_pro.zbl2-layout-compact-list .zbl2-list-item:hover,
.zbl2-profile-tech_glass_dark.zbl2-layout-compact-list .zbl2-list-item:hover,
.zbl2-profile-cyber_grid.zbl2-layout-compact-list .zbl2-list-item:hover{
  background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.09));
  border-color:rgba(125,211,252,.35);
}
@media(max-width:980px){.zbl2-layout-compact-list .zbl2-head h2{font-size:var(--zbl2-section-title-size-t,22px)}}
@media(max-width:640px){.zbl2-layout-compact-list{padding:18px 14px}.zbl2-layout-compact-list .zbl2-head h2{font-size:var(--zbl2-section-title-size-m,20px)}}

/* =========================================================
   v2.0.4 NEW LAYOUT: ranked-list (ZDNet-style large numbers)
   ========================================================= */
.zbl2-layout-ranked-list{
  background:#fff;
  border-top:2px solid var(--zbl2-navy,#0A2540);
  border-bottom:2px solid var(--zbl2-navy,#0A2540);
}
.zbl2-ranked-list{display:grid;gap:0;}
.zbl2-ranked-item{
  display:grid;
  grid-template-columns:minmax(86px,150px) minmax(0,1fr) 68px;
  align-items:center;
  gap:28px;
  padding:26px 0;
  border-bottom:1px solid rgba(10,37,64,.18);
}
.zbl2-ranked-item:last-child{border-bottom:0;}
.zbl2-ranked-no{
  color:#030712;
  font-family:var(--zbl-font-heading,Inter,system-ui,sans-serif);
  font-size:clamp(56px,8vw,128px);
  line-height:.82;
  font-weight:500;
  letter-spacing:-.08em;
}
.zbl2-ranked-cat,.zbl2-ranked-date{
  display:inline-flex;
  margin-bottom:7px;
  color:var(--zbl2-muted-color,#64748B)!important;
  font-family:var(--zbl-font-meta,"JetBrains Mono",monospace);
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  text-decoration:none!important;
}
.zbl2-ranked-title{margin:0;font-size:clamp(20px,2vw,32px);line-height:1.14;font-weight:780;letter-spacing:-.045em;}
.zbl2-ranked-title a{color:#030712!important;text-decoration:none!important;}
.zbl2-ranked-title a:hover{color:var(--zbl2-accent)!important;}
.zbl2-ranked-arrow{
  width:58px;height:58px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;
  background:var(--zbl2-accent-2,#38BDF8);color:#06131D!important;text-decoration:none!important;font-size:28px;
}
@media(max-width:640px){.zbl2-ranked-item{grid-template-columns:62px minmax(0,1fr);gap:16px}.zbl2-ranked-arrow{display:none}.zbl2-ranked-no{font-size:54px}.zbl2-ranked-title{font-size:18px}}

/* =========================================================
   v2.0.4 NEW LAYOUT: recommend-grid (dark image recommendation block)
   ========================================================= */
.zbl2-layout-recommend-grid{
  background:linear-gradient(135deg,#050912 0%,#07111f 55%,#0A2540 100%);
  color:#fff;
  border-radius:0;
}
.zbl2-layout-recommend-grid .zbl2-head{border-bottom-color:rgba(255,255,255,.14);}
.zbl2-layout-recommend-grid .zbl2-head h2,
.zbl2-layout-recommend-grid .zbl2-desc{color:#fff;}
.zbl2-recommend-grid{display:grid;grid-template-columns:repeat(var(--zbl2-cols-d),minmax(0,1fr));gap:18px;}
.zbl2-reco-card{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.10);overflow:hidden;transition:.2s;}
.zbl2-reco-card:hover{transform:translateY(-3px);background:rgba(255,255,255,.065);}
.zbl2-reco-image{display:block;overflow:hidden;background:#111827;text-decoration:none!important;}
.zbl2-reco-img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;transition:.35s;}
.zbl2-reco-card:hover .zbl2-reco-img{transform:scale(1.035);}
.zbl2-reco-body{padding:18px 18px 20px;}
.zbl2-reco-cat{display:inline-flex;margin-bottom:10px;color:var(--zbl2-accent-2,#38BDF8)!important;font-family:var(--zbl-font-meta,"JetBrains Mono",monospace);font-size:var(--zbl2-meta-size-d,10px);font-weight:800;letter-spacing:.06em;text-transform:uppercase;text-decoration:none!important;}
.zbl2-reco-title{margin:0;color:#fff;font-family:var(--zbl-font-heading,Inter,system-ui,sans-serif);font-size:clamp(18px,1.5vw,24px);line-height:1.18;font-weight:760;letter-spacing:-.035em;}
.zbl2-reco-title a{color:#fff!important;text-decoration:none!important;}
.zbl2-reco-title a:hover{color:var(--zbl2-accent-2,#38BDF8)!important;}
.zbl2-reco-arrow{display:inline-flex;margin-top:18px;color:#fff!important;text-decoration:none!important;font-size:28px;line-height:1;}
@media(max-width:980px){.zbl2-recommend-grid{grid-template-columns:repeat(var(--zbl2-cols-t),minmax(0,1fr));}}
@media(max-width:640px){.zbl2-recommend-grid{grid-template-columns:repeat(var(--zbl2-cols-m),minmax(0,1fr));}.zbl2-reco-body{padding:16px}.zbl2-reco-title{font-size:18px}}

/* ============================================================
   v2.0.6 - STORY STACK / SIDEBAR MEDIA-LIST FIXES
   Makes story-stack usable in narrow sidebars and ensures the
   title-size shortcode parameters affect story-stack titles.
   ============================================================ */
.zbl2-layout-story-stack{
  overflow:hidden;
}
.zbl2-layout-story-stack .zbl2-inner{
  container-type:inline-size;
}
.zbl2-layout-story-stack .zbl2-stack{
  gap:12px;
}
.zbl2-layout-story-stack .zbl2-stack-card{
  display:grid;
  grid-template-columns:minmax(92px,34%) minmax(0,1fr);
  align-items:stretch;
  min-width:0;
  border-radius:var(--zbl2-radius,18px);
}
.zbl2-layout-story-stack .zbl2-stack-card .zbl2-image-link{
  min-width:0;
  height:100%;
}
.zbl2-layout-story-stack .zbl2-stack-card .zbl2-img,
.zbl2-layout-story-stack .zbl2-stack-card .zbl2-image-fallback{
  width:100%;
  height:100%;
  min-height:96px;
  aspect-ratio:1/1;
  object-fit:cover;
}
.zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-body{
  min-width:0;
  padding:14px 14px 13px;
}
.zbl2-layout-story-stack .zbl2-stack-card .zbl2-kicker{
  max-width:100%;
  font-size:9px;
  padding:5px 8px;
  margin-bottom:8px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-title{
  margin:0;
  font-size:var(--zbl2-list-title-size-d,var(--zbl2-title-size-d,14px))!important;
  line-height:1.24!important;
  font-weight:760;
  letter-spacing:-.018em;
}
.zbl2-layout-story-stack .zbl2-stack-card .zbl2-excerpt{
  margin-top:8px;
  font-size:var(--zbl2-excerpt-size-d,12.5px);
  line-height:1.45;
}
.zbl2-layout-story-stack .zbl2-stack-card .zbl2-date{
  margin-top:8px;
  font-size:9.5px;
}

/* Container-query: when story-stack is placed in a narrow sidebar */
@container (max-width: 420px){
  .zbl2-layout-story-stack .zbl2-head{
    margin-bottom:14px;
    padding-bottom:12px;
  }
  .zbl2-layout-story-stack .zbl2-stack{
    gap:10px;
  }
  .zbl2-layout-story-stack .zbl2-stack-card{
    grid-template-columns:86px minmax(0,1fr);
    border-radius:16px;
  }
  .zbl2-layout-story-stack .zbl2-stack-card .zbl2-img,
  .zbl2-layout-story-stack .zbl2-stack-card .zbl2-image-fallback{
    min-height:92px;
  }
  .zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-body{
    padding:11px 12px;
  }
  .zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-title{
    font-size:var(--zbl2-list-title-size-d,12.8px)!important;
    line-height:1.22!important;
  }
  .zbl2-layout-story-stack .zbl2-stack-card .zbl2-kicker{
    font-size:8px;
    padding:4px 7px;
    margin-bottom:7px;
  }
}

@media(max-width:980px){
  .zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-title{
    font-size:var(--zbl2-list-title-size-t,var(--zbl2-list-title-size-d,var(--zbl2-title-size-t,13px)))!important;
  }
}
@media(max-width:640px){
  .zbl2-layout-story-stack .zbl2-stack-card{
    grid-template-columns:86px minmax(0,1fr)!important;
  }
  .zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-title{
    font-size:var(--zbl2-list-title-size-m,var(--zbl2-list-title-size-t,var(--zbl2-list-title-size-d,12px)))!important;
  }
}


/* ============================================================
   v2.0.7 PARAMETER WIRING GUARANTEE
   Ensures core shortcode style parameters apply consistently
   across all layouts, including story-stack/sidebar layouts.
   ============================================================ */

/* Section-level controls */
.zbl2-section{
  padding:var(--zbl2-section-padding-d,54px 18px) !important;
}
.zbl2-head h2{
  font-size:var(--zbl2-section-title-size-d,clamp(28px,2.8vw,44px)) !important;
  font-weight:var(--zbl2-section-title-weight,800) !important;
}

/* Universal card/panel radius + shadow wiring */
.zbl2-card,
.zbl2-hero-left,
.zbl2-hero-right,
.zbl2-topic-col,
.zbl2-reco-card,
.zbl2-stack-card{
  border-radius:var(--zbl2-radius,22px) !important;
  box-shadow:var(--zbl2-shadow,0 16px 38px rgba(10,37,64,.09));
}
.zbl2-card,
.zbl2-reco-card,
.zbl2-stack-card{
  overflow:hidden !important;
}
.zbl2-list-item{
  border-radius:calc(var(--zbl2-radius,22px) * .58) !important;
}

/* Universal title-size wiring */
.zbl2-card-title,
.zbl2-card-title a{
  font-size:var(--zbl2-title-size-d,21px) !important;
}
.zbl2-list-title{
  font-size:var(--zbl2-list-title-size-d,13px) !important;
}
.zbl2-compact .zbl2-list-title{
  font-size:var(--zbl2-list-title-size-d,12.5px) !important;
}

/* Story stack uses list-title controls because it is a list-style layout */
.zbl2-layout-story-stack{
  border-radius:var(--zbl2-radius,22px) !important;
}
.zbl2-layout-story-stack .zbl2-head{
  display:block !important;
  border-bottom:1px solid var(--zbl2-border,rgba(10,37,64,.14)) !important;
  padding-bottom:14px !important;
  margin-bottom:18px !important;
}
.zbl2-layout-story-stack .zbl2-head h2{
  font-size:var(--zbl2-section-title-size-d,22px) !important;
  line-height:1.1 !important;
  letter-spacing:-.035em !important;
}
.zbl2-layout-story-stack .zbl2-head h2:after{
  content:"";
  display:block;
  width:54px;
  height:3px;
  margin-top:10px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--zbl2-accent),var(--zbl2-accent-2));
}
.zbl2-layout-story-stack .zbl2-stack-card{
  border-radius:var(--zbl2-radius,22px) !important;
  background:var(--zbl2-card-bg) !important;
  border-color:var(--zbl2-border) !important;
}
.zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-title,
.zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-title a{
  font-size:var(--zbl2-list-title-size-d,var(--zbl2-title-size-d,14px)) !important;
}
.zbl2-layout-story-stack .zbl2-stack-card .zbl2-img,
.zbl2-layout-story-stack .zbl2-stack-card .zbl2-image-fallback{
  border-radius:0 !important;
}

/* Ranked list and recommendation layouts now respect title/radius settings */
.zbl2-ranked-title,
.zbl2-ranked-title a{
  font-size:var(--zbl2-title-size-d,clamp(20px,2vw,32px)) !important;
}
.zbl2-layout-recommend-grid{
  border-radius:var(--zbl2-radius,0px) !important;
  overflow:hidden !important;
}
.zbl2-reco-card{
  border-radius:var(--zbl2-radius,18px) !important;
}
.zbl2-reco-title,
.zbl2-reco-title a{
  font-size:var(--zbl2-title-size-d,clamp(18px,1.5vw,24px)) !important;
}

/* Background/color override parameters */
.zbl2-hero-left,
.zbl2-hero-right,
.zbl2-topic-col{
  background:var(--zbl2-panel-bg,rgba(255,255,255,.92)) !important;
}
.zbl2-list-item{
  background:var(--zbl2-list-item-bg,rgba(255,255,255,.68)) !important;
}
.zbl2-list-item:hover{
  background:var(--zbl2-list-item-hover-bg,#fff) !important;
}
.zbl2-card,
.zbl2-stack-card,
.zbl2-reco-card{
  background:var(--zbl2-card-bg) !important;
}

@media(max-width:980px){
  .zbl2-section{padding:var(--zbl2-section-padding-t,42px 16px) !important;}
  .zbl2-head h2{font-size:var(--zbl2-section-title-size-t,var(--zbl2-section-title-size-d,28px)) !important;}
  .zbl2-card-title,.zbl2-card-title a{font-size:var(--zbl2-title-size-t,var(--zbl2-title-size-d,19px)) !important;}
  .zbl2-list-title{font-size:var(--zbl2-list-title-size-t,var(--zbl2-list-title-size-d,12.6px)) !important;}
  .zbl2-layout-story-stack .zbl2-head h2{font-size:var(--zbl2-section-title-size-t,var(--zbl2-section-title-size-d,20px)) !important;}
  .zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-title,
  .zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-title a{font-size:var(--zbl2-list-title-size-t,var(--zbl2-list-title-size-d,13px)) !important;}
  .zbl2-ranked-title,.zbl2-ranked-title a{font-size:var(--zbl2-title-size-t,var(--zbl2-title-size-d,24px)) !important;}
  .zbl2-reco-title,.zbl2-reco-title a{font-size:var(--zbl2-title-size-t,var(--zbl2-title-size-d,20px)) !important;}
}
@media(max-width:640px){
  .zbl2-section{padding:var(--zbl2-section-padding-m,34px 14px) !important;}
  .zbl2-head h2{font-size:var(--zbl2-section-title-size-m,var(--zbl2-section-title-size-t,24px)) !important;}
  .zbl2-card-title,.zbl2-card-title a{font-size:var(--zbl2-title-size-m,var(--zbl2-title-size-t,17px)) !important;}
  .zbl2-list-title{font-size:var(--zbl2-list-title-size-m,var(--zbl2-list-title-size-t,12.4px)) !important;}
  .zbl2-layout-story-stack .zbl2-stack-card{border-radius:var(--zbl2-radius,18px) !important;}
  .zbl2-layout-story-stack .zbl2-head h2{font-size:var(--zbl2-section-title-size-m,var(--zbl2-section-title-size-t,18px)) !important;}
  .zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-title,
  .zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-title a{font-size:var(--zbl2-list-title-size-m,var(--zbl2-list-title-size-t,12px)) !important;}
  .zbl2-ranked-title,.zbl2-ranked-title a{font-size:var(--zbl2-title-size-m,var(--zbl2-title-size-t,18px)) !important;}
  .zbl2-reco-title,.zbl2-reco-title a{font-size:var(--zbl2-title-size-m,var(--zbl2-title-size-t,18px)) !important;}
}


/* ============================================================
   v2.0.9 FINAL PARAMETER WIRING CONTRACT
   This block intentionally comes last. It makes the common
   shortcode parameters win across every layout/profile/theme.
   ============================================================ */

/* Radius must affect the visible outer module for layouts that
   behave as self-contained panels/cards. */
.zbl2-layout-compact-list,
.zbl2-layout-story-stack,
.zbl2-layout-ranked-list,
.zbl2-layout-recommend-grid,
.zbl2-layout-lead-side,
.zbl2-layout-featured-grid,
.zbl2-layout-mosaic-grid,
.zbl2-layout-balanced-grid,
.zbl2-layout-simple-grid,
.zbl2-layout-archive-grid,
.zbl2-layout-image-rail{
  border-radius:var(--zbl2-radius,22px) !important;
  overflow:hidden !important;
}

/* Radius must affect every visible content surface. */
.zbl2-card,
.zbl2-lead-card,
.zbl2-side-card,
.zbl2-stack-card,
.zbl2-reco-card,
.zbl2-rail-card,
.zbl2-hero-card,
.zbl2-hero-left,
.zbl2-hero-right,
.zbl2-topic-col{
  border-radius:var(--zbl2-radius,22px) !important;
  overflow:hidden !important;
  box-shadow:var(--zbl2-shadow,0 16px 38px rgba(10,37,64,.09)) !important;
}

/* Inner/list item radius uses the same parameter but scaled down
   so list rows do not become too pill-shaped unless radius is high. */
.zbl2-list-item,
.zbl2-ranked-item{
  border-radius:calc(var(--zbl2-radius,22px) * .58) !important;
}

/* Image corners should be controlled by the card overflow, not by
   hard-coded square corners. This prevents square image edges from
   visually cancelling the card radius. */
.zbl2-image-link,
.zbl2-reco-image{
  overflow:hidden !important;
}

/* Card title sizing: applies to all image/card layouts including
   featured-grid, mosaic-grid, balanced-grid, lead-side, rail, archive. */
.zbl2-card-title,
.zbl2-card-title a,
.zbl2-layout-featured-grid .zbl2-card-1 .zbl2-card-title,
.zbl2-layout-featured-grid .zbl2-card-1 .zbl2-card-title a,
.zbl2-layout-balanced-grid .zbl2-card-1 .zbl2-card-title,
.zbl2-layout-balanced-grid .zbl2-card-1 .zbl2-card-title a,
.zbl2-layout-balanced-grid .zbl2-card-2 .zbl2-card-title,
.zbl2-layout-balanced-grid .zbl2-card-2 .zbl2-card-title a,
.zbl2-layout-lead-side .zbl2-lead-card .zbl2-card-title,
.zbl2-layout-lead-side .zbl2-lead-card .zbl2-card-title a,
.zbl2-layout-lead-side .zbl2-side-card .zbl2-card-title,
.zbl2-layout-lead-side .zbl2-side-card .zbl2-card-title a,
.zbl2-layout-mosaic-grid .zbl2-card .zbl2-card-title,
.zbl2-layout-mosaic-grid .zbl2-card .zbl2-card-title a,
.zbl2-layout-image-rail .zbl2-card-title,
.zbl2-layout-image-rail .zbl2-card-title a{
  font-size:var(--zbl2-title-size-d,21px) !important;
}

/* List title sizing: applies to list-style layouts. */
.zbl2-list-title,
.zbl2-list-title a,
.zbl2-layout-compact-list .zbl2-list-title,
.zbl2-layout-compact-list .zbl2-list-title a,
.zbl2-layout-topic-columns .zbl2-list-title,
.zbl2-layout-topic-columns .zbl2-list-title a,
.zbl2-layout-hero-desk .zbl2-list-title,
.zbl2-layout-hero-desk .zbl2-list-title a,
.zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-title,
.zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-title a{
  font-size:var(--zbl2-list-title-size-d,13px) !important;
}

/* Ranked/recommend custom title classes also obey title_size_* */
.zbl2-ranked-title,
.zbl2-ranked-title a,
.zbl2-reco-title,
.zbl2-reco-title a{
  font-size:var(--zbl2-title-size-d,21px) !important;
}

/* Text/excerpt sizing. */
.zbl2-excerpt,
.zbl2-desc{
  font-size:var(--zbl2-excerpt-size-d,14px) !important;
}

/* Shared color/surface controls. */
.zbl2-card,
.zbl2-stack-card,
.zbl2-reco-card,
.zbl2-rail-card{
  background:var(--zbl2-card-bg) !important;
  border-color:var(--zbl2-border) !important;
}
.zbl2-hero-left,
.zbl2-hero-right,
.zbl2-topic-col{
  background:var(--zbl2-panel-bg,var(--zbl2-card-bg)) !important;
  border-color:var(--zbl2-border) !important;
}
.zbl2-list-item{
  background:var(--zbl2-list-item-bg,rgba(255,255,255,.68)) !important;
  border-color:var(--zbl2-border) !important;
}
.zbl2-list-item:hover{
  background:var(--zbl2-list-item-hover-bg,#fff) !important;
}

/* Lead-side layout obeys columns setting when explicitly set to 1,
   useful for right/left sidebar or narrow modules. */
.zbl2-layout-lead-side[style*="--zbl2-cols-d:1"] .zbl2-lead-side{
  grid-template-columns:1fr !important;
}
.zbl2-layout-lead-side[style*="--zbl2-cols-d:1"] .zbl2-side-card{
  grid-template-columns:112px minmax(0,1fr) !important;
}

@media(max-width:980px){
  .zbl2-card-title,
  .zbl2-card-title a,
  .zbl2-layout-featured-grid .zbl2-card-1 .zbl2-card-title,
  .zbl2-layout-featured-grid .zbl2-card-1 .zbl2-card-title a,
  .zbl2-layout-balanced-grid .zbl2-card-1 .zbl2-card-title,
  .zbl2-layout-balanced-grid .zbl2-card-1 .zbl2-card-title a,
  .zbl2-layout-balanced-grid .zbl2-card-2 .zbl2-card-title,
  .zbl2-layout-balanced-grid .zbl2-card-2 .zbl2-card-title a,
  .zbl2-layout-lead-side .zbl2-lead-card .zbl2-card-title,
  .zbl2-layout-lead-side .zbl2-lead-card .zbl2-card-title a,
  .zbl2-layout-lead-side .zbl2-side-card .zbl2-card-title,
  .zbl2-layout-lead-side .zbl2-side-card .zbl2-card-title a,
  .zbl2-ranked-title,
  .zbl2-ranked-title a,
  .zbl2-reco-title,
  .zbl2-reco-title a{
    font-size:var(--zbl2-title-size-t,var(--zbl2-title-size-d,19px)) !important;
  }

  .zbl2-list-title,
  .zbl2-list-title a,
  .zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-title,
  .zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-title a{
    font-size:var(--zbl2-list-title-size-t,var(--zbl2-list-title-size-d,12.6px)) !important;
  }

  .zbl2-excerpt,
  .zbl2-desc{
    font-size:var(--zbl2-excerpt-size-t,var(--zbl2-excerpt-size-d,13.5px)) !important;
  }
}

@media(max-width:640px){
  .zbl2-card-title,
  .zbl2-card-title a,
  .zbl2-layout-featured-grid .zbl2-card-1 .zbl2-card-title,
  .zbl2-layout-featured-grid .zbl2-card-1 .zbl2-card-title a,
  .zbl2-layout-balanced-grid .zbl2-card-1 .zbl2-card-title,
  .zbl2-layout-balanced-grid .zbl2-card-1 .zbl2-card-title a,
  .zbl2-layout-balanced-grid .zbl2-card-2 .zbl2-card-title,
  .zbl2-layout-balanced-grid .zbl2-card-2 .zbl2-card-title a,
  .zbl2-layout-lead-side .zbl2-lead-card .zbl2-card-title,
  .zbl2-layout-lead-side .zbl2-lead-card .zbl2-card-title a,
  .zbl2-layout-lead-side .zbl2-side-card .zbl2-card-title,
  .zbl2-layout-lead-side .zbl2-side-card .zbl2-card-title a,
  .zbl2-ranked-title,
  .zbl2-ranked-title a,
  .zbl2-reco-title,
  .zbl2-reco-title a{
    font-size:var(--zbl2-title-size-m,var(--zbl2-title-size-t,17px)) !important;
  }

  .zbl2-list-title,
  .zbl2-list-title a,
  .zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-title,
  .zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-title a{
    font-size:var(--zbl2-list-title-size-m,var(--zbl2-list-title-size-t,12.4px)) !important;
  }

  .zbl2-excerpt,
  .zbl2-desc{
    font-size:var(--zbl2-excerpt-size-m,var(--zbl2-excerpt-size-t,13px)) !important;
  }
}


/* =========================================================
   ZBL 2.0.10 FINAL TYPOGRAPHY WIRING
   Ensures shortcode font weights and font styles work in every layout.
   Supported shortcode attributes:
   section_title_weight, title_weight, list_title_weight, excerpt_weight, meta_weight
   section_title_style, title_style, list_title_style, excerpt_style, meta_style
   Values: normal, italic, oblique for *_style; 100-900/normal/bold/lighter/bolder for *_weight.
   ========================================================= */

/* Section heading / module heading */
.zbl2-section .zbl2-head h2,
.zbl2-section .zbl2-mini-head,
.zbl2-section .zbl2-topic-heading{
  font-weight:var(--zbl2-section-title-weight,800) !important;
  font-style:var(--zbl2-section-title-style,normal) !important;
}

/* Main card/post title for all image/card layouts */
.zbl2-section .zbl2-card-title,
.zbl2-section .zbl2-card-title a,
.zbl2-layout-featured-grid .zbl2-card-title,
.zbl2-layout-featured-grid .zbl2-card-title a,
.zbl2-layout-mosaic-grid .zbl2-card-title,
.zbl2-layout-mosaic-grid .zbl2-card-title a,
.zbl2-layout-balanced-grid .zbl2-card-title,
.zbl2-layout-balanced-grid .zbl2-card-title a,
.zbl2-layout-simple-grid .zbl2-card-title,
.zbl2-layout-simple-grid .zbl2-card-title a,
.zbl2-layout-archive-grid .zbl2-card-title,
.zbl2-layout-archive-grid .zbl2-card-title a,
.zbl2-layout-lead-side .zbl2-card-title,
.zbl2-layout-lead-side .zbl2-card-title a,
.zbl2-layout-image-rail .zbl2-card-title,
.zbl2-layout-image-rail .zbl2-card-title a,
.zbl2-layout-hero-desk .zbl2-hero-card .zbl2-card-title,
.zbl2-layout-hero-desk .zbl2-hero-card .zbl2-card-title a,
.zbl2-ranked-title,
.zbl2-ranked-title a,
.zbl2-reco-title,
.zbl2-reco-title a{
  font-weight:var(--zbl2-title-weight,750) !important;
  font-style:var(--zbl2-title-style,normal) !important;
}

/* List title / compact title for compact-list, topic-columns, hero side lists, story-stack/sidebar lists */
.zbl2-section .zbl2-list-title,
.zbl2-section .zbl2-list-title a,
.zbl2-layout-compact-list .zbl2-list-title,
.zbl2-layout-compact-list .zbl2-list-title a,
.zbl2-layout-topic-columns .zbl2-list-title,
.zbl2-layout-topic-columns .zbl2-list-title a,
.zbl2-layout-hero-desk .zbl2-side-list .zbl2-list-title,
.zbl2-layout-hero-desk .zbl2-side-list .zbl2-list-title a,
.zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-title,
.zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-title a{
  font-weight:var(--zbl2-list-title-weight,750) !important;
  font-style:var(--zbl2-list-title-style,normal) !important;
}

/* Excerpt/description/body copy */
.zbl2-section .zbl2-excerpt,
.zbl2-section .zbl2-desc{
  font-weight:var(--zbl2-excerpt-weight,400) !important;
  font-style:var(--zbl2-excerpt-style,normal) !important;
}

/* Meta: category/date/eyebrow/badges/numbers */
.zbl2-section .zbl2-eyebrow,
.zbl2-section .zbl2-kicker,
.zbl2-section .zbl2-date,
.zbl2-section .zbl2-list-cat,
.zbl2-section .zbl2-list-date,
.zbl2-section .zbl2-index,
.zbl2-section .zbl2-pointer,
.zbl2-section .zbl2-ranked-no,
.zbl2-section .zbl2-ranked-cat,
.zbl2-section .zbl2-ranked-date,
.zbl2-section .zbl2-reco-cat{
  font-weight:var(--zbl2-meta-weight,700) !important;
  font-style:var(--zbl2-meta-style,normal) !important;
  font-size:var(--zbl2-meta-size-d,10px) !important;
}

@media(max-width:980px){
  .zbl2-section .zbl2-eyebrow,
  .zbl2-section .zbl2-kicker,
  .zbl2-section .zbl2-date,
  .zbl2-section .zbl2-list-cat,
  .zbl2-section .zbl2-list-date,
  .zbl2-section .zbl2-index,
  .zbl2-section .zbl2-pointer,
  .zbl2-section .zbl2-ranked-no,
  .zbl2-section .zbl2-ranked-cat,
  .zbl2-section .zbl2-ranked-date,
  .zbl2-section .zbl2-reco-cat{
    font-size:var(--zbl2-meta-size-t,var(--zbl2-meta-size-d,10px)) !important;
  }
}

@media(max-width:640px){
  .zbl2-section .zbl2-eyebrow,
  .zbl2-section .zbl2-kicker,
  .zbl2-section .zbl2-date,
  .zbl2-section .zbl2-list-cat,
  .zbl2-section .zbl2-list-date,
  .zbl2-section .zbl2-index,
  .zbl2-section .zbl2-pointer,
  .zbl2-section .zbl2-ranked-no,
  .zbl2-section .zbl2-ranked-cat,
  .zbl2-section .zbl2-ranked-date,
  .zbl2-section .zbl2-reco-cat{
    font-size:var(--zbl2-meta-size-m,var(--zbl2-meta-size-t,9.5px)) !important;
  }
}

/* Make title size and list title size continue to win after typography wiring. */
.zbl2-section .zbl2-card-title,
.zbl2-section .zbl2-card-title a,
.zbl2-ranked-title,
.zbl2-ranked-title a,
.zbl2-reco-title,
.zbl2-reco-title a{
  font-size:var(--zbl2-title-size-d,21px) !important;
}

.zbl2-section .zbl2-list-title,
.zbl2-section .zbl2-list-title a,
.zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-title,
.zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-title a{
  font-size:var(--zbl2-list-title-size-d,13px) !important;
}

@media(max-width:980px){
  .zbl2-section .zbl2-card-title,
  .zbl2-section .zbl2-card-title a,
  .zbl2-ranked-title,
  .zbl2-ranked-title a,
  .zbl2-reco-title,
  .zbl2-reco-title a{
    font-size:var(--zbl2-title-size-t,var(--zbl2-title-size-d,19px)) !important;
  }

  .zbl2-section .zbl2-list-title,
  .zbl2-section .zbl2-list-title a,
  .zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-title,
  .zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-title a{
    font-size:var(--zbl2-list-title-size-t,var(--zbl2-list-title-size-d,12.6px)) !important;
  }
}

@media(max-width:640px){
  .zbl2-section .zbl2-card-title,
  .zbl2-section .zbl2-card-title a,
  .zbl2-ranked-title,
  .zbl2-ranked-title a,
  .zbl2-reco-title,
  .zbl2-reco-title a{
    font-size:var(--zbl2-title-size-m,var(--zbl2-title-size-t,17px)) !important;
  }

  .zbl2-section .zbl2-list-title,
  .zbl2-section .zbl2-list-title a,
  .zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-title,
  .zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-title a{
    font-size:var(--zbl2-list-title-size-m,var(--zbl2-list-title-size-t,12.4px)) !important;
  }
}


/* =========================================================
   ZBL 2.0.12 HERO DESK MAIN STACK
   Allows the center column to show one hero card plus secondary posts.
   ========================================================= */
.zbl2-layout-hero-desk .zbl2-hero-main{
  display:grid;
  gap:18px;
  align-content:start;
}

.zbl2-layout-hero-desk .zbl2-hero-secondary-stack{
  display:grid;
  gap:14px;
  margin:0;
  padding:0;
}

.zbl2-layout-hero-desk .zbl2-hero-secondary-card{
  display:grid;
  grid-template-columns:minmax(120px,.38fr) minmax(0,1fr);
  min-height:132px;
  background:var(--zbl2-card-bg);
  border:1px solid var(--zbl2-border);
  border-radius:var(--zbl2-radius,22px)!important;
  box-shadow:var(--zbl2-shadow,0 16px 38px rgba(10,37,64,.09));
  overflow:hidden;
}

.zbl2-layout-hero-desk .zbl2-hero-secondary-card:after{
  width:3px;
}

.zbl2-layout-hero-desk .zbl2-hero-secondary-card .zbl2-image-link{
  height:100%;
}

.zbl2-layout-hero-desk .zbl2-hero-secondary-card .zbl2-img,
.zbl2-layout-hero-desk .zbl2-hero-secondary-card .zbl2-image-fallback{
  height:100%;
  aspect-ratio:auto;
  object-fit:cover;
}

.zbl2-layout-hero-desk .zbl2-hero-secondary-card .zbl2-card-body{
  padding:16px 18px;
}

.zbl2-layout-hero-desk .zbl2-hero-secondary-card .zbl2-card-title,
.zbl2-layout-hero-desk .zbl2-hero-secondary-card .zbl2-card-title a{
  font-size:clamp(16px,1.25vw,20px)!important;
  line-height:1.18;
}

.zbl2-layout-hero-desk .zbl2-hero-equal-card .zbl2-img,
.zbl2-layout-hero-desk .zbl2-hero-equal-card .zbl2-image-fallback{
  aspect-ratio:16/7.5;
}

.zbl2-layout-hero-desk .zbl2-main-secondary-mini-list .zbl2-hero-secondary-stack{
  gap:10px;
}

.zbl2-layout-hero-desk .zbl2-main-secondary-mini-list .zbl2-hero-secondary-stack .zbl2-list-item{
  background:var(--zbl2-list-item-bg,rgba(255,255,255,.08));
  border-color:var(--zbl2-border);
}

@media(max-width:980px){
  .zbl2-layout-hero-desk .zbl2-hero-secondary-card{
    grid-template-columns:minmax(150px,.42fr) minmax(0,1fr);
  }
}

@media(max-width:640px){
  .zbl2-layout-hero-desk .zbl2-hero-secondary-card{
    grid-template-columns:1fr;
  }
  .zbl2-layout-hero-desk .zbl2-hero-secondary-card .zbl2-img,
  .zbl2-layout-hero-desk .zbl2-hero-secondary-card .zbl2-image-fallback{
    height:auto;
    aspect-ratio:16/9;
  }
}


/* =========================================================
   ZBL 2.0.13 RANKED-LIST RESPONSIVE / COMPACT WIRING
   Fixes margin/padding, metadata readability, arrow spacing, and
   2-column Divi usage for ranked-list sections.
   ========================================================= */
.zbl2-layout-ranked-list{
  container-type:inline-size;
  background:var(--zbl2-section-bg) !important;
  border-top:0 !important;
  border-bottom:0 !important;
  padding:var(--zbl2-section-padding-d,54px 18px) !important;
  overflow:hidden !important;
}
.zbl2-layout-ranked-list .zbl2-inner{
  max-width:1320px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.zbl2-layout-ranked-list .zbl2-head{
  margin-bottom:20px !important;
  padding-bottom:16px !important;
  border-bottom:1px solid var(--zbl2-border) !important;
}
.zbl2-layout-ranked-list .zbl2-ranked-list{
  background:var(--zbl2-panel-bg,rgba(255,255,255,.82)) !important;
  border:1px solid var(--zbl2-border) !important;
  border-radius:var(--zbl2-radius,24px) !important;
  box-shadow:var(--zbl2-shadow,0 16px 38px rgba(10,37,64,.09)) !important;
  padding:clamp(14px,2vw,28px) !important;
  overflow:hidden !important;
}
.zbl2-layout-ranked-list .zbl2-ranked-item{
  grid-template-columns:minmax(56px,96px) minmax(0,1fr) 52px !important;
  gap:clamp(14px,2vw,28px) !important;
  padding:clamp(18px,2.2vw,26px) clamp(10px,1.8vw,22px) !important;
  border-bottom:1px solid color-mix(in srgb,var(--zbl2-border) 82%,transparent) !important;
}
.zbl2-layout-ranked-list .zbl2-ranked-no{
  color:var(--zbl2-title-color,#030712) !important;
  opacity:.92 !important;
  font-size:clamp(42px,6vw,92px) !important;
  letter-spacing:-.08em !important;
}
.zbl2-layout-ranked-list .zbl2-ranked-title,
.zbl2-layout-ranked-list .zbl2-ranked-title a{
  color:var(--zbl2-title-color,#030712) !important;
  font-size:var(--zbl2-title-size-d,22px) !important;
  line-height:1.18 !important;
}
.zbl2-layout-ranked-list .zbl2-ranked-cat,
.zbl2-layout-ranked-list .zbl2-ranked-date{
  color:var(--zbl2-muted-color,#64748B) !important;
  font-size:var(--zbl2-meta-size-d,10px) !important;
  font-weight:var(--zbl2-meta-weight,700) !important;
  line-height:1.25 !important;
  margin-bottom:8px !important;
}
.zbl2-layout-ranked-list .zbl2-ranked-arrow{
  width:52px !important;
  height:52px !important;
  border-radius:calc(var(--zbl2-radius,24px) * .38) !important;
  background:var(--zbl2-accent-2,#38BDF8) !important;
  color:#06131D !important;
  font-size:24px !important;
  justify-self:end !important;
}
.zbl2-layout-ranked-list.zbl2-compact-section .zbl2-ranked-list{
  padding:14px !important;
}
.zbl2-layout-ranked-list.zbl2-compact-section .zbl2-ranked-item{
  grid-template-columns:minmax(42px,64px) minmax(0,1fr) 42px !important;
  gap:12px !important;
  padding:16px 12px !important;
}
.zbl2-layout-ranked-list.zbl2-compact-section .zbl2-ranked-no{
  font-size:clamp(32px,5vw,58px) !important;
}
.zbl2-layout-ranked-list.zbl2-compact-section .zbl2-ranked-title,
.zbl2-layout-ranked-list.zbl2-compact-section .zbl2-ranked-title a{
  font-size:var(--zbl2-title-size-d,18px) !important;
}
.zbl2-layout-ranked-list.zbl2-compact-section .zbl2-ranked-arrow{
  width:42px !important;
  height:42px !important;
  font-size:20px !important;
}
@container (max-width:720px){
  .zbl2-layout-ranked-list .zbl2-ranked-list{
    padding:12px !important;
  }
  .zbl2-layout-ranked-list .zbl2-ranked-item{
    grid-template-columns:minmax(36px,54px) minmax(0,1fr) 38px !important;
    gap:11px !important;
    padding:15px 8px !important;
  }
  .zbl2-layout-ranked-list .zbl2-ranked-no{
    font-size:clamp(30px,12cqw,48px) !important;
  }
  .zbl2-layout-ranked-list .zbl2-ranked-title,
  .zbl2-layout-ranked-list .zbl2-ranked-title a{
    font-size:var(--zbl2-title-size-d,16px) !important;
    line-height:1.22 !important;
  }
  .zbl2-layout-ranked-list .zbl2-ranked-arrow{
    width:38px !important;
    height:38px !important;
    font-size:18px !important;
  }
}
@media(max-width:980px){
  .zbl2-layout-ranked-list{
    padding:var(--zbl2-section-padding-t,42px 16px) !important;
  }
  .zbl2-layout-ranked-list .zbl2-ranked-title,
  .zbl2-layout-ranked-list .zbl2-ranked-title a{
    font-size:var(--zbl2-title-size-t,var(--zbl2-title-size-d,19px)) !important;
  }
  .zbl2-layout-ranked-list .zbl2-ranked-cat,
  .zbl2-layout-ranked-list .zbl2-ranked-date{
    font-size:var(--zbl2-meta-size-t,var(--zbl2-meta-size-d,9.5px)) !important;
  }
}
@media(max-width:640px){
  .zbl2-layout-ranked-list{
    padding:var(--zbl2-section-padding-m,34px 14px) !important;
  }
  .zbl2-layout-ranked-list .zbl2-ranked-item{
    grid-template-columns:minmax(34px,48px) minmax(0,1fr) !important;
    gap:10px !important;
  }
  .zbl2-layout-ranked-list .zbl2-ranked-arrow{
    display:none !important;
  }
  .zbl2-layout-ranked-list .zbl2-ranked-no{
    font-size:clamp(30px,14vw,46px) !important;
  }
  .zbl2-layout-ranked-list .zbl2-ranked-title,
  .zbl2-layout-ranked-list .zbl2-ranked-title a{
    font-size:var(--zbl2-title-size-m,var(--zbl2-title-size-t,17px)) !important;
  }
  .zbl2-layout-ranked-list .zbl2-ranked-cat,
  .zbl2-layout-ranked-list .zbl2-ranked-date{
    font-size:var(--zbl2-meta-size-m,var(--zbl2-meta-size-t,9px)) !important;
  }
}


/* =========================================================
   ZBL 2.0.14 STORY-STACK RATIO CONTROLS
   Fixes oversized image/text imbalance for full-width story-stack.
   New shortcode parameters:
   story_image_width_desktop/tablet/mobile
   story_image_min_height_desktop/tablet/mobile
   story_card_min_height_desktop/tablet/mobile
   ========================================================= */

.zbl2-layout-story-stack .zbl2-stack-card{
  grid-template-columns:minmax(140px,var(--zbl2-story-image-width-d,28%)) minmax(0,1fr) !important;
  min-height:var(--zbl2-story-card-min-height-d,176px) !important;
  align-items:stretch !important;
}

.zbl2-layout-story-stack .zbl2-stack-card .zbl2-image-link{
  height:100% !important;
  min-height:var(--zbl2-story-image-min-height-d,176px) !important;
}

.zbl2-layout-story-stack .zbl2-stack-card .zbl2-img,
.zbl2-layout-story-stack .zbl2-stack-card .zbl2-image-fallback{
  height:100% !important;
  min-height:var(--zbl2-story-image-min-height-d,176px) !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
}

.zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-body{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  padding:22px 24px !important;
}

.zbl2-layout-story-stack .zbl2-stack-card .zbl2-kicker{
  font-size:var(--zbl2-meta-size-d,9px) !important;
}

.zbl2-layout-story-stack .zbl2-stack-card .zbl2-date{
  font-size:var(--zbl2-meta-size-d,9px) !important;
}

.zbl2-layout-story-stack .zbl2-stack-card .zbl2-excerpt{
  font-size:var(--zbl2-excerpt-size-d,13px) !important;
  max-width:760px;
}

/* Utility modifiers through class="..." if you want quick presets without adding params. */
.zbl2-story-compact-media .zbl2-stack-card{
  grid-template-columns:minmax(120px,var(--zbl2-story-image-width-d,24%)) minmax(0,1fr) !important;
  min-height:var(--zbl2-story-card-min-height-d,150px) !important;
}
.zbl2-story-compact-media .zbl2-stack-card .zbl2-image-link,
.zbl2-story-compact-media .zbl2-stack-card .zbl2-img,
.zbl2-story-compact-media .zbl2-stack-card .zbl2-image-fallback{
  min-height:var(--zbl2-story-image-min-height-d,150px) !important;
}

@media(max-width:980px){
  .zbl2-layout-story-stack .zbl2-stack-card{
    grid-template-columns:minmax(120px,var(--zbl2-story-image-width-t,34%)) minmax(0,1fr) !important;
    min-height:var(--zbl2-story-card-min-height-t,150px) !important;
  }
  .zbl2-layout-story-stack .zbl2-stack-card .zbl2-image-link,
  .zbl2-layout-story-stack .zbl2-stack-card .zbl2-img,
  .zbl2-layout-story-stack .zbl2-stack-card .zbl2-image-fallback{
    min-height:var(--zbl2-story-image-min-height-t,150px) !important;
  }
  .zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-body{
    padding:18px 20px !important;
  }
}

@media(max-width:640px){
  .zbl2-layout-story-stack .zbl2-stack-card{
    grid-template-columns:1fr !important;
    min-height:var(--zbl2-story-card-min-height-m,auto) !important;
  }
  .zbl2-layout-story-stack .zbl2-stack-card .zbl2-image-link,
  .zbl2-layout-story-stack .zbl2-stack-card .zbl2-img,
  .zbl2-layout-story-stack .zbl2-stack-card .zbl2-image-fallback{
    min-height:var(--zbl2-story-image-min-height-m,160px) !important;
    height:auto !important;
    aspect-ratio:16/9 !important;
  }
  .zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-body{
    padding:17px !important;
  }
}


/* =========================================================
   ZBL 2.0.15 STORY-STACK TITLE SIZE CONTRACT
   story-stack now responds to title_size_desktop/tablet/mobile.
   If title_size_* is not explicitly passed, it safely falls back to
   list_title_size_* for compact/sidebar compatibility.
   ========================================================= */
.zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-title,
.zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-title a{
  font-size:var(--zbl2-story-title-size-d,var(--zbl2-list-title-size-d,var(--zbl2-title-size-d,14px))) !important;
  font-weight:var(--zbl2-title-weight,var(--zbl2-list-title-weight,750)) !important;
  font-style:var(--zbl2-title-style,var(--zbl2-list-title-style,normal)) !important;
}

@media(max-width:980px){
  .zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-title,
  .zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-title a{
    font-size:var(--zbl2-story-title-size-t,var(--zbl2-story-title-size-d,var(--zbl2-list-title-size-t,var(--zbl2-list-title-size-d,var(--zbl2-title-size-t,13px))))) !important;
  }
}

@media(max-width:640px){
  .zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-title,
  .zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-title a{
    font-size:var(--zbl2-story-title-size-m,var(--zbl2-story-title-size-t,var(--zbl2-story-title-size-d,var(--zbl2-list-title-size-m,var(--zbl2-list-title-size-t,var(--zbl2-list-title-size-d,var(--zbl2-title-size-m,12px))))))) !important;
  }
}


/* =========================================================
   ZBL 2.0.16 RADIUS ZERO + STORY STACK SURFACE HARDENING
   Ensures radius="0" or radius="0px" truly removes rounding
   from every visible plugin surface, including image wrappers.
   ========================================================= */
.zbl2-radius-zero,
.zbl2-radius-zero .zbl2-inner,
.zbl2-radius-zero .zbl2-head,
.zbl2-radius-zero .zbl2-card,
.zbl2-radius-zero .zbl2-lead-card,
.zbl2-radius-zero .zbl2-side-card,
.zbl2-radius-zero .zbl2-stack-card,
.zbl2-radius-zero .zbl2-reco-card,
.zbl2-radius-zero .zbl2-rail-card,
.zbl2-radius-zero .zbl2-hero-card,
.zbl2-radius-zero .zbl2-hero-left,
.zbl2-radius-zero .zbl2-hero-right,
.zbl2-radius-zero .zbl2-topic-col,
.zbl2-radius-zero .zbl2-list-item,
.zbl2-radius-zero .zbl2-ranked-list,
.zbl2-radius-zero .zbl2-ranked-item,
.zbl2-radius-zero .zbl2-image-link,
.zbl2-radius-zero .zbl2-reco-image,
.zbl2-radius-zero .zbl2-img,
.zbl2-radius-zero .zbl2-image-fallback{
  border-radius:0 !important;
}

/* Keep story-stack media rows clean even in two-column Divi rows. */
.zbl2-layout-story-stack .zbl2-stack-card{
  border-radius:var(--zbl2-radius,22px) !important;
  overflow:hidden !important;
}
.zbl2-layout-story-stack .zbl2-stack-card .zbl2-image-link{
  border-radius:0 !important;
  overflow:hidden !important;
}
.zbl2-layout-story-stack .zbl2-stack-card .zbl2-img,
.zbl2-layout-story-stack .zbl2-stack-card .zbl2-image-fallback{
  border-radius:0 !important;
}


/* =========================================================
   ZBL 2.0.17 LETTER-SPACING CONTRACT
   Shortcode parameters:
   section_title_letter_spacing="0.01em"
   title_letter_spacing="0.01em"
   list_title_letter_spacing="0.01em"
   excerpt_letter_spacing="0em"
   meta_letter_spacing="0.08em"
   ========================================================= */

/* Section/module headings */
.zbl2-section .zbl2-head h2,
.zbl2-section .zbl2-mini-head,
.zbl2-section .zbl2-topic-heading{
  letter-spacing:var(--zbl2-section-title-letter-spacing,-.035em) !important;
}

/* Main/card/image layout titles */
.zbl2-section .zbl2-card-title,
.zbl2-section .zbl2-card-title a,
.zbl2-layout-featured-grid .zbl2-card-title,
.zbl2-layout-featured-grid .zbl2-card-title a,
.zbl2-layout-mosaic-grid .zbl2-card-title,
.zbl2-layout-mosaic-grid .zbl2-card-title a,
.zbl2-layout-balanced-grid .zbl2-card-title,
.zbl2-layout-balanced-grid .zbl2-card-title a,
.zbl2-layout-simple-grid .zbl2-card-title,
.zbl2-layout-simple-grid .zbl2-card-title a,
.zbl2-layout-archive-grid .zbl2-card-title,
.zbl2-layout-archive-grid .zbl2-card-title a,
.zbl2-layout-lead-side .zbl2-card-title,
.zbl2-layout-lead-side .zbl2-card-title a,
.zbl2-layout-image-rail .zbl2-card-title,
.zbl2-layout-image-rail .zbl2-card-title a,
.zbl2-layout-hero-desk .zbl2-hero-card .zbl2-card-title,
.zbl2-layout-hero-desk .zbl2-hero-card .zbl2-card-title a,
.zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-title,
.zbl2-layout-story-stack .zbl2-stack-card .zbl2-card-title a,
.zbl2-ranked-title,
.zbl2-ranked-title a,
.zbl2-reco-title,
.zbl2-reco-title a{
  letter-spacing:var(--zbl2-title-letter-spacing,0.005em) !important;
}

/* List/compact/topic/hero-side titles */
.zbl2-section .zbl2-list-title,
.zbl2-section .zbl2-list-title a,
.zbl2-layout-compact-list .zbl2-list-title,
.zbl2-layout-compact-list .zbl2-list-title a,
.zbl2-layout-topic-columns .zbl2-list-title,
.zbl2-layout-topic-columns .zbl2-list-title a,
.zbl2-layout-hero-desk .zbl2-side-list .zbl2-list-title,
.zbl2-layout-hero-desk .zbl2-side-list .zbl2-list-title a{
  letter-spacing:var(--zbl2-list-title-letter-spacing,0.005em) !important;
}

/* Excerpts and descriptions */
.zbl2-section .zbl2-excerpt,
.zbl2-section .zbl2-desc,
.zbl2-layout-story-stack .zbl2-stack-card .zbl2-excerpt{
  letter-spacing:var(--zbl2-excerpt-letter-spacing,0em) !important;
}

/* Meta/category/date/eyebrow/badges */
.zbl2-section .zbl2-eyebrow,
.zbl2-section .zbl2-kicker,
.zbl2-section .zbl2-date,
.zbl2-section .zbl2-list-cat,
.zbl2-section .zbl2-list-date,
.zbl2-section .zbl2-ranked-cat,
.zbl2-section .zbl2-ranked-date,
.zbl2-section .zbl2-reco-cat,
.zbl2-section .zbl2-index,
.zbl2-section .zbl2-pointer{
  letter-spacing:var(--zbl2-meta-letter-spacing,0.08em) !important;
}


/* =========================================================
   ZBL 2.0.19 RANKED-LIST RESPONSIVE CONTROL CONTRACT
   Shortcode parameters:
   rank_number_width_desktop/tablet/mobile="120px"
   rank_number_size_desktop/tablet/mobile="96px"
   rank_column_gap_desktop/tablet/mobile="28px"
   rank_item_padding_desktop/tablet/mobile="26px 0"
   rank_arrow_display_desktop/tablet/mobile="inline-flex" or "none"
   rank_arrow_size_desktop/tablet/mobile="58px"
   rank_number_align_desktop/tablet/mobile="left|center|right"
   rank_item_align_desktop/tablet/mobile="start|center|end"
   ========================================================= */
.zbl2-layout-ranked-list .zbl2-ranked-item{
  grid-template-columns:var(--zbl2-rank-number-width-d,minmax(86px,150px)) minmax(0,1fr) var(--zbl2-rank-arrow-size-d,68px) !important;
  gap:var(--zbl2-rank-gap-d,28px) !important;
  padding:var(--zbl2-rank-item-padding-d,26px 0) !important;
  align-items:var(--zbl2-rank-item-align-d,center) !important;
}
.zbl2-layout-ranked-list .zbl2-ranked-no{
  width:var(--zbl2-rank-number-width-d,auto) !important;
  min-width:var(--zbl2-rank-number-width-d,0) !important;
  font-size:var(--zbl2-rank-number-size-d,clamp(56px,8vw,128px)) !important;
  text-align:var(--zbl2-rank-number-align-d,left) !important;
}
.zbl2-layout-ranked-list .zbl2-ranked-arrow{
  display:var(--zbl2-rank-arrow-display-d,inline-flex) !important;
  width:var(--zbl2-rank-arrow-size-d,58px) !important;
  height:var(--zbl2-rank-arrow-size-d,58px) !important;
}
@media(max-width:980px){
  .zbl2-layout-ranked-list .zbl2-ranked-item{
    grid-template-columns:var(--zbl2-rank-number-width-t,82px) minmax(0,1fr) var(--zbl2-rank-arrow-size-t,56px) !important;
    gap:var(--zbl2-rank-gap-t,22px) !important;
    padding:var(--zbl2-rank-item-padding-t,24px 0) !important;
    align-items:var(--zbl2-rank-item-align-t,center) !important;
  }
  .zbl2-layout-ranked-list .zbl2-ranked-no{
    width:var(--zbl2-rank-number-width-t,82px) !important;
    min-width:var(--zbl2-rank-number-width-t,82px) !important;
    font-size:var(--zbl2-rank-number-size-t,70px) !important;
    text-align:var(--zbl2-rank-number-align-t,left) !important;
  }
  .zbl2-layout-ranked-list .zbl2-ranked-arrow{
    display:var(--zbl2-rank-arrow-display-t,inline-flex) !important;
    width:var(--zbl2-rank-arrow-size-t,50px) !important;
    height:var(--zbl2-rank-arrow-size-t,50px) !important;
  }
}
@media(max-width:640px){
  .zbl2-layout-ranked-list .zbl2-ranked-item{
    grid-template-columns:var(--zbl2-rank-number-width-m,58px) minmax(0,1fr) !important;
    gap:var(--zbl2-rank-gap-m,18px) !important;
    padding:var(--zbl2-rank-item-padding-m,22px 10px) !important;
    align-items:var(--zbl2-rank-item-align-m,center) !important;
  }
  .zbl2-layout-ranked-list .zbl2-ranked-no{
    width:var(--zbl2-rank-number-width-m,58px) !important;
    min-width:var(--zbl2-rank-number-width-m,58px) !important;
    font-size:var(--zbl2-rank-number-size-m,48px) !important;
    line-height:.95 !important;
    letter-spacing:-.06em !important;
    text-align:var(--zbl2-rank-number-align-m,center) !important;
  }
  .zbl2-layout-ranked-list .zbl2-ranked-body{
    min-width:0 !important;
    padding-top:2px !important;
  }
  .zbl2-layout-ranked-list .zbl2-ranked-arrow{
    display:var(--zbl2-rank-arrow-display-m,none) !important;
    width:var(--zbl2-rank-arrow-size-m,42px) !important;
    height:var(--zbl2-rank-arrow-size-m,42px) !important;
  }
}


/* =========================================================
   ZBL 2.0.19 RANKED-LIST MOBILE ALIGNMENT POLISH
   These variables keep the rank number visually centered beside the text.
   ========================================================= */
@media(max-width:640px){
  .zbl2-layout-ranked-list .zbl2-ranked-item{
    align-items:var(--zbl2-rank-item-align-m,center) !important;
  }
  .zbl2-layout-ranked-list .zbl2-ranked-no{
    display:flex !important;
    align-items:center !important;
    justify-content:var(--zbl2-rank-number-flex-m,center) !important;
    text-align:var(--zbl2-rank-number-align-m,center) !important;
  }
}
