/* ==========================================================================
   StartupSuperb Design System — JNews skin
   Source of truth: claude.ai/design project "StartupSuperb Design System"
   Update-safe: loaded on top of JNews via wp-content/novamira-sandbox loader.
   Never edit theme files; edit this file instead.
   ========================================================================== */

:root {
  /* Brand ramps */
  --ss-blue-50:#EAF3FF; --ss-blue-100:#D3E7FF; --ss-blue-200:#A8CFFF;
  --ss-blue-300:#7DB6FF; --ss-blue-400:#3D93FF; --ss-blue-500:#0370FD;
  --ss-blue-600:#025BD1; --ss-blue-700:#0246A3; --ss-blue-800:#023277;
  --ss-blue-900:#01204D;
  --ss-yellow-50:#FFFBEA; --ss-yellow-100:#FFF3C4; --ss-yellow-300:#FED752;
  --ss-yellow-500:#FDD016; --ss-yellow-600:#D9AF0A; --ss-yellow-700:#A98708;
  --ss-gray-0:#FFFFFF; --ss-gray-50:#F7F8FA; --ss-gray-100:#EEF1F4;
  --ss-gray-200:#E2E6EB; --ss-gray-300:#CBD2DA; --ss-gray-400:#A9B3BE;
  --ss-gray-500:#7C8794; --ss-gray-600:#5B6672; --ss-gray-700:#414A54;
  --ss-gray-800:#2B323A; --ss-gray-900:#171B20; --ss-gray-950:#0B0D10;
  --ss-success-50:#EAFBF1; --ss-success-300:#7FE0AC; --ss-success-700:#106B3D;
  --ss-warning-50:#FFF7E6; --ss-warning-300:#FFD37D; --ss-warning-700:#96650A;
  --ss-danger-50:#FDEBEC; --ss-danger-300:#F4A3A8; --ss-danger-700:#8C1B25;

  /* Semantic */
  --ss-text-primary:var(--ss-gray-900);
  --ss-text-secondary:var(--ss-gray-600);
  --ss-text-tertiary:var(--ss-gray-500);
  --ss-link:var(--ss-blue-600);
  --ss-link-hover:var(--ss-blue-700);
  --ss-border-subtle:var(--ss-gray-200);
  --ss-border-default:var(--ss-gray-300);

  /* Type */
  --ss-font-sans:'Figtree',-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;
  --ss-font-text:'Inter',-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;
  --ss-font-mono:'IBM Plex Mono','SFMono-Regular',Consolas,monospace;
  --ss-tracking-tight:-0.03em;
  --ss-tracking-wider:0.08em;

  /* Shape, elevation, motion */
  --ss-radius-sm:4px; --ss-radius-md:6px; --ss-radius-lg:10px;
  --ss-shadow-xs:0 1px 2px rgba(23,27,32,.06);
  --ss-shadow-sm:0 2px 6px rgba(23,27,32,.08);
  --ss-shadow-md:0 6px 16px rgba(23,27,32,.10);
  --ss-focus-ring:0 0 0 3px rgba(3,112,253,.25);
  --ss-ease:cubic-bezier(.2,0,0,1);
  --ss-fast:120ms; --ss-base:180ms;
}

/* --------------------------------------------------------------------------
   Base typography
   -------------------------------------------------------------------------- */
