/* Compact professional rhythm: smaller display type and less unused space. */
body { line-height: 1.58; }

.hero {
  min-height: 650px;
  height: min(88vh, 820px);
}

.hero-content {
  width: min(720px, 82%);
  padding-top: 35px;
}

h1 {
  font-size: clamp(3rem, 6vw, 5.8rem);
  line-height: .98;
}

.hero-copy { margin: 22px 0 24px; }
.hero-stats { padding: 19px 34px; }
.hero-stats strong { font-size: 1.4rem; }

.section-pad { padding: 76px clamp(24px, 8vw, 130px); }
.section-label { margin-bottom: 24px; }

.intro h2,
.ops-head h2,
.about h2,
.product-copy h2,
.impact h2,
.contact h2,
.gallery-head h2 {
  font-size: clamp(2rem, 3.4vw, 3.4rem);
  line-height: 1.08;
  letter-spacing: -.035em;
}

.intro-grid,
.ops-head,
.about-grid,
.impact,
.contact,
.gallery-head { gap: clamp(38px, 6vw, 90px); }

.value-chain { margin-top: 52px; }
.value-chain article { min-height: 185px; padding-top: 23px; }
.line-icon { margin: 16px 0 5px; }

.product-band { min-height: 570px; }
.product-copy { padding-top: 72px; padding-bottom: 72px; }

.site-grid { margin-top: 40px; }
.site-card { min-height: 285px; padding: 30px; }
.site-card h3 { margin-top: 32px; }

.impact { padding-top: 78px; padding-bottom: 78px; }
.impact-list { margin-top: 30px; }
.impact-list > div { padding: 14px 0; }
.impact blockquote { font-size: clamp(1.35rem, 2vw, 2rem); }

.mission {
  margin-top: 48px;
  padding-top: 27px;
  grid-template-columns: .32fr 1.68fr;
  gap: 28px;
}
.mission p {
  font-size: clamp(1.16rem, 1.65vw, 1.55rem);
  line-height: 1.48;
  max-width: 980px;
}

.operating-model { margin-top: 42px; }
.operating-model article { padding-top: 19px; }

.gallery-grid {
  grid-auto-rows: 290px;
  gap: 14px;
  margin-top: 36px;
}

.contact { padding-top: 68px; padding-bottom: 68px; }
footer { padding-top: 34px; padding-bottom: 34px; }

@media (max-width: 900px) {
  .hero { min-height: 680px; height: auto; }
  .section-pad { padding-top: 64px; padding-bottom: 64px; }
  .mission { grid-template-columns: 1fr; gap: 12px; }
  .gallery-grid { grid-auto-rows: 270px; }
}

@media (max-width: 520px) {
  h1 { font-size: clamp(2.7rem, 14vw, 3.6rem); }
  .hero { min-height: 650px; }
  .section-pad { padding-top: 54px; padding-bottom: 54px; }
  .product-copy, .impact, .contact { padding-top: 54px; padding-bottom: 54px; }
  .gallery-grid { grid-auto-rows: 245px; }
}
