/* ============================================================
   BusinessIndustry.com – CLEAN BASELINE CSS
   100% replacement for old bi.css
   ============================================================ */

/* ---------- RESET ---------- */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html, body {
  margin: 0;
  padding: 0;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  background: #f5f5f6;
  color: #111827;
}

a {
  color: inherit;
  text-decoration: none;
}

/* ---------- HEADER / LOGO / NAV ---------- */

.bi-header {
  background: #ffffff;
  border-bottom: 1px solid #e5e7eb;
}

.bi-header-inner {
  max-width: 1180px;
  margin: 0 auto;
}

/* top bar: logo left, time widget right */
.bi-topbar {
  display: flex;
  align-items: center;
  padding: 10px 28px 6px 28px;
}

/* logo block – clickable */
.bi-logo-block {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* BI tile */
.bi-logo-circle {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: #7b1c2b;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 20px;
  box-shadow: 0 4px 10px rgba(15, 23, 42, 0.35);
}

/* domain + tagline */
.bi-logo-text {
  display: flex;
  flex-direction: column;
}

.bi-logo-main {
  font-weight: 700;
  font-size: 20px;
  letter-spacing: 0.03em;
  color: #111827;
}

.bi-logo-main span {
  font-weight: 600;
  color: #374151;         /* .com */
}

.bi-logo-tag {
  font-size: 11px;
  color: #6b7280;
  margin-top: 1px;
  text-transform: uppercase;
  letter-spacing: 0.18em;
}

/* right-side time widget */
.bi-topbar-right {
  margin-left: auto;
  text-align: right;
  min-width: 190px;
}

.bi-time-label {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: #9ca3af;
  margin-bottom: 2px;
}

.bi-time-value {
  font-size: 13px;
  font-weight: 500;
  color: #111827;
}

/* divider line under top bar */
.bi-header-line {
  border-top: 1px solid #e5e7eb;
}

/* main nav */
.bi-nav {
  background: #ffffff;
}

.bi-nav ul {
  list-style: none;
  display: flex;
  gap: 18px;
  padding: 10px 28px;
  font-size: 13px;
  letter-spacing: 0.12em;
}

.bi-nav a {
  color: #4b5563;
}

.bi-nav a.active,
.bi-nav a:hover {
  color: #111827;
  font-weight: 600;
}

/* ---------- 728 x 90 BAND ---------- */

.bi-ad-728 {
  padding: 8px 28px 12px 28px;
  background: #fafafa;
  border-top: 1px solid #e5e7eb;
  border-bottom: 1px solid #e5e7eb;
}

.bi-ad-728-inner {
  display: block;
  max-width: 728px;
  margin: 0 auto;
}

.bi-ad-728 img,
.bi-ad-728-inner img {
  display: block;
  width: 100%;
  height: auto;
}

/* ---------- MAIN LAYOUT ---------- */

.bi-main {
  max-width: 1180px;
  margin: 18px auto 8px auto;
  padding: 0 16px;
}

/* 2-column grid: content left, sidebar right */
.bi-layout {
  display: grid;
  grid-template-columns: minmax(0, 2.2fr) minmax(300px, 1fr);
  column-gap: 28px;
  align-items: flex-start;
}

.bi-left {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.bi-right {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* ---------- FEATURED HERO ---------- */

.bi-featured {
  background: #7b1c2b;
  color: #ffffff;
  border-radius: 10px;
  padding: 16px 18px 18px 18px;
}

.bi-section-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 10px;
  opacity: 0.9;
}

.bi-featured-article {
  display: grid;
  grid-template-columns: minmax(0, 2.1fr) minmax(0, 1.6fr);
  gap: 18px;
  align-items: stretch;
}

.bi-featured-text h1 {
  font-size: 26px;
  line-height: 1.22;
  margin-bottom: 10px;
}

.bi-featured-text p {
  font-size: 14px;
  line-height: 1.6;
  opacity: 0.95;
}

.bi-featured-image .bi-img-placeholder {
  background: rgba(255, 255, 255, 0.08);
  border-radius: 6px;
  height: 170px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.7);
}

/* ---------- DAILY BRIEF (RIGHT COLUMN) ---------- */

.bi-daily-brief {
  border: 1px solid #111;
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
  padding: 12px 14px 14px 14px;
  margin-top: 4px;
  min-height: 420px;            /* << height to visually match cards 1 & 2 */
  display: flex;
  flex-direction: column;
}

/* header bar */
.bi-daily-brief-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 10px;
  margin: -2px -4px 8px -4px;
  background: linear-gradient(90deg, #7b1c2b, #b91c1c);
  color: #fef2f2;
  border-radius: 8px;
}

.bi-daily-brief-label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.bi-daily-brief-date {
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
}

/* body area */
.bi-daily-brief-body {
  padding: 8px 2px 4px 2px;
  margin: 0;
  border: none;
  flex: 1;
}

/* top image */
.bi-daily-top-img {
  margin-bottom: 8px;
}

.bi-daily-img-placeholder,
.bi-daily-top-img img {
  width: 100%;
  height: 120px;
  border-radius: 8px;
  background: #e5e7eb;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  color: #6b7280;
}

/* top text */
.bi-daily-top-text h3 {
  font-size: 15px;
  font-weight: 600;
  margin: 0 0 3px 0;
}

.bi-daily-top-text p {
  font-size: 13px;
  color: #4b5563;
  margin: 0 0 6px 0;
}

/* list of briefs */
.bi-daily-list {
  list-style: none;
  margin: 4px 0 0 0;
  padding: 0;
}

.bi-daily-list li {
  padding: 4px 0;
  font-size: 13px;
  border-top: 1px dashed #e5e7eb;
}

.bi-daily-list li:first-child {
  border-top: none;
}

/* ---------- RIGHT COLUMN ADS (TWO 300x250) ---------- */

.bi-right-ads {
  margin-top: 4px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.bi-ad-300 {
  max-width: 300px;
  min-height: 250px;
  margin: 0 auto;
  border-radius: 10px;
}

.bi-ad-300 img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
}

/* if any legacy .tall exists, just treat as normal 300x250 */
.bi-ad-300.tall {
  max-width: 300px;
  min-height: 250px;
}

/* ---------- STORY GRID (LEFT COLUMN) ---------- */

/* container under featured */
.bi-storygrid,
.bi-story-grid {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin-top: 8px;      /* was 18px – this is the big gap */
}

/* rows */
.bi-storygrid-row,
.bi-row,
.bi-story-row {
  display: grid;
  gap: 16px;
}

/* row types – these match your existing markup */
.bi-storygrid-row.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bi-storygrid-row.three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* cards */
.bi-storycard,
.bi-story-card,
.bi-card {
  background: #ffffff;
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.bi-storycard-wide {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 2fr);
  gap: 16px;
  padding: 11px 12px 12px 12px;
}

.bi-storycard-wide .bi-img-placeholder {
  height: 170px;
}

.bi-story-img {
  margin-bottom: 0;
}

.bi-img-placeholder {
  background: #e5e7eb;
  border-radius: 8px;
  height: 110px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  color: #6b7280;
}

.bi-story-body {
  padding: 10px 11px 11px 11px;
}

.bi-story-meta {
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #9ca3af;
  margin-bottom: 4px;
}

.bi-storycard-wide h2 {
  font-size: 18px;
  margin-bottom: 6px;
  font-weight: 600;
}

.bi-storycard-wide p {
  font-size: 13px;
  color: #4b5563;
  line-height: 1.6;
}

/* two-up row */
.bi-storygrid-row.two .bi-storycard,
.bi-storygrid-row.two .bi-story-card {
  padding: 0;
}

.bi-storygrid-row.two .bi-img-placeholder {
  height: 130px;
}

.bi-storygrid-row.two h3 {
  font-size: 15px;
  margin-bottom: 6px;
  font-weight: 600;
}

.bi-storygrid-row.two p {
  font-size: 13px;
  color: #4b5563;
  line-height: 1.55;
}

/* three-up row small tiles */
.bi-storygrid-row.three .bi-storycard,
.bi-storygrid-row.three .bi-story-card {
  padding: 0;
}

.bi-storygrid-row.three .bi-img-placeholder {
  height: 80px;
}

.bi-storygrid-row.three .bi-story-body {
  padding: 8px 9px 9px 9px;
}

.bi-storygrid-row.three h4 {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
}

/* hover effects */
.bi-storycard,
.bi-storycard-wide,
.bi-daily-brief {
  transition: box-shadow 0.16s ease-out, transform 0.16s ease-out;
}

.bi-storycard:hover,
.bi-storycard-wide:hover,
.bi-daily-brief:hover {
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.10);
  transform: translateY(-1px);
}

