/* iron.cat · sistema editorial compartido
   Roles tipográficos, ritmo y superficies que Brand Kit y Homepage V3
   consumen directamente. Las hojas de página solo deciden composición. */

.ic-page {
  background: var(--ic-bg-page);
  color: var(--ic-text-primary);
  font-family: var(--ic-font-body);
  text-rendering: optimizeLegibility;
}

.ic-inverse {
  --ic-heading-color: var(--ic-text-inverse);
  --ic-lede-color: rgb(var(--ic-cream-dim-rgb) / 0.84);
  --ic-kicker-color: rgb(var(--ic-cream-dim-rgb) / 0.78);
  color: var(--ic-text-inverse);
}

:is(.ic-container, .ds-container) {
  position: relative;
  width: min(100%, var(--ic-container-wide));
  margin-inline: auto;
}

:is(.ic-display, .display) {
  margin: 0;
  color: inherit;
  font-family: var(--ic-font-display);
  font-weight: 400;
  letter-spacing: -0.025em;
}

.ic-kicker,
.ic-eyebrow {
  margin: 0;
  color: var(--ic-kicker-color, currentColor);
  font-family: var(--ic-font-mono);
  font-size: var(--ic-type-caption-size);
  font-weight: 600;
  letter-spacing: 0.075em;
  line-height: 1.3;
  text-transform: uppercase;
}

.ic-eyebrow--slash::before {
  margin-right: 0.7em;
  color: var(--ic-color-mustard);
  content: "//";
}

.ic-heading {
  margin: 0;
  color: var(--ic-heading-color, var(--ic-text-primary));
  font-family: var(--ic-font-display);
  font-weight: 400;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.ic-heading--hero {
  font-size: var(--ic-type-display-1-size);
  line-height: var(--ic-type-display-1-line);
}

.ic-heading--section {
  font-size: var(--ic-type-h2-size);
  line-height: var(--ic-type-h2-line);
}

.ic-heading--feature {
  font-size: var(--ic-type-h3-size);
  line-height: var(--ic-type-h3-line);
}

.ic-heading--chapter {
  font-size: var(--ic-type-chapter-size);
  line-height: var(--ic-type-chapter-line);
}

.ic-lede {
  margin: 0;
  max-width: var(--ic-lede-max, 42rem);
  color: var(--ic-lede-color, var(--ic-text-body));
  font-family: var(--ic-font-body);
  font-size: var(--ic-type-body-lg-size);
  line-height: var(--ic-type-body-lg-line);
  text-wrap: pretty;
}

.ic-lede--chapter {
  --ic-lede-max: 27.875rem;
  font-size: var(--ic-type-body-size);
  line-height: 1.4;
}

.ic-section-head {
  display: grid;
  gap: var(--ic-section-head-gap, var(--ic-space-5));
  align-content: start;
}

.ic-card {
  border: 1px solid var(--ic-border-default);
  border-radius: var(--ic-radius-card);
  background: var(--ic-surface-default);
  box-shadow: var(--ic-shadow-card);
}

.ic-editorial-frame {
  border-radius: var(--ic-radius-editorial-frame);
}

.ic-product-frame {
  border-radius: var(--ic-radius-phone);
  overflow: clip;
}

@media (max-width: 760px) {
  .ic-heading--hero {
    font-size: var(--ic-type-display-1-mobile-size);
  }

  .ic-heading--section {
    font-size: var(--ic-type-h2-mobile-size);
  }

  .ic-heading--feature {
    font-size: var(--ic-type-h3-mobile-size);
  }

  .ic-heading--chapter {
    font-size: var(--ic-type-chapter-mobile-size);
    line-height: var(--ic-type-chapter-mobile-line);
  }

  .ic-lede {
    font-size: var(--ic-type-body-size);
  }
}
