/* Case study single pages (children of /case-studies/) — Minimal Warm */

/* Long model numbers / URLs must not push the column sideways. Applies to the
   standalone page and to the listing's detail pane, which reuses this markup. */
.sind-case-page, .sind-cases-detail { overflow-wrap: break-word; }

.sind-case-hero {
  background: linear-gradient(135deg, #10222e 0%, #17394d 60%, #0e5f86 100%);
  color: #fff;
  padding: 84px 0 72px;
}
.sind-case-hero-inner { max-width: 1180px; margin: 0 auto; padding: 0 32px; }
.sind-case-industry {
  display: inline-block;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #7fd4f5;
  margin-bottom: 16px;
}
.sind-case-hero h1 { max-width: 820px; }
.sind-case-ref { margin-top: 18px; font-size: 13.5px; color: rgba(255,255,255,.62); }

.sind-case-kpi-bar {
  max-width: 1180px;
  margin: -34px auto 0;
  padding: 0 32px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  position: relative;
  z-index: 2;
}
.sind-kpi {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-md);
  padding: var(--pad-m);
  text-align: center;
  /* Long unbreakable KPI values ("CN¥16,000,000", "26,670,000 kW") must be able
     to shrink the grid item instead of pushing the page sideways on mobile. */
  min-width: 0;
}
.sind-kpi .kpi-num {
  display: block;
  font-size: clamp(19px, 2.4vw, 30px);
  font-weight: 800;
  color: var(--blue);
  letter-spacing: -.02em;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.sind-kpi .kpi-label {
  display: block;
  margin-top: 6px;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--mut);
}

.sind-case-section { max-width: 920px; margin: 0 auto; padding: 56px 32px 56px; }
.sind-case-section > h2 { margin-bottom: 22px; }
.sind-case-section h3 { margin: 26px 0 12px; }
.sind-case-content p { margin-bottom: 14px; color: #33404c; }
.sind-case-content ul { margin: 0 0 16px 22px; color: #33404c; }
.sind-case-content ol { margin: 0 0 16px 0; padding-left: 1.5em; }
.sind-case-content li { margin-bottom: 8px; }
.sind-case-content em { color: var(--mut); font-size: 14px; }
.sind-case-cta { max-width: 920px; margin: 0 auto; padding: 0 32px 40px; }
.sind-case-cta h2 { max-width: 620px; }
.sind-case-related { max-width: 920px; margin: 0 auto; padding: 10px 32px 0; font-size: 13.5px; color: var(--mut); }
.sind-case-related a { color: var(--blue); text-decoration: none; font-weight: 600; }
.sind-case-related a:hover { color: var(--blue-dark); text-decoration: underline; }
.sind-case-note { max-width: 920px; margin: 0 auto; padding: 22px 32px 46px; }
.sind-case-note p { margin: 0; font-size: 13px; color: var(--mut); }
/* Insight article footer: space the published/updated line below the author box. */
.sind-case-note .sind-insight-date { margin-top: 16px; }
/* End-of-article footnote block (case pages): groups the related-equipment
   line and the figures disclaimer under one hairline so they read as a
   deliberate closing unit aligned to the 856px text column, instead of two
   loose lines floating in front of the footer. */
.sind-case-foot {
  max-width: 856px;
  margin: 0 auto;
  padding: 26px 0 56px;
  border-top: 1px solid var(--line);
}
.sind-case-foot .sind-case-related { max-width: none; margin: 0; padding: 0; }
.sind-case-disclaimer { margin: 0; padding: 10px 0 0; font-size: 13px; color: var(--mut); }

/* Challenge / solution / feedback grids */
.sind-challenge-grid,
.sind-solution-grid,
.sind-feedback-grid,
.sind-analysis-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 22px 0 8px;
}
.sind-solution-grid { grid-template-columns: repeat(3, 1fr); }
.sind-challenge-item,
.sind-solution-card,
.sind-feedback-item,
.sind-analysis-card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 20px;
}
.sind-challenge-item h4,
.sind-solution-card h4,
.sind-feedback-item h4,
.sind-analysis-card h4 {
  font-size: 15px;
  margin-bottom: 8px;
  color: var(--ink);
}
.sind-challenge-item p,
.sind-solution-card p,
.sind-feedback-item p,
.sind-analysis-card p { font-size: 14px; color: var(--mut); margin: 0; }

/* Equipment blocks */
.sind-equipment-block { margin: 30px 0; }
.sind-equipment-row {
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: 28px;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 24px;
  margin-bottom: 20px;
}
.sind-equipment-img img { border-radius: 10px; width: 100%; }
.sind-equipment-info h3 { margin: 4px 0 14px; }
.sind-feature { margin-bottom: 14px; }
.sind-feature h4 { font-size: 14.5px; margin-bottom: 4px; color: var(--blue-dark); }
.sind-feature p { font-size: 14px; color: var(--mut); margin: 0; }