body {
  font-family: var(--ss-font-text);
  color: var(--ss-gray-800);
  text-rendering: optimizeLegibility;
  font-feature-settings: "kern" 1, "liga" 1;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6,
.jeg_post_title, .jeg_block_title, .widget_title, .jeg_tabpost_nav {
  font-family: var(--ss-font-sans);
  color: var(--ss-gray-900);
}
h1, h2 { letter-spacing: var(--ss-tracking-tight); font-weight: 800; }
h3, h4 { font-weight: 700; }
::selection { background: var(--ss-blue-100); color: var(--ss-gray-900); }

a { color: var(--ss-link); transition: color var(--ss-fast) var(--ss-ease); }
a:hover { color: var(--ss-link-hover); }

/* Verified figures / data register: monospace */
.jeg_post_views, .jeg_meta_views, code, kbd, samp, pre,
.ss-figure, .ss-data { font-family: var(--ss-font-mono); }

/* --------------------------------------------------------------------------
   Header: white chrome, hairline border, no heavy shadow
   -------------------------------------------------------------------------- */
.jeg_header, .jeg_header_sticky .jeg_sticky_navbar {
  background: #fff;
}
.jeg_navbar_wrapper, .jeg_navbar, .jeg_bottombar {
  background: #fff !important;
  border-bottom: 1px solid var(--ss-border-subtle);
  box-shadow: none !important;
}
.jeg_navbar_boxed .jeg_nav_row { box-shadow: var(--ss-shadow-xs); }
.jeg_header .jeg_logo a, .jeg_header .site_title a {
  font-family: var(--ss-font-sans);
  font-weight: 800;
  letter-spacing: var(--ss-tracking-tight);
  color: var(--ss-gray-900);
}
/* Main nav */
.jeg_menu > li > a {
  font-family: var(--ss-font-sans);
  font-size: 14px;
  font-weight: 600;
  color: var(--ss-text-secondary);
  transition: color var(--ss-fast) var(--ss-ease);
}
.jeg_menu > li > a:hover,
.jeg_menu > li.sfHover > a,
.jeg_menu > li.current-menu-item > a,
.jeg_menu > li.current_page_item > a { color: var(--ss-blue-600); }
.jeg_main_menu > li.current-menu-item > a:after,
.jeg_main_menu > li.current_page_item > a:after { background: var(--ss-blue-600); }
/* Dropdowns: flat card */
.jeg_menu li ul, .sub-menu {
  border-radius: var(--ss-radius-md);
  border: 1px solid var(--ss-border-subtle);
  box-shadow: var(--ss-shadow-md);
}
/* Top bar: quiet ink strip */
.jeg_topbar {
  background: var(--ss-gray-950) !important;
  border-bottom: none;
  color: var(--ss-gray-400);
}
.jeg_topbar a { color: var(--ss-gray-300); }
.jeg_topbar a:hover { color: #fff; }
.jeg_topbar .jeg_top_date { font-family: var(--ss-font-mono); font-size: 11px; letter-spacing: 0.02em; }

/* Search */
.jeg_search_wrapper .jeg_search_input {
  font-family: var(--ss-font-text);
  border: 1px solid var(--ss-border-default);
  border-radius: var(--ss-radius-sm);
}
.jeg_search_wrapper .jeg_search_input:focus {
  border-color: var(--ss-blue-500);
  box-shadow: var(--ss-focus-ring);
}

/* --------------------------------------------------------------------------
   Post lists, cards, thumbnails
   -------------------------------------------------------------------------- */
.jeg_thumb, .jeg_thumb img, .thumbnail-container,
.jeg_post .jeg_thumb .thumbnail-container img {
  border-radius: var(--ss-radius-md);
}
.thumbnail-container { overflow: hidden; }
/* Kill zoom-on-hover: design bans scale effects */
.jeg_post:hover .thumbnail-container img,
.jeg_pl_lg_card:hover img,
.anim_zoom .thumbnail-container:hover img,
.jeg_post .thumbnail-container img { transform: none !important; }

.jeg_post_title a { color: var(--ss-gray-900); transition: color var(--ss-fast) var(--ss-ease); }
.jeg_post_title a:hover { color: var(--ss-blue-600); }
.jeg_post_title { font-weight: 700; letter-spacing: -0.015em; line-height: 1.25; }

/* Meta: uppercase data-label register */
.jeg_post_meta, .jeg_post_meta a, .entry-meta {
  font-family: var(--ss-font-sans);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: var(--ss-tracking-wider);
  color: var(--ss-text-tertiary);
}
.jeg_post_meta a:hover { color: var(--ss-blue-600); }

/* Category chip over thumbs and in lists */
.jeg_post_category a, .jeg_meta_category a {
  background: var(--ss-blue-500);
  color: #fff !important;
  font-family: var(--ss-font-sans);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: var(--ss-tracking-wider);
  border-radius: var(--ss-radius-sm);
  padding: 3px 8px;
  transition: background var(--ss-fast) var(--ss-ease);
}
.jeg_post_category a:hover, .jeg_meta_category a:hover { background: var(--ss-blue-600); color:#fff !important; }
.jeg_meta_category a { background: transparent; color: var(--ss-blue-600) !important; padding: 0; }
.jeg_meta_category a:hover { background: transparent; color: var(--ss-blue-700) !important; }

/* Boxed modules / widgets: hairline card, restrained lift */
.jeg_pl_lg_box, .jeg_postblock.boxed .jeg_posts,
.widget.jeg_widget, .jeg_sidefeed .jeg_post {
  border-radius: var(--ss-radius-md);
}
.jnews_widget, .widget {
  border-color: var(--ss-border-subtle);
}
/* md/lg "card" layouts use an overlapping content box — a wrapper border
   misaligns with the visual card (Funding Flow bug), so style the inner
   content box instead and keep the wrapper untouched. */
.jeg_pl_md_card .jeg_postblock_content, .jeg_pl_lg_card .jeg_postblock_content {
  transition: box-shadow var(--ss-base) var(--ss-ease);
}

/* Block headings: flat editorial rule, no colored boxes */
.jeg_block_heading { border-color: var(--ss-border-subtle); }
.jeg_block_heading .jeg_block_title span,
.jeg_block_heading .jeg_block_title strong {
  font-family: var(--ss-font-sans);
  font-weight: 800;
  letter-spacing: var(--ss-tracking-tight);
  color: var(--ss-gray-900);
  background: transparent;
}
.jeg_block_heading_1 .jeg_block_title span,
.jeg_block_heading_2 .jeg_block_title span,
.jeg_block_heading_3 .jeg_block_title span,
.jeg_block_heading_6 .jeg_block_title span { background: transparent; color: var(--ss-gray-900); }
.jeg_block_heading_5 .jeg_block_title span { background: var(--ss-gray-900); color:#fff; border-radius: var(--ss-radius-sm); }
.jeg_block_heading_1, .jeg_block_heading_2, .jeg_block_heading_3 {
  border-bottom: 2px solid var(--ss-gray-900);
}
.jeg_block_heading_1:after, .jeg_block_heading_2:after, .jeg_block_heading_3:after,
.jeg_block_heading .jeg_block_title span:after { background: var(--ss-blue-500); border-color: var(--ss-blue-500); }
.jeg_subcat_list li a { border-radius: var(--ss-radius-sm); font-family: var(--ss-font-sans); }

/* Readmore */
.jeg_readmore {
  font-family: var(--ss-font-sans);
  font-weight: 600;
  color: var(--ss-blue-600);
  border-color: var(--ss-border-default);
  border-radius: var(--ss-radius-sm);
  transition: all var(--ss-fast) var(--ss-ease);
}
.jeg_readmore:hover { color: #fff; background: var(--ss-blue-600); border-color: var(--ss-blue-600); }

/* --------------------------------------------------------------------------
   Buttons and forms
   -------------------------------------------------------------------------- */
.jeg_btn, .btn, button[type=submit], input[type=submit],
.wpforms-submit, .jeg_popup_account .btn {
  font-family: var(--ss-font-sans);
  font-weight: 700;
  background: var(--ss-blue-500);
  color: #fff;
  border: 1px solid var(--ss-blue-500);
  border-radius: var(--ss-radius-sm);
  box-shadow: none;
  transition: background var(--ss-fast) var(--ss-ease), border-color var(--ss-fast) var(--ss-ease);
}
.jeg_btn:hover, .btn:hover, button[type=submit]:hover, input[type=submit]:hover,
.wpforms-submit:hover {
  background: var(--ss-blue-600);
  border-color: var(--ss-blue-600);
  color: #fff;
}
input[type=text], input[type=email], input[type=url], input[type=search],
input[type=password], textarea, select {
  font-family: var(--ss-font-text);
  border: 1px solid var(--ss-border-default);
  border-radius: var(--ss-radius-sm);
  transition: border-color var(--ss-fast) var(--ss-ease), box-shadow var(--ss-fast) var(--ss-ease);
}
input[type=text]:focus, input[type=email]:focus, input[type=url]:focus,
input[type=search]:focus, input[type=password]:focus, textarea:focus {
  border-color: var(--ss-blue-500);
  box-shadow: var(--ss-focus-ring);
  outline: none;
}

/* --------------------------------------------------------------------------
   Single article
   -------------------------------------------------------------------------- */
.entry-header .jeg_post_title, .jeg_single_tpl_1 .jeg_post_title {
  font-weight: 800;
  letter-spacing: var(--ss-tracking-tight);
  line-height: 1.15;
}
.jeg_post_subtitle {
  font-family: var(--ss-font-text);
  color: var(--ss-text-secondary);
  line-height: 1.5;
}
.content-inner, .entry-content {
  font-family: var(--ss-font-text);
  font-size: 18px; /* --text-md: long-form reading size */
  line-height: 1.65;
  color: var(--ss-gray-800);
}
.entry-content a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.entry-content h2, .entry-content h3 { margin-top: 1.6em; }
.entry-content blockquote {
  border-left: 2px solid var(--ss-yellow-500);
  background: var(--ss-gray-50);
  border-radius: 0 var(--ss-radius-md) var(--ss-radius-md) 0;
  font-style: normal;
  color: var(--ss-gray-700);
}
.entry-content table { border-collapse: collapse; }
.entry-content table td, .entry-content table th { border: none; border-bottom: 1px solid var(--ss-border-subtle); padding: .5em 1em; }
.entry-content table th { font-family: var(--ss-font-sans); }
.entry-content table td { font-variant-numeric: tabular-nums lining-nums; }
.jeg_share_button a, .jeg_share_count { border-radius: var(--ss-radius-sm); }
.jeg_post_tags a {
  font-family: var(--ss-font-sans);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border: 1px solid var(--ss-border-subtle);
  border-radius: 999px;
  color: var(--ss-text-secondary);
  background: transparent;
  transition: all var(--ss-fast) var(--ss-ease);
}
.jeg_post_tags a:hover { border-color: var(--ss-blue-500); color: var(--ss-blue-600); background: var(--ss-blue-50); }
/* Author box, related, comments */
.jeg_authorbox { border: 1px solid var(--ss-border-subtle); border-radius: var(--ss-radius-md); }
.jeg_breadcrumbs, .jeg_breadcrumbs a {
  font-family: var(--ss-font-sans);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ss-text-tertiary);
}
.jeg_breadcrumbs a:hover { color: var(--ss-blue-600); }

/* --------------------------------------------------------------------------
   Sidebar and widgets
   -------------------------------------------------------------------------- */
.widget_title {
  font-weight: 800;
  letter-spacing: var(--ss-tracking-tight);
  border-color: var(--ss-gray-900);
}
.widget_title span { background: transparent; color: var(--ss-gray-900); }
.widget_title:after { background: var(--ss-blue-500); }
.jeg_tabpost_nav li.active { border-color: var(--ss-blue-500); color: var(--ss-blue-600); }

/* Pagination */
.page_nav, .page_number, .jeg_navigation .page_number {
  font-family: var(--ss-font-mono);
  border-radius: var(--ss-radius-sm);
  border: 1px solid var(--ss-border-subtle);
  transition: all var(--ss-fast) var(--ss-ease);
}
.page_number.active, .page_number:hover { background: var(--ss-blue-500); border-color: var(--ss-blue-500); color: #fff; }

/* --------------------------------------------------------------------------
   Footer: ink surface (gray-950), quiet text
   -------------------------------------------------------------------------- */
.jeg_footer, .jeg_footer .jeg_footer_container, .jeg_footer_content {
  background: var(--ss-gray-950) !important;
  color: var(--ss-gray-400);
}
.jeg_footer .jeg_footer_heading h3, .jeg_footer .widget_title,
.jeg_footer .jeg_footer_heading .jeg_footer_title {
  color: #fff;
  font-family: var(--ss-font-sans);
  font-weight: 700;
  border: none;
}
.jeg_footer a { color: var(--ss-gray-300); transition: color var(--ss-fast) var(--ss-ease); }
.jeg_footer a:hover { color: #fff; }
.jeg_footer_bottom, .jeg_footer .jeg_footer_botbar {
  background: var(--ss-gray-950) !important;
  border-top: 1px solid var(--ss-gray-800);
  color: var(--ss-gray-500);
}
.jeg_footer .socials_widget a, .jeg_footer .jeg_social_icon_block a {
  background: var(--ss-gray-800);
  border-radius: var(--ss-radius-sm);
  transition: background var(--ss-fast) var(--ss-ease);
}
.jeg_footer .socials_widget a:hover { background: var(--ss-blue-600); }

/* --------------------------------------------------------------------------
   Misc chrome
   -------------------------------------------------------------------------- */
/* Back-to-top, trending strips, tickers */
.jeg_ad, .jnews_ticker_wrapper .jeg_ticker_label {
  border-radius: var(--ss-radius-sm);
}
.jeg_ticker_label { background: var(--ss-yellow-500) !important; color: var(--ss-gray-900) !important; font-family: var(--ss-font-sans); font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; }
.jeg_slide_caption .jeg_post_category a { background: var(--ss-yellow-500); color: var(--ss-gray-900) !important; }
.jeg_slide_caption .jeg_post_category a:hover { background: var(--ss-yellow-600); }

/* Bookmark/like icons inherit accent */
.jeg_bookmark:hover, .jeg_like:hover { color: var(--ss-blue-600); }

/* Table of contents plugin */
#toc_container {
  background: var(--ss-gray-50);
  border: 1px solid var(--ss-border-subtle);
  border-radius: var(--ss-radius-md);
  font-family: var(--ss-font-text);
}
#toc_container .toc_title { font-family: var(--ss-font-sans); font-weight: 700; color: var(--ss-gray-900); }

/* --------------------------------------------------------------------------
   v2 fixes from live audit
   -------------------------------------------------------------------------- */
/* Wordmark: ink, not blue (design: dark wordmark on white chrome) */
.jeg_logo a, .jeg_logo a:hover,
.jeg_header .jeg_logo .site_title a { color: var(--ss-gray-900) !important; }

/* Nav: sentence case, 600 weight (labels are stored sentence-case) */
.jeg_main_menu > li > a,
.jeg_menu.jeg_main_menu > li > a {
  text-transform: none;
  letter-spacing: 0;
  font-weight: 600;
}

/* Flatten ALL block-heading variants: no colored boxes behind titles.
   Elementor widget CSS sets bg on the wrapper with higher specificity. */
.jeg_block_heading,
.jeg_block_heading.jeg_block_heading_1, .jeg_block_heading.jeg_block_heading_2,
.jeg_block_heading.jeg_block_heading_3, .jeg_block_heading.jeg_block_heading_4,
.jeg_block_heading.jeg_block_heading_5, .jeg_block_heading.jeg_block_heading_6,
.jeg_block_heading.jeg_block_heading_7, .jeg_block_heading.jeg_block_heading_8,
.elementor-widget .jeg_block_heading {
  background: transparent !important;
  padding-left: 0;
  border-bottom: 2px solid var(--ss-gray-900) !important;
  border-top: none;
}
.jeg_block_heading .jeg_block_title,
.jeg_block_heading .jeg_block_title span,
.jeg_block_heading .jeg_block_title strong,
.elementor-widget .jeg_block_heading .jeg_block_title span {
  background: transparent !important;
  color: var(--ss-gray-900) !important;
  padding-left: 0;
}
/* Small accent segment on the rule, brand blue */
.jeg_block_heading:after,
.jeg_block_heading.jeg_block_heading_3:after {
  background: var(--ss-blue-500) !important;
  border-color: var(--ss-blue-500) !important;
}

/* Widget titles in sidebar share the flat treatment */
.widget_title, .jeg_footer .widget_title {
  background: transparent !important;
}
.widget_title span { background: transparent !important; color: var(--ss-gray-900) !important; }
.jeg_footer .widget_title span { color: #fff !important; }

/* Breaking-news / newsflash strip: yellow data-label register */
.jeg_breakingnews_title {
  background: var(--ss-yellow-500) !important;
  color: var(--ss-gray-900) !important;
  font-family: var(--ss-font-sans);
  font-weight: 700;
  letter-spacing: 0.06em;
}
.jeg_breakingnews_title span, .jeg_breakingnews_title strong { color: var(--ss-gray-900) !important; }
.jeg_breakingnews { border: 1px solid var(--ss-border-subtle); border-radius: var(--ss-radius-sm); }
.jeg_breakingnews_content .jeg_post_title a { font-family: var(--ss-font-text); font-weight: 500; }

/* --------------------------------------------------------------------------
   v3: modern single-row header, brand mark, footer columns,
   featured-image fix, Highlights (TOC+) restyle, hover contrast
   -------------------------------------------------------------------------- */

/* Header: modern transparent masthead — centered logo on top, menu row below */
/* Header must sit above page content so menu dropdowns clear the news ticker.
   The ticker's Elementor section otherwise paints over the absolute dropdown. */
.jeg_header, .jeg_header_wrapper { position: relative; z-index: 200; }
.jeg_menu li ul, .jeg_menu li .sub-menu,
.jeg_bottombar .jeg_menu li ul { z-index: 300 !important; }
.jeg_breakingnews, .jnews_module_113_0_6a51f { position: relative; z-index: 1; }

@media (min-width: 992px) {
  .jeg_header:not(.jeg_header_sticky) {
    background: rgba(255, 255, 255, 0.86);
    backdrop-filter: saturate(1.4) blur(14px);
    -webkit-backdrop-filter: saturate(1.4) blur(14px);
  }
  .jeg_midbar, .jeg_bottombar {
    background: transparent !important;
    box-shadow: none !important;
  }
  .jeg_midbar { border-bottom: none; }
  .jeg_bottombar { border-bottom: 1px solid var(--ss-border-subtle); border-top: 1px solid var(--ss-gray-100); }
  /* Logo row: search left, logo center, Subscribe right */
  .jeg_midbar .container > .jeg_nav_row {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
  }
  .jeg_midbar .jeg_nav_col { display: flex; align-items: center; float: none; min-width: 0; }
  .jeg_midbar .jeg_nav_col.jeg_nav_left,
  .jeg_midbar .jeg_nav_col.jeg_nav_right { flex: 1 1 0; }
  .jeg_midbar .jeg_nav_col.jeg_nav_center { flex: 0 0 auto; justify-content: center; }
  .jeg_midbar .jeg_nav_left .item_wrap { display: flex; justify-content: flex-start; width: 100%; }
  .jeg_midbar .jeg_nav_right .item_wrap { display: flex; justify-content: flex-end; width: 100%; }
  /* Menu row: centered */
  .jeg_bottombar .container > .jeg_nav_row { display: flex; }
  .jeg_bottombar .jeg_nav_col { display: flex; align-items: center; float: none; width: 100%; }
  .jeg_bottombar .jeg_nav_col.jeg_nav_center .item_wrap {
    display: flex;
    justify-content: center;
    width: 100%;
  }
  .jeg_bottombar .jeg_main_menu { display: flex; flex-wrap: nowrap; white-space: nowrap; }
  .jeg_bottombar .jeg-badge-floating { top: 2px; }
}
.jeg_midbar .jeg_logo { padding: 22px 0 16px; }
.jeg_midbar .jeg_logo h1 { margin: 0; line-height: 1; }
.jeg_logo a {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-size: 38px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: var(--ss-tracking-tight);
  white-space: nowrap;
  color: var(--ss-gray-900) !important;
}
.jeg_logo a::before {
  content: '';
  flex: 0 0 auto;
  width: 54px;
  height: 54px;
  border-radius: var(--ss-radius-lg);
  background: url('mark.jpg') center/cover no-repeat;
  box-shadow: var(--ss-shadow-sm);
}
.jeg_footer .footer_logo::before { display: none; }
/* Menu row items */
.jeg_bottombar .jeg_main_menu > li > a { padding: 16px 13px; font-size: 14px; }
@media (max-width: 1280px) and (min-width: 992px) {
  .jeg_bottombar .jeg_main_menu > li > a { padding: 15px 9px; font-size: 13px; }
  .jeg_logo a { font-size: 32px; }
  .jeg_logo a::before { width: 46px; height: 46px; }
}
.jeg_midbar .jeg_search_wrapper .jeg_search_toggle { color: var(--ss-gray-700); }

/* Mobile header: brand-blue chrome, centered wordmark, color reaches the
   status bar via <meta name="theme-color" content="#0370FD"> */
@media (max-width: 991px) {
  .jeg_mobile_midbar, .jeg_header .jeg_mobile_midbar {
    background: var(--ss-blue-500) !important;
    box-shadow: none !important;
    border-bottom: none;
  }
  .jeg_mobile_midbar .jeg_mobile_logo { text-align: center; }
  .jeg_mobile_logo a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-size: 20px; color: #fff !important; }
  .jeg_mobile_logo a::before {
    content: '';
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    border-radius: 6px;
    background: url('mark.jpg') center/cover no-repeat;
  }
  .jeg_mobile_midbar .toggle_btn, .jeg_mobile_midbar .jeg_search_toggle { color: #fff !important; }
}
/* Subscribe: yellow accent CTA (design: yellow reserved for subscribe) */
.jeg_button_1 .jeg_btn, .jeg_nav_item.jeg_button_1 a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background: var(--ss-yellow-500) !important;
  border: 1px solid var(--ss-yellow-500) !important;
  color: var(--ss-gray-900) !important;
  font-family: var(--ss-font-sans);
  font-weight: 700 !important;
  font-size: 14px !important;
  height: 40px;
  line-height: 1 !important;
  padding: 0 20px !important;
  margin: 0;
  border-radius: var(--ss-radius-sm) !important;
  white-space: nowrap;
  box-shadow: none !important;
}
.jeg_button_1 .jeg_btn:hover, .jeg_nav_item.jeg_button_1 a:hover {
  background: var(--ss-yellow-600) !important;
  border-color: var(--ss-yellow-600) !important;
  color: var(--ss-gray-900) !important;
}
.jeg_button_1 .jeg_btn i, .jeg_nav_item.jeg_button_1 a i { display: none; } /* drop envelope icon */
.jeg_midbar .jeg_nav_right .item_wrap { gap: 14px; }
.jeg_midbar .jeg_search_wrapper { display: inline-flex; align-items: center; }
/* Sticky header inherits the same compact look */
.jeg_header_sticky .jeg_sticky_navbar { border-bottom: 1px solid var(--ss-border-subtle); }

/* Featured image fix: FIFU external images ship no dimensions, JNews emits
   an invalid inline `padding-bottom:%` and the ratio box collapses to 0
   on desktop. Restore a 16:9 box exactly for that broken case. */
.thumbnail-container[style*="padding-bottom:%"] { padding-bottom: 56.25% !important; }
.jeg_featured.featured_image { margin-bottom: 24px; }

/* Highlights (Table of Contents Plus) — design-system callout */
#toc_container, #toc_container.toc_light_blue, #toc_container.no_bullets {
  background: #fff !important;
  border: 1px solid var(--ss-border-subtle) !important;
  border-radius: var(--ss-radius-lg);
  box-shadow: var(--ss-shadow-xs);
  padding: 20px 24px !important;
  margin: 8px 0 28px;
  width: 100%;
  display: block;
}
#toc_container p.toc_title {
  font-family: var(--ss-font-sans);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: var(--ss-tracking-wider);
  color: var(--ss-gray-900);
  text-align: left;
  margin: 0 0 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--ss-border-subtle);
  position: relative;
}
#toc_container p.toc_title::after {
  content: '';
  position: absolute;
  left: 0; bottom: -1px;
  width: 48px; height: 2px;
  background: var(--ss-yellow-500);
}
#toc_container ul.toc_list { margin: 0; padding: 0; }
#toc_container ul.toc_list ul { margin: 4px 0 4px 18px; }
#toc_container li { list-style: none; margin: 7px 0; line-height: 1.45; }
#toc_container a {
  font-family: var(--ss-font-text);
  font-size: 14px;
  color: var(--ss-gray-700);
  text-decoration: none;
  transition: color var(--ss-fast) var(--ss-ease);
}
#toc_container a:hover { color: var(--ss-blue-600); text-decoration: none; }
#toc_container .toc_number {
  font-family: var(--ss-font-mono);
  font-size: 12px;
  color: var(--ss-text-tertiary);
  margin-right: 6px;
}

