/* Four service pages share the home introduction / project section rhythm.
   Keep this layer scoped: other business pages also use energy-type. */
.energy-home {
  --type-page: 32px;
  --type-section: 32px;
  --type-panel: 20px;
  --type-card: 18px;
  --type-body: 16px;
  --paper: #fafafa;
  --ink: #24292e;
  --muted: #666b70;
}
.energy-home :is(h1,h2) { line-height: 1.45 !important; }
.energy-home :is(h3,.om-feature b,.om-step b) { line-height: 1.5; }
.energy-home :is(p,.om-desc,.hz-desc,.wy-desc,.sol-desc) {
  font-size: var(--type-body) !important;
  line-height: 1.8 !important;
  color: var(--muted);
}
.energy-home .page-lead {
  margin: 18px 0 0;
  font-size: 18px !important;
  line-height: 1.7 !important;
  color: #30343a;
}
.energy-home :is(.om-label,.hz-label,.wy-label,.sol-label) {
  font-size: 13px !important;
  letter-spacing: 1.2px !important;
  line-height: 1.45 !important;
  margin-bottom: 12px;
}
.energy-home :is(.om-hero,.hz-hero,.wy-hero,.sol-hero) {
  grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
  gap: 48px;
  padding: 72px 80px 82px;
  min-height: 0;
}
.energy-home :is(.om-hero__copy,.hz-hero__copy,.wy-hero__copy,.sol-hero__copy) {
  padding: 0;
  min-width: 0;
  max-width: none;
}
.energy-home :is(.om-hero>img,.hz-hero__media,.wy-hero__media,.sol-hero__media) {
  height: 440px;
  min-width: 0;
}
.energy-home :is(.page-more,.hz-cta__btn,.wy-cta__btn) {
  padding: 10px 22px;
  font-size: 14px;
  line-height: 1.65;
  font-weight: 400;
  letter-spacing: 0;
}
.energy-home .page-more { margin-top: 24px; }
.energy-home :is(.hz-hero__meta,.wy-hero__marks) {
  margin-top: 24px;
  padding-top: 20px;
  gap: 22px;
  flex-wrap: wrap;
}
.energy-home :is(.hz-hero__meta b,.wy-hero__mark b) { font-size: 14px; }
.energy-home :is(.om-monitor__visual,.sol-solution-panel,.hz-value-photo-layout,.hz-process-photo-layout) {
  gap: 48px;
  grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
}
.energy-home :is(.sol-scene-grid,.hz-scenes__grid) { gap: 24px; }
.energy-home :is(.sol-scene__img img,.hz-scene__media img,.wy-scene__media img,.om-asset-photo img) { height: 280px; }
.energy-home :is(.sol-scene__body,.hz-scene__copy,.wy-scene__copy,.wy-value-copy) { padding: 22px 24px; }
.energy-home :is(.sol-scene,.hz-scene,.wy-scene,.wy-value__item) {
  border: 1px solid #e2e5e7;
  background: #fff;
  border-radius: 0;
  box-shadow: none;
}
.energy-home :is(.sol-scene__body,.hz-scene__copy,.wy-scene__copy,.wy-value-copy) h3 { margin-bottom: 12px; }
.energy-home :is(.hz-cta,.wy-cta) h2 { font-size: 28px; }
.energy-home .om-matrix__item { grid-template-columns: 100px minmax(0,1fr); }

@media (max-width:1100px) {
  .energy-home :is(.om-hero,.hz-hero,.wy-hero,.sol-hero) { padding-left:40px; padding-right:40px; gap:32px; }
  .energy-home :is(.om-monitor__visual,.sol-solution-panel,.hz-value-photo-layout,.hz-process-photo-layout) { gap:32px; }
  .energy-home :is(.sol-scene__img img,.hz-scene__media img) { height:220px; }
}
@media (max-width:760px) {
  .energy-home { --type-page:28px; --type-section:26px; --type-panel:19px; --type-body:15px; }
  .energy-home :is(.om-hero,.hz-hero,.wy-hero,.sol-hero) { grid-template-columns:minmax(0,1fr); padding:38px 20px 52px; gap:26px; }
  .energy-home :is(.om-hero>img,.hz-hero__media,.wy-hero__media,.sol-hero__media) { height:65vw; min-height:0; max-height:400px; }
  .energy-home :is(.om-monitor__visual,.sol-solution-panel,.hz-value-photo-layout,.hz-process-photo-layout) { grid-template-columns:minmax(0,1fr); gap:26px; }
  .energy-home .page-lead { font-size:17px !important; margin-top:16px; }
  .energy-home :is(.sol-scene__img img,.hz-scene__media img,.wy-scene__media img,.om-asset-photo img) { height:60vw; max-height:360px; }
  .energy-home :is(.hz-cta,.wy-cta) h2 { font-size:26px; }
  .energy-home .om-matrix__item { grid-template-columns:84px minmax(0,1fr); }
}