/* Benefit blocks */
.sind-benefit-block {
  background: var(--blue-soft);
  border-left: 3px solid var(--blue);
  border-radius: 0 10px 10px 0;
  padding: 18px 20px;
  margin-bottom: 16px;
}
.sind-benefit-block h3 { margin: 0 0 8px; font-size: 16px; }
.sind-benefit-block p, .sind-benefit-block ul { margin: 0; }

/* Before / after spec compare */
.sind-spec-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin: 24px 0;
}
.sind-spec-col {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 20px;
}
.sind-spec-col.before { border-top: 3px solid #c9cfd6; }
.sind-spec-col.after { border-top: 3px solid var(--blue); }
.sind-spec-col h3 { margin: 0 0 12px; font-size: 15.5px; }
.sind-spec-col table { width: 100%; border-collapse: collapse; }
.sind-spec-col td {
  padding: 8px 4px;
  font-size: 14px;
  border-bottom: 1px solid var(--line);
  color: #33404c;
  overflow-wrap: anywhere;
}
.sind-spec-col td:first-child { color: var(--mut); width: 55%; }
.sind-spec-col tr:last-child td { border-bottom: none; }
.sind-reading {
  margin-top: 12px;
  font-size: 13px;
  color: var(--mut);
  background: var(--bg);
  border-radius: 8px;
  padding: 10px 12px;
}

/* Data tables */
.sind-data-table { width: 100%; border-collapse: collapse; margin: 16px 0; background: var(--card); }
.sind-data-table th,
.sind-data-table td {
  padding: 10px 12px;
  font-size: 13.5px;
  text-align: left;
  border: 1px solid var(--line);
  color: #33404c;
  /* anywhere (not break-word) so the grid can shrink columns instead of
     overflowing the container. */
  overflow-wrap: anywhere;
}
.sind-data-table thead th {
  background: #10222e;
  color: #fff;
  font-size: 12.5px;
  letter-spacing: .05em;
  text-transform: uppercase;
  border-color: #10222e;
}
.sind-data-table tr.highlight td { background: var(--blue-soft); font-weight: 700; }

/* Test / calculation blocks */
.sind-test-block,
.sind-calculation-block {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 18px 20px;
  margin-bottom: 16px;
}
.sind-test-block h3,
.sind-calculation-block h3 { margin: 0 0 10px; font-size: 15px; }
.sind-test-block ul { margin: 0 0 0 20px; }
.sind-formula {
  font-size: 16px;
  font-weight: 600;
  background: var(--bg);
  border-radius: 8px;
  padding: 12px 14px;
  margin: 0;
}
.sind-assumption { font-size: 13px; color: var(--mut); margin-top: 8px; }

/* Process steps */
.sind-process-steps { margin: 20px 0; }
.sind-step {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: var(--pad-s);
  margin-bottom: 10px;
}
.sind-step .step-num {
  flex: 0 0 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--blue);
  color: #fff;
  font-weight: 800;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sind-step h4 { font-size: 14.5px; margin-bottom: 2px; }
.sind-step p { font-size: 13.5px; color: var(--mut); margin: 0; }

/* Images */
.sind-case-image-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin: 22px 0 8px;
}
.sind-case-image-grid img { border-radius: 10px; width: 100%; }
.sind-case-image-single { margin: 24px 0 8px; }
.sind-case-image-single img { border-radius: 10px; width: 100%; }

/* Responsive */
@media (max-width: 991px) {
  .sind-case-kpi-bar { grid-template-columns: repeat(2, 1fr); }
  .sind-equipment-row { grid-template-columns: 1fr; }
  .sind-challenge-grid, .sind-solution-grid, .sind-feedback-grid, .sind-analysis-cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .sind-case-hero { padding: 48px 0 44px; }
  .sind-case-hero-inner { padding: 0 20px; }
  .sind-case-kpi-bar { grid-template-columns: 1fr 1fr; gap: 10px; padding: 0 20px; margin-top: -26px; }
  .sind-kpi { padding: 16px; }
  .sind-case-section { padding: 40px 20px 40px; }
  .sind-case-cta { padding: 0 20px 32px; }
  /* R10 E8 (2026-10-06): keep the closing rows on the 20px text column — the
     base 32px padding left these lines indented 12px past the body copy. */
  .sind-case-related { padding: 10px 20px 0; }
  .sind-case-note { padding: 22px 20px 40px; }
  .sind-spec-compare { grid-template-columns: 1fr; }
  .sind-challenge-grid, .sind-solution-grid, .sind-feedback-grid, .sind-analysis-cards { grid-template-columns: 1fr; }
  .sind-case-image-grid { grid-template-columns: 1fr; }
  .sind-data-table th, .sind-data-table td { padding: 12px; font-size: 12px; }
  .sind-step { padding: 16px; gap: 12px; }
}
/* Keep the footnote hairline aligned to the text column as the page narrows. */
@media (max-width: 919px) {
  .sind-case-foot { max-width: none; margin: 0 32px; }
}
@media (max-width: 640px) {
  .sind-case-foot { margin: 0 20px; padding-bottom: 40px; }
}