/* Hover contrast: light chips/buttons flip to blue bg + white text */
.jeg_post_tags a:hover, .tagcloud a:hover, .jeg_subcat_list li a:hover {
  background: var(--ss-blue-500) !important;
  border-color: var(--ss-blue-500) !important;
  color: #fff !important;
}
.jeg_block_loadmore a:hover, .loadmore_button:hover {
  background: var(--ss-blue-500) !important;
  border-color: var(--ss-blue-500) !important;
  color: #fff !important;
}

/* Footer link columns (footer style 2) */
.jeg_footer .footer_widget.widget_nav_menu ul,
.jeg_footer .widget_nav_menu .menu { list-style: none; margin: 0; padding: 0; }
.jeg_footer .widget_nav_menu li { margin: 0 0 9px; padding: 0; }
.jeg_footer .widget_nav_menu li a {
  font-family: var(--ss-font-text);
  font-size: 14px;
  color: var(--ss-gray-300);
}
.jeg_footer .widget_nav_menu li a:hover { color: #fff; }
.jeg_footer .widget_title, .jeg_footer .jeg_footer_heading h3,
.jeg_footer h3.jeg_footer_title, .jeg_footer .jeg_footer_title {
  font-family: var(--ss-font-sans);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: var(--ss-tracking-wider);
  color: #fff !important;
  border: none;
  margin-bottom: 16px;
}
.jeg_footer .footer_widget ul li a { font-family: var(--ss-font-text); font-size: 14px; color: var(--ss-gray-300); }
.jeg_footer .footer_widget ul li a:hover { color: #fff; }
.ss-footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--ss-font-sans);
  font-size: 19px;
  font-weight: 800;
  letter-spacing: var(--ss-tracking-tight);
  color: #fff !important;
}
.ss-footer-brand::before {
  content: '';
  flex: 0 0 auto;
  width: 28px; height: 28px;
  border-radius: 5px;
  background: url('mark.jpg') center/cover no-repeat;
}
.ss-footer-blurb {
  margin-top: 12px;
  font-family: var(--ss-font-text);
  font-size: 13px;
  line-height: 1.7;
  color: var(--ss-gray-400);
  max-width: 34ch;
}
.jeg_footer .jeg_footer_primary { padding-top: 48px; padding-bottom: 32px; }

