.cc-container,
.public-container,
.store-container {
  width: min(100% - clamp(40px, 8vw, 96px), var(--cc-container));
  margin-inline: auto;
}

.cc-container--wide {
  width: min(100% - clamp(40px, 8vw, 96px), var(--cc-container-wide));
  margin-inline: auto;
}

.cc-text-container {
  width: min(100% - 40px, var(--cc-legal-width));
  margin-inline: auto;
}

.cc-section {
  padding-block: clamp(48px, 7vw, 88px);
}

.cc-section--soft {
  background: var(--cc-bg-soft);
}

.cc-section--panel {
  background: var(--cc-panel);
}

.cc-section__head {
  display: grid;
  gap: 12px;
  max-width: 760px;
  margin-block-end: clamp(24px, 4vw, 40px);
}

.cc-section__eyebrow {
  color: var(--cc-green-deep);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0;
}

.cc-section__title {
  margin: 0;
  color: var(--cc-ink);
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.18;
}

.cc-section__body {
  margin: 0;
  color: var(--cc-ink-soft);
  font-size: clamp(16px, 1.6vw, 18px);
  line-height: 1.85;
}

.cc-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
  gap: clamp(16px, 2.4vw, 28px);
}

.cc-grid--compact {
  grid-template-columns: repeat(auto-fit, minmax(min(210px, 100%), 1fr));
}

.cc-split {
  display: grid;
  grid-template-columns: minmax(280px, 0.9fr) minmax(360px, 1.1fr);
  gap: clamp(24px, 5vw, 64px);
  align-items: center;
}

.cc-stack {
  display: grid;
  gap: 18px;
}

.cc-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.cc-gap-top {
  margin-top: 18px;
}

.cc-main,
.store-main {
  min-height: 70vh;
}

@media (max-width: 900px) {
  .cc-container,
  .public-container,
  .store-container,
  .cc-container--wide {
    width: min(100% - 32px, var(--cc-container));
  }

  .cc-split {
    grid-template-columns: 1fr;
  }
}
