

.c-step h3 { font-size: var(--fs-sm); margin-bottom: 4px; }
@media (max-width: 860px) {
  .c-step h3 { grid-column: 2; }
}

.promise-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border: 1px solid var(--c-line);
  border-radius: var(--r-3);
  background: var(--c-surface);
  overflow: hidden;
}
.promise-row > div {
  padding: var(--sp-3);
  min-width: 0;
}
.promise-row > div + div {
  border-left: 1px solid var(--c-line-soft);
}
.promise-row h2 {
  font-size: var(--fs-md);
  margin: 12px 0 6px;
}
.promise-row p {
  font-size: var(--fs-sm);
  color: var(--c-mute);
}
@media (max-width: 860px) {
  .promise-row { grid-template-columns: 1fr; }
  .promise-row > div + div {
    border-left: 0;
    border-top: 1px solid var(--c-line-soft);
  }
}

.ci-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: var(--sp-4);
  align-items: center;
}
.ci-split > * { min-width: 0; }
@media (max-width: 960px) {
  .ci-split { grid-template-columns: minmax(0, 1fr); }
}

.billing-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--sp-3);
}
.billing-strip > div {
  min-width: 0;
  padding-left: var(--sp-2);
  border-left: 1px solid var(--c-line);
}
.billing-strip .num {
  display: block;
  font-size: var(--fs-lg);
  font-weight: 600;
  color: var(--c-primary-deep);
  line-height: 1.3;
}
.billing-strip span:last-child {
  font-size: var(--fs-xs);
  color: var(--c-mute);
}
@media (max-width: 860px) {
  .billing-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.c-term__bar { min-width: 0; }
.c-term__title { min-width: 0; flex: 1 1 auto; }
.c-term, .c-term__body { max-width: 100%; }
.c-term__body pre { max-width: 100%; }

.c-sla__strip { min-width: 0; }
@media (max-width: 440px) {
  .c-sla__strip { gap: 1px; }
  .c-sla__strip i { min-width: 1px; }
}

@media (max-width: 560px) {
  .c-matrix { min-width: 0; table-layout: fixed; }
  .c-matrix th, .c-matrix td { padding: 8px 4px; }
  .c-matrix thead th {
    font-size: 9px;
    letter-spacing: 0;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  .c-matrix__model { font-size: 9px; overflow-wrap: anywhere; }
  .c-matrix th:first-child, .c-matrix td:first-child { position: static; }
}

.plans-cta {
  display: flex;
  justify-content: center;
  margin-top: var(--sp-4);
}
