/** Layout et primitives éditoriales V2. */
.container {
  width: min(100%, var(--ui-container-max));
  margin-inline: auto;
  padding-inline: var(--ui-container-padding);
}
.section {
  width: 100%;
  padding-block: var(--ui-section-padding-y);
}
.section--dark { color: var(--ui-white); background: var(--ui-bg-darker); }
.section--light { color: var(--ui-text-dark); background: var(--ui-white); }
.section--soft { color: var(--ui-text-dark); background: var(--ui-light-blue); }
.pill {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  width: fit-content;
  margin: 0;
  padding: 7px 13px;
  border: var(--ui-border-width) solid rgba(0,16,46,.10);
  border-radius: var(--ui-radius-pill);
  font-family: var(--ui-font-heading);
  font-size: var(--ui-font-caption);
  font-weight: var(--ui-weight-semibold);
  line-height: 1;
  letter-spacing: var(--ui-letter-label);
  color: var(--ui-text-dark);
  background: rgba(238,243,255,.72);
}
.pill--glass {
  border-color: rgba(255,255,255,.16);
  color: var(--ui-white);
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(var(--ui-blur-sm));
}
.lead {
  margin: 0;
  max-width: var(--ui-measure-lead);
  font-size: var(--ui-font-body-lg);
  line-height: var(--ui-line-body);
}
.text-gradient {
  background: var(--ui-gradient-primary);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 768px) {
  .container { padding-inline: var(--ui-container-padding); }
}
