/* Section 04 art direction only. Theme 1.0 type roles and open feature-list
   architecture remain authoritative; no global selector or new interaction. */
.oc-homepage-section-04.oc-feature-section { min-height: 0; }
.oc-homepage-section-04.oc-feature-section > .oc-section-heading {
  width: min(900px, 100%) !important;
  max-width: 900px !important;
  min-height: 0;
  margin-block: 0 48px !important;
}
.oc-homepage-section-04.oc-feature-section > .oc-section-heading h2 {
  width: 100%;
  max-width: none !important;
  margin: 0 0 20px !important;
  text-wrap: balance;
}
.oc-homepage-section-04 .oc-section-heading p { color: var(--oc-text-primary); }
.oc-homepage-section-04 .oc-feature-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 80px 20px;
  padding-bottom: 0;
}
.oc-homepage-section-04 .oc-feature-grid > .oc-feature-card {
  width: auto;
  min-height: 0;
  margin: 0;
  padding: 0 24px;
  gap: 32px;
  align-items: flex-start;
}
.oc-homepage-section-04 .oc-feature-grid .oc-icon {
  width: 80px;
  height: 80px;
  flex: 0 0 80px;
  background: transparent;
}
.oc-homepage-section-04 .oc-feature-grid .oc-icon img {
  display: block;
  width: 80px;
  height: 80px;
  object-fit: contain;
  filter: none;
}
.oc-homepage-section-04 .oc-feature-body > :where(h3, p) {
  max-width: none !important;
  margin-inline: 0 !important;
}
.oc-homepage-section-04 .oc-feature-copy { margin-bottom: 0 !important; }
@media (max-width: 900px) {
  .oc-homepage-section-04.oc-feature-section > .oc-section-heading {
    width: calc(100% - 30px) !important;
  }
  .oc-homepage-section-04 .oc-feature-grid {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 72px;
  }
  .oc-homepage-section-04 .oc-feature-grid > .oc-feature-card { gap: 28px; }
}
@media (max-width: 500px) {
  .oc-homepage-section-04 .oc-feature-grid { row-gap: 44px; }
  .oc-homepage-section-04 .oc-feature-grid > .oc-feature-card {
    padding-inline: 10px;
    gap: 20px;
  }
}
