.inner {
  width: min(calc(100% - 80px), var(--container));
  margin: 0 auto;
}

.section-space {
  padding: 120px 0;
}

.section-kicker {
  display: inline-block;
  margin-bottom: 16px;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--color-point);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.section-title {
  font-size: clamp(2rem, 2.8vw, 3.5rem);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.04em;
}

.section-title.light,
.section-desc.light {
  color: #ffffff;
}

.section-desc,
.section-sidecopy {
  max-width: 480px;
  font-size: 1.05rem;
  color: var(--color-sub);
}

.section-head {
  margin-bottom: 48px;
}

.section-head.between {
  display: flex;
  justify-content: space-between;
  gap: 32px;
}

.section-head.align-end {
  align-items: flex-end;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 0 26px;
  border-radius: 999px;
  font-weight: 700;
  transition: var(--transition);
}

.btn.primary {
  color: #071018;
  background: #ffffff;
}

.btn.ghost,
.btn.outline-light {
  color: #ffffff;
  border: 1px solid rgba(255,255,255,0.35);
  background: transparent;
}

.text-link {
  position: relative;
  padding-right: 18px;
  font-weight: 700;
}

.text-link::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  width: 8px;
  height: 8px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}

.soft-section { background: var(--color-soft); }
.dark-section { background: var(--color-dark); }

@media all and (max-width: 1439px) {
  .section-space { padding: 100px 0; }
}

@media all and (max-width: 1279px) {
  .inner { width: min(calc(100% - 56px), 100%); }
  .section-space { padding: 88px 0; }
  .section-head.between { flex-direction: column; align-items: flex-start; }
}

@media all and (max-width: 767px) {
  .inner { width: calc(100% - 32px); }
  .section-space { padding: 72px 0; }
  .section-head { margin-bottom: 36px; }
  .section-desc, .section-sidecopy { font-size: 0.98rem; }
  .btn { min-height: 52px; padding: 0 22px; }
}

@media all and (max-width: 320px) {
  .inner { width: calc(100% - 24px); }
}
