/* Preserve editorial hierarchy while removing forced height on compact screens. */
html { overflow-x: clip; }
img, video { max-width: 100%; }
.bq-ad-pitch, .ad-creative { min-width: 0; }
.ad-slot:empty:not(.bq-ad-ready):not(.active):not(.is-active) { display: none !important; margin: 0 !important; min-height: 0 !important; }
@media (max-width: 1024px) {
  .barometer-home { padding-block: 30px !important; }
  .barometer-home .section-head h2 { font-size: clamp(1.9rem, 5vw, 3rem) !important; line-height: 1.02; }
  .barometer-grid article { min-height: 0 !important; padding: 18px !important; }
  .barometer-grid h3 { margin-block: 12px 7px !important; }
  .numbers .number { overflow-wrap: anywhere; }
  .bq-footer-ad { min-height: 0; }
  .number-grid { grid-auto-flow: row; }
  .number-with-share:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .number-with-share > .number { height: auto; min-height: 100%; }
  .number-with-share .number small { display: block; line-height: 1.45; margin-top: 10px; overflow-wrap: anywhere; }
  .number-with-share .number-more { display: inline-block; margin-top: 11px; line-height: 1.35; }
}
@media (max-width: 620px) {
  .hero-grid, .watch-grid, .dossier-grid, .barometer-grid, .number-grid { min-width: 0; }
  .hero .lead-visual, .hero .editorial-carousel.lead-visual { min-height: 330px !important; }
  .carousel-slide .lead-copy h1 { font-size: clamp(1.8rem, 8vw, 2.55rem) !important; line-height: 1.05; overflow-wrap: anywhere; }
  .side-stories .story { min-width: 0; }
  .brief .section-head h2, .numbers .section-head h2 { font-size: clamp(1.7rem, 7vw, 2.25rem) !important; }
  .numbers .number { min-height: 0 !important; }
  .barometer-home { padding-block: 24px !important; }
  .barometer-home .section-head { gap: 12px; align-items: start; }
  .barometer-home .section-head h2 { font-size: clamp(1.7rem, 7vw, 2.3rem) !important; }
  .barometer-grid article { padding: 16px !important; }
  .barometer-grid p, .barometer-method { line-height: 1.45; }
  .watch.is-empty, .dossiers.is-empty { padding-block: 14px !important; }
  .bq-footer-ad .bq-ad-pitch { gap: 8px; }
  .bq-ad-brand { white-space: normal !important; }
  .public-action .articles-grid, .category-article-grid { gap: 0 !important; }
  .public-action .article-card:not(.feature), .category-article-grid .article-card {
    display: grid !important;
    grid-template-columns: minmax(0, 96px) minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto !important;
    column-gap: 14px !important;
    row-gap: 4px !important;
    align-content: start !important;
    min-height: 0 !important;
    padding: 14px 0 !important;
  }
  .public-action .article-card:not(.feature) .thumb, .category-article-grid .article-card .thumb {
    grid-column: 1 !important; grid-row: 1 / 4 !important;
    width: 96px !important; height: 72px !important;
    margin: 0 !important;
  }
  .public-action .article-card:not(.feature) .eyebrow, .public-action .article-card:not(.feature) h3, .public-action .article-card:not(.feature) .meta,
  .category-article-grid .article-card .eyebrow, .category-article-grid .article-card h3, .category-article-grid .article-card .meta {
    grid-column: 2 !important; min-width: 0; margin: 0 !important;
  }
  .public-action .article-card:not(.feature) h3, .category-article-grid .article-card h3 {
    font-size: clamp(1rem, 4.7vw, 1.2rem) !important;
    line-height: 1.18 !important;
    overflow-wrap: break-word;
  }
  .public-action .article-card:not(.feature) .meta, .category-article-grid .article-card .meta {
    grid-row: 3 !important; align-self: start; line-height: 1.4 !important;
    padding-top: 5px; white-space: normal;
  }
  .number-grid { grid-template-columns: 1fr !important; }
  .number-with-share .number { border-right: 0 !important; }
  .number-with-share:last-child:nth-child(odd) { grid-column: auto; }
  .number-with-share + .number-with-share { border-top: 1px solid var(--ink); }
  .number-with-share > .number { padding: 17px 16px 64px !important; }
  .number-with-share .number small { font-size: .82rem !important; }
  .number-with-share .block-share { right: 16px; }
  .rubrics-title { padding-block: 14px 10px !important; }
  .category-row { padding-block: 10px 12px !important; }
  .category-row .section-head { margin-bottom: 9px !important; }
}
@media (min-width: 1600px) { .home-page .container { width: min(calc(100% - 80px), 1480px); } }
@media (prefers-reduced-motion: reduce) {
  .carousel-slide { transition-duration: 0.01ms !important; }
}