/* --------------------------------------------------------------------------
   v4: Typography normalization — everything on the design-system scale
   (11/12/14/16/18/21/26/33/41), Figtree titles, Inter text, one leading set.
   Audit found titles at 14/15/16/17/18/20/26/38px across modules.
   -------------------------------------------------------------------------- */

/* Post titles: one family, weight, and leading; sizes stepped by module tier.
   JNews injects per-block Elementor weights (400/500/600) that outrank plain
   skin rules, so title weight is forced to a single bold across all cards. */
.jeg_post_title, .jeg_post_title a {
  font-family: var(--ss-font-sans) !important;
  line-height: 1.3;
  letter-spacing: -0.015em;
}
.jeg_postblock .jeg_post_title, .jeg_postblock .jeg_post_title a,
.jeg_post .jeg_post_title, .jeg_post .jeg_post_title a,
.jeg_sidefeed .jeg_post_title, .jeg_sidefeed .jeg_post_title a,
.widget .jeg_post_title, .widget .jeg_post_title a {
  font-weight: 700 !important;
}
.jeg_post_title { font-weight: 700; }
/* Default grid/list tier (catches 16/17px stragglers) */
.jeg_pl_md_card .jeg_post_title, .jeg_pl_md_card .jeg_post_title a,
.jeg_pl_md_box .jeg_post_title, .jeg_pl_md_box .jeg_post_title a,
.jeg_pl_md_2 .jeg_post_title, .jeg_pl_md_2 .jeg_post_title a,
.jeg_pl_md_3 .jeg_post_title, .jeg_pl_md_3 .jeg_post_title a,
.jeg_pl_md_4 .jeg_post_title, .jeg_pl_md_4 .jeg_post_title a,
.jeg_pl_md_5 .jeg_post_title, .jeg_pl_md_5 .jeg_post_title a,
.jeg_pl_xs_4 .jeg_post_title, .jeg_pl_xs_4 .jeg_post_title a {
  font-size: 18px !important;
}
/* Featured medium tier (was 20px; !important beats Elementor-scoped CSS) */
.jeg_pl_md_1 .jeg_post_title, .jeg_pl_md_1 .jeg_post_title a { font-size: 21px !important; }
/* Large tier */
.jeg_pl_lg_1 .jeg_post_title, .jeg_pl_lg_2 .jeg_post_title,
.jeg_pl_lg_3 .jeg_post_title, .jeg_pl_lg_4 .jeg_post_title,
.jeg_pl_lg_5 .jeg_post_title, .jeg_pl_lg_6 .jeg_post_title,
.jeg_pl_lg_7 .jeg_post_title, .jeg_pl_lg_box .jeg_post_title,
.jeg_pl_lg_card .jeg_post_title { font-size: 26px; }
/* Dense list tier (was 15px) */
.jeg_pl_sm .jeg_post_title, .jeg_pl_xs_1 .jeg_post_title,
.jeg_pl_xs_2 .jeg_post_title, .jeg_pl_xs_3 .jeg_post_title {
  font-size: 14px;
  line-height: 1.35;
}
/* Display tier: hero slider (was 34/38px; !important beats Elementor-scoped CSS) */
.jeg_slide_caption .jeg_post_title,
.jeg_slide_caption .jeg_post_title a,
[class*="jeg_hero_style"] .jeg_post_item_0 .jeg_post_title {
  font-size: 33px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  letter-spacing: var(--ss-tracking-tight);
}
@media (max-width: 767px) {
  .jeg_slide_caption .jeg_post_title,
  .jeg_slide_caption .jeg_post_title a { font-size: 26px !important; }
  .jeg_pl_lg_1 .jeg_post_title, .jeg_pl_lg_2 .jeg_post_title,
  .jeg_pl_lg_box .jeg_post_title, .jeg_pl_lg_card .jeg_post_title { font-size: 21px; }
}