/* ---------- FOOTER ---------- */

.bi-footer {
  border-top: 1px solid #e5e7eb;
  background: #ffffff;
  padding: 10px 24px 12px 24px;
  font-size: 13px;
  color: #6b7280;
}

.bi-footer-inner {
  max-width: 1180px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.bi-footer-links {
  display: inline-flex;
  align-items: center;
  gap: 18px;
}

.bi-footer-links a {
  color: #6b7280;
}

.bi-footer-links a:hover {
  color: #111827;
  text-decoration: underline;
}

/* ---------- RESPONSIVE ---------- */

@media (max-width: 900px) {
  .bi-main {
    margin-top: 12px;
  }

  .bi-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .bi-featured-article {
    grid-template-columns: minmax(0, 1fr);
  }

  .bi-daily-brief {
    min-height: 0;
  }
}

@media (max-width: 700px) {
  .bi-nav ul {
    flex-wrap: wrap;
    gap: 10px;
  }

  .bi-storygrid-row.two {
    grid-template-columns: minmax(0, 1fr);
  }

  .bi-storygrid-row.three {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 500px) {
  .bi-storygrid-row.three {
    grid-template-columns: minmax(0, 1fr);
  }

  .bi-footer-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}
/* === 11/23 – hard-align hero + Daily Brief === */
.bi-layout {
  align-items: flex-start !important;
}

.bi-featured {
  margin-top: 0 !important;
}

.bi-daily-brief {
  margin-top: 0 !important;
}
/* STORY GRID – ensure class names match PHP */
.bi-storygrid {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin-top: 18px;
}

.bi-storygrid-row.two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.bi-storygrid-row.three {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.bi-storycard,
.bi-storycard-wide,
.bi-storycard-small {
  background: #ffffff;
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  padding: 12px 14px;
}
/* === STORY GRID LAYOUT FIX – 2-up & 3-up rows === */

/* main story grid wrapper */
.bi-storygrid {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin-top: 18px;
}

/* row 1 (wide secondary hero) can just be block */
.bi-storygrid-feature {
  display: block;
}

/* row 2 – two medium cards, side-by-side on desktop */
.bi-storygrid-row.two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

/* row 3 – three small tiles on desktop */
.bi-storygrid-row.three {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

/* responsive breakpoints */
@media (max-width: 900px) {
  .bi-storygrid-row.two {
    grid-template-columns: minmax(0, 1fr);
  }
  .bi-storygrid-row.three {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .bi-storygrid-row.three {
    grid-template-columns: minmax(0, 1fr);
  }
}
/* === STORY GRID LAYOUT – CLEAN 2 + 3 ROWS === */
.bi-storygrid {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin-top: 18px;
}

.bi-storygrid-row.two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.bi-storygrid-row.three {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

/* base card look */
.bi-storycard {
  background: #ffffff;
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 1px 2px rgba(15,23,42,0.03);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.bi-storycard-medium .bi-img-placeholder {
  height: 150px;
}

.bi-storycard-small .bi-img-placeholder {
  height: 90px;
}

.bi-story-img {
  margin: 0;
}

.bi-img-placeholder {
  background: #e5e7eb;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  color: #6b7280;
}

.bi-story-body {
  padding: 10px 12px 12px;
}

.bi-story-body h3 {
  font-size: 15px;
  margin: 0 0 6px 0;
  font-weight: 600;
}

.bi-story-body p {
  font-size: 13px;
  color: #4b5563;
  margin: 0;
  line-height: 1.55;
}

.bi-story-meta {
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #9ca3af;
  margin-bottom: 4px;
}

/* responsive: collapse to 1 column on small screens */
@media (max-width: 900px) {
  .bi-storygrid-row.two {
    grid-template-columns: minmax(0, 1fr);
  }
  .bi-storygrid-row.three {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .bi-storygrid-row.three {
    grid-template-columns: minmax(0, 1fr);
  }
}
/* ===== BI HOME – FINAL STORY GRID + FOOTER OVERRIDES (11/23) ===== */

/* MAIN GRID: left news + right sidebar */
.bi-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 2.3fr) minmax(320px, 1fr) !important;
  column-gap: 24px !important;
  align-items: flex-start !important;
}

/* LEFT COLUMN: story grid under hero */
.bi-storygrid {
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;         /* space between the feature row, 2-up row, 3-up row */
  margin-top: 18px !important;
}

/* ===== ROW 1: WIDE SECONDARY HERO ===== */
.bi-storygrid-feature {
  display: block !important;
}

.bi-storygrid-feature .bi-storycard-wide {
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 2fr);
  gap: 18px;
  align-items: stretch;
  padding: 14px 16px !important;
  min-height: 220px !important;   /* keeps it strong but not crazy tall */
}

.bi-storygrid-feature .bi-storycard-wide .bi-img-placeholder {
  height: 150px !important;
}

/* ===== ROW 2: TWO MEDIUM CARDS SIDE-BY-SIDE ===== */
.bi-storygrid-row.two {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin-top: 4px !important;
}

/* ===== ROW 3: THREE SMALL CARDS ===== */
.bi-storygrid-row.three {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin-top: 4px !important;
}

/* Make all cards fill their grid cells cleanly */
.bi-storycard,
.bi-story-card,
.bi-storycard-small,
.bi-card {
  background: #ffffff;
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 1px 2px rgba(15,23,42,0.03);
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Image heights for the smaller rows */
.bi-storygrid-row.two .bi-img-placeholder {
  height: 130px !important;
}

.bi-storygrid-row.three .bi-img-placeholder {
  height: 90px !important;
}

/* ===== RIGHT COLUMN (Daily Brief + 2 ads) stays as-is ===== */
.bi-right {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  margin-top: 0 !important;
}

/* ===== FOOTER PULL-UP ===== */
.bi-main {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px 8px;    /* shrink bottom padding */
}

.bi-footer {
  border-top: 1px solid #e5e7eb;
  padding: 12px 0 16px 0;    /* a bit tighter */
  margin-top: 4px;           /* almost flush under last row */
  font-size: 13px;
  color: #6b7280;
}
/* === BI STORY GRID – FINAL 1 + 2 + 3 LAYOUT (OVERRIDE) === */

/* wrapper: stack feature row + row of 2 + row of 3 */
.bi-storygrid {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin-top: 18px;
}

/* wide secondary card row */
.bi-storygrid-feature {
  /* nothing special – uses .bi-storycard-wide */
}

/* base card styling (reaffirm) */
.bi-storycard,
.bi-story-card,
.bi-card {
  background: #ffffff;
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* wide secondary card under hero */
.bi-storycard-wide {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 2fr);
  gap: 16px;
  padding: 14px 16px;
}

.bi-storycard-wide .bi-img-placeholder {
  height: 180px;
}

/* shared image placeholder */
.bi-img-placeholder {
  background: #e5e7eb;
  border-radius: 6px;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  color: #6b7280;
}

/* card body */
.bi-story-body {
  padding: 10px 12px 12px 12px;
}

.bi-story-meta {
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #9ca3af;
  margin-bottom: 4px;
}

.bi-storycard-wide h2 {
  font-size: 18px;
  margin-bottom: 6px;
  font-weight: 600;
}

.bi-storycard h3 {
  font-size: 15px;
  margin-bottom: 6px;
  font-weight: 600;
}

.bi-storycard-small h4 {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
}

/* === ROWS === */

/* row of 2 medium cards */
.bi-storygrid-row.two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.bi-storygrid-row.two .bi-storycard .bi-img-placeholder {
  height: 140px;
}

/* row of 3 small cards */
.bi-storygrid-row.three {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.bi-storygrid-row.three .bi-storycard-small .bi-img-placeholder {
  height: 90px;
}

/* tighten overall vertical spacing so footer comes up */
.bi-main {
  margin-bottom: 18px !important;
}

.bi-footer {
  margin-top: 10px !important;
  padding-top: 8px !important;
}

/* responsive – collapse grid on small screens */
@media (max-width: 900px) {
  .bi-storycard-wide {
    grid-template-columns: minmax(0, 1fr);
  }
  .bi-storygrid-row.two {
    grid-template-columns: minmax(0, 1fr);
  }
  .bi-storygrid-row.three {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .bi-storygrid-row.three {
    grid-template-columns: minmax(0, 1fr);
  }
}
/* === 11/23 TIGHTEN TOP + FOOTER + RIGHT COLUMN === */

/* Give Daily Brief some breathing room under the 728 ad */
.bi-daily-brief {
    margin-top: 12px !important;      /* was basically touching the banner */
}

/* Tighten the gap between hero and story grid */
.bi-storygrid {
    margin-top: 14px !important;
    row-gap: 10px !important;
}

/* Make the last row not push the footer down so far */
.bi-storygrid-row.three {
    margin-bottom: 4px !important;
}

/* Right column: tight stack of the Brief + three 300x250s */
.bi-right {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin-top: 0 !important;
}

.bi-right-ads {
    margin-top: 0 !important;
    padding: 0 !important;
}

/* Each 300x250 banner */
.bi-ad-300 {
    max-width: 300px;
    min-height: 250px;
    margin: 0 auto !important;
}

/* Pull footer up closer to content */
.bi-main {
    padding-bottom: 8px;
}

.bi-footer {
    margin-top: 8px;
}
.bi-footer {
    margin-top: 6px !important;
    padding-top: 8px !important;
}
/* === ALIGN DAILY BRIEF WITH FEATURE HERO === */
.bi-featured,
.bi-daily-brief {
  margin-top: 14px !important;   /* tweak 12–18px if you want it a hair higher/lower */
}
/* === ALIGN DAILY BRIEF WITH FEATURED HERO === */
.bi-daily-brief {
  margin-top: 18px !important;  /* tweak 14–18px if you want it a hair higher/lower */
}
/* === 11/24 SPACING TUNE – FEATURE / GRID / FOOTER === */

/* tighten gap between FEATURED and box #2 */
.bi-featured {
  margin-bottom: 20px;        /* was higher; this closes that big gap */
}

/* story grid just under featured */
.bi-story-grid {
  margin-top: 8px;            /* small gap only */
}

/* consistent vertical spacing between rows 2, 3, 4 (boxes 3–7) */
.bi-story-grid .bi-story-row,
.bi-story-grid .bi-row {
  margin-bottom: 18px;
}

/* pull footer up tight under the last row */
.bi-main {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

.bi-footer {
  margin-top: 8px !important;
}
/* === FINAL SPACING LOCK – DO NOT EDIT BELOW THIS LINE === */

/* shrink gap between FEATURED and the wide row under it */
.bi-story-grid {
  margin-top: 10px !important;  /* smaller gap under FEATURED */
}

/* keep tight vertical spacing between rows & footer */
.bi-story-grid .bi-story-row,
.bi-story-grid .bi-row {
  margin-bottom: 10px !important;   /* was 18px – less space under last row */
}

/* no extra padding under main content */
.bi-main {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* footer snug to cards */
.bi-footer {
  margin-top: 4px !important;       /* was 8px – footer sits closer */
  padding-top: 10px;
  padding-bottom: 14px;
}
/* === FINAL LAYOUT CORRECTION OVERRIDES === */
.bi-featured {
  margin-bottom: 14px !important;
}

/* tighten the gap above the wide 2nd story card */
.bi-story-grid {
  margin-top: 6px !important;
}

.bi-story-row,
.bi-row {
  margin-bottom: 12px !important;
}

/* footer flush directly under last cards */
.bi-main {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

.bi-footer {
  margin-top: 8px !important;
}
/* === FINAL OVERRIDES – TIGHTEN ROW GAPS + FOOTER === */

/* shrink space between FEATURED and the wide story */
.bi-featured {
  margin-bottom: 6px !important;   /* was ~20px – this is the big change */
}

.bi-story-grid {
  margin-top: 0 !important;
}

/* keep even but fairly tight gaps between all rows of cards */
.bi-story-grid .bi-story-row,
.bi-story-grid .bi-row {
  margin-bottom: 14px !important;
}

/* pull footer up tight under the last row */
.bi-main {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

.bi-footer {
  margin-top: 0 !important;        /* was 8px */
  padding-top: 10px;
  padding-bottom: 14px;
}
/* === OVERRIDE: TIGHTEN STORY GRID + FOOTER === */

/* shrink gap between FEATURED and the wide "Global Markets..." card */
.bi-storygrid,
.bi-story-grid {
  margin-top: 14px !important;
  gap: 10px !important;        /* tighter vertical spacing between rows */
}

/* shrink the bottom margin on each row so rows 2–3 match that same gap */
.bi-storygrid .bi-storygrid-row,
.bi-storygrid .bi-row,
.bi-story-grid .bi-story-row,
.bi-story-grid .bi-row {
  margin-bottom: 8px !important;
}

/* kill extra white space before the footer */
.bi-main {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* pull footer up tight under last row of cards */
.bi-footer {
  margin-top: 6px !important;  /* if still too loose, drop to 0 */
}
