/* Homepage layout rules. Loaded after the legacy homepage styles. */
body.cw-homepage { text-align: left !important; }
body.cw-homepage section { max-width: 100%; }
body.cw-homepage section h2 { overflow-wrap: anywhere; }

/* Keep the opening section content sized on short and narrow screens. */
body.cw-homepage #home.full-screen { min-height: 0 !important; overflow: hidden; }
body.cw-homepage #home > .container { width: min(100% - 40px, 1380px); max-width: 1380px; }
body.cw-homepage #home .home-company-card { min-height: 76px; }

/* The old report and blog sections used fixed desktop gutters and widths. */
body.cw-homepage .cw-reports,
body.cw-homepage .cw-blogs,
body.cw-homepage .cw-impact { padding: 38px 0 !important; }
body.cw-homepage .cw-reports > .container-fluid,
body.cw-homepage .cw-blogs > .container-fluid,
body.cw-homepage .cw-impact > .container { width: calc(100% - 80px); max-width: 1380px; margin-inline: auto; padding: 0 !important; }
body.cw-homepage .cw-reports .row,
body.cw-homepage .cw-blogs .row { margin-inline: 0; }
body.cw-homepage .cw-reports .report-main,
body.cw-homepage .cw-blogs .row > .col-12 { padding-inline: 0; }