/* Section headings: one size (was 16px with 36px line-height) */
.jeg_block_heading .jeg_block_title,
.jeg_block_heading .jeg_block_title span,
.jeg_block_heading .jeg_block_title strong,
.widget_title, .widget_title span {
  font-size: 18px !important;
  line-height: 1.3 !important;
  letter-spacing: -0.015em;
}

/* Meta: single data-label register everywhere */
.jeg_post_meta, .jeg_post_meta a, .jeg_post_meta .jeg_meta_date,
.jeg_post_meta .jeg_meta_author, .entry-meta, .jeg_meta_container {
  font-size: 11px;
  font-weight: 600;
  line-height: 1.6;
}

/* Excerpts and small copy */
.jeg_post_excerpt, .jeg_post_excerpt p {
  font-family: var(--ss-font-text);
  font-size: 14px;
  line-height: 1.5;
  color: var(--ss-text-secondary);
}

/* Article page: display headline, dek, reading body, stepped subheads */
.single .entry-header .jeg_post_title,
.jeg_inner_content .entry-header .jeg_post_title { font-size: 41px; }
@media (max-width: 767px) {
  .single .entry-header .jeg_post_title,
  .jeg_inner_content .entry-header .jeg_post_title { font-size: 26px; }
}
.jeg_post_subtitle { font-size: 18px; line-height: 1.5; }
.entry-content p, .entry-content li { font-size: 18px; line-height: 1.65; }
.entry-content h2 { font-size: 26px; line-height: 1.3; letter-spacing: -0.015em; font-weight: 800; }
.entry-content h3 { font-size: 21px; line-height: 1.3; font-weight: 700; }
.entry-content h4 { font-size: 18px; line-height: 1.3; font-weight: 700; }
.entry-content h5, .entry-content h6 { font-size: 16px; line-height: 1.3; font-weight: 700; }

/* Buttons: sentence case (design system), one size */
.jeg_btn, .btn, .jeg_block_loadmore a, .jeg_readmore, input[type=submit] {
  text-transform: none;
  letter-spacing: 0;
  font-size: 14px;
}

/* Newsflash strip copy */
.jeg_breakingnews_content .jeg_post_title a { font-size: 14px; font-weight: 500; letter-spacing: 0; }

/* Footer: quiet 400 links, 12px legal line, 14px blurb */
.jeg_footer .widget_nav_menu li a, .jeg_footer .footer_widget ul li a { font-weight: 400; }
.jeg_footer .copyright, .jeg_footer_bottom, .jeg_footer_bottom p,
.jeg_footer .footer_right, .jeg_footer .footer_menu li a { font-size: 12px; }
.ss-footer-blurb { font-size: 14px; }

/* Comments and author box on the text scale */
.commentlist .comment-content, .comment-content p { font-family: var(--ss-font-text); font-size: 16px; line-height: 1.65; }
.jeg_authorbox .jeg_author_content p { font-size: 14px; line-height: 1.6; }
.comment-reply-title, .jeg_comment_title { font-size: 18px; }

/* Reduced motion: collapse all skin transitions */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}