body.cw-homepage .cw-impact .row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 0; }
body.cw-homepage .cw-impact .row > div { width: auto; max-width: none; margin: 0 !important; padding: 0; }
body.cw-homepage .cw-impact .counter-feature-box-1 { height: 185px; border: 1px solid #e7e9ea; border-radius: 12px; background: #fff; overflow: hidden; }
body.cw-homepage .cw-impact .counter-feature-box-1:hover { border-color: #e9ac88; background: #fff; }
body.cw-homepage .cw-impact .counter-box { padding: 20px 12px; }
body.cw-homepage .cw-impact .icon-img { width: 42px; height: 42px; object-fit: contain; }

body.cw-homepage .cw-reports .slider-container,
body.cw-homepage .cw-reports .slider-wrapper { width: 100%; overflow: hidden; }
body.cw-homepage .cw-reports .slider-items { width: 100%; }
body.cw-homepage .cw-reports .report-item { flex: 0 0 25%; max-width: 25%; min-width: 0; padding: 8px; }
body.cw-homepage .cw-reports .report-box { display: flex; flex-direction: column; height: 100%; min-height: 310px; padding: 14px; border: 1px solid #e8e9eb; border-radius: 12px; box-shadow: 0 8px 24px rgba(30,42,49,.05); }
body.cw-homepage .cw-reports .blog-post-images { margin-bottom: 12px !important; }
body.cw-homepage .cw-reports .blog-post-images img { display: block; width: 100%; max-width: 100%; height: 190px; object-fit: contain; }
body.cw-homepage .cw-reports .post-details { display: flex; flex: 1; flex-direction: column; align-items: center; }
body.cw-homepage .cw-reports .report-title { margin: 0 0 12px; font-size: 16px; line-height: 1.35; text-align: center !important; }
body.cw-homepage .cw-reports .report-btn { margin-top: auto; max-width: 100%; white-space: normal; }
body.cw-homepage .cw-reports .slider-btn:disabled { opacity: .4 !important; cursor: default; }
body.cw-homepage .cw-reports:has(.cw-report-empty) .next-prev-btn { display: none; }
body.cw-homepage .cw-reports .cw-report-empty { width: 100%; padding: 45px 20px; border: 1px solid #e8e9eb; border-radius: 12px; text-align: center; }
body.cw-homepage .cw-reports .cw-report-empty a { color: #a9491d; font-weight: 600; }

body.cw-homepage .cw-blogs { margin-top: 0 !important; }
body.cw-homepage .cw-blogs .main-blogs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin-top: 18px !important; }
body.cw-homepage .cw-blogs .main-blogs > div { width: auto; max-width: none; min-width: 0; margin: 0 !important; padding: 0 !important; }
body.cw-homepage .cw-blogs .blog-box { height: 100%; min-height: 0; overflow: hidden; border: 1px solid #e7e9ea; border-radius: 12px; box-shadow: 0 8px 24px rgba(30,42,49,.04); }
body.cw-homepage .cw-blogs .blog-post-images { width: 100%; margin: 0 !important; aspect-ratio: 1.5; }
body.cw-homepage .cw-blogs .blog-post-images a,
body.cw-homepage .cw-blogs .blog-post-images img { display: block; width: 100%; height: 100%; }
body.cw-homepage .cw-blogs .blog-post-images img { max-width: 100%; object-fit: cover; }
body.cw-homepage .cw-blogs .post-details { padding: 16px; }
body.cw-homepage .cw-blogs .blog-title { width: 100%; margin: 0; padding: 0; color: #25343d; font-size: 16px; line-height: 1.5; text-align: left !important; }
body.cw-homepage .cw-blogs .blog-title:hover { color: #be5528; }

/* Staggered legacy reveal effects leave cards invisible when a section is
   reached by an anchor link or a fast scroll. Keep content available at once. */
body.cw-homepage .cw-industries .cw-industry-grid > li.grid-item,
body.cw-homepage .cw-blogs .main-blogs > div {
  visibility: visible !important;
  opacity: 1 !important;
  animation: none !important;
}

@media (max-width: 1100px) {
  body.cw-homepage .cw-intro .cw-intro-layout { grid-template-columns: 1fr; width: min(100% - 48px, 760px); }
  body.cw-homepage .cw-intro .cw-intro-visual { height: 370px; min-height: 0; }
  body.cw-homepage .cw-intro .cw-intro-visual img { height: 100%; min-height: 0; }
  body.cw-homepage .cw-reports .report-item { flex-basis: 33.3333%; max-width: 33.3333%; }
}

@media (max-width: 800px) {
  body.cw-homepage .cw-reports > .container-fluid,
  body.cw-homepage .cw-blogs > .container-fluid,
  body.cw-homepage .cw-impact > .container { width: calc(100% - 40px); }
  body.cw-homepage .cw-impact .row,
  body.cw-homepage .cw-blogs .main-blogs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.cw-homepage .cw-reports .report-item { flex-basis: 50%; max-width: 50%; }
  body.cw-homepage .cw-growth .cw-growth-grid { --growth-panel-height: 430px; }
  body.cw-homepage .cw-growth .cw-growth-events .tab-pane { overscroll-behavior: contain; }
}

@media (max-width: 600px) {
  body.cw-homepage .stay_updated { display: none; }
  body.cw-homepage #home > .container { width: calc(100% - 32px); min-height: 100svh; padding: 110px 0 35px; }
  body.cw-homepage #home .creating-title { font-size: clamp(31px, 8vw, 48px); line-height: 1.12; }
  body.cw-homepage #home .today-fight { display: block; font-size: clamp(39px, 9vw, 58px); line-height: 1.1; }
  body.cw-homepage #home .home-companies { width: 100%; margin-top: 24px; padding-inline: 0; }
  body.cw-homepage #home .home-company-grid { gap: 10px; }
  body.cw-homepage #home .home-company-card { width: min(100%, 340px); }
  body.cw-homepage .cw-intro .cw-intro-layout { width: calc(100% - 32px); }
  body.cw-homepage .cw-intro .cw-intro-visual { height: 270px; }
  body.cw-homepage .cw-intro .cw-intro-copy { padding: 22px 16px; }
  body.cw-homepage .cw-trending .cw-trending-inner { width: calc(100% - 32px); padding: 0 !important; }
  body.cw-homepage .cw-growth .cw-growth-grid { --growth-panel-height: 390px; }
  body.cw-homepage .cw-growth .cw-growth-calendar { height: auto; }
  body.cw-homepage .cw-reports,
  body.cw-homepage .cw-blogs,
  body.cw-homepage .cw-impact { padding: 28px 0 !important; }
  body.cw-homepage .cw-reports > .container-fluid,
  body.cw-homepage .cw-blogs > .container-fluid,
  body.cw-homepage .cw-impact > .container { width: calc(100% - 32px); }
  body.cw-homepage .cw-reports .report-item { flex-basis: 80%; max-width: 80%; }
  body.cw-homepage .cw-blogs .main-blogs { grid-template-columns: 1fr; gap: 16px; }
  body.cw-homepage .cw-blogs .blog-post-images { aspect-ratio: 1.7; }
  body.cw-homepage .cw-impact .row { gap: 10px; }
  body.cw-homepage .cw-impact .counter-feature-box-1 { height: 165px; }
  body.cw-homepage .cw-impact .counter-box { padding: 13px 8px; }
  body.cw-homepage .cw-impact .count-color { font-size: 25px; }
  body.cw-homepage .cw-impact .count-font { font-size: 14px; }
  body.cw-homepage .cw-impact .icon-img { width: 35px; height: 35px; margin-bottom: 6px; }
  body.cw-homepage .cw-impact .counter-box > span { font-size: 12px; line-height: 1.3; }
  body.cw-homepage .cw-reports .report-box { min-height: 280px; }
  body.cw-homepage .cw-reports .blog-post-images img { height: 160px; }
}

@media (max-width: 380px) {
  body.cw-homepage #home .home-company-card { width: 100%; }
  body.cw-homepage .cw-growth .cw-growth-months { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.cw-homepage .cw-impact .count-color { font-size: 22px; }
}
